[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: compiling kernel error



On Wed, 14 Feb 1996 wendal@onyx.southwind.net wrote:

> I have applied the patch below and still am unable to compile the 
> kernel-1.2.13. Let me know what kind of luck you have had.

It worked great for me.  Perhaps you didn't install the elf patch
also.  Get the sources for 1.2.13.  Install the patch
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/linux-1.2.11.elf.diff.gz
and the patch at then end of this email.

When you install the first patch from tsx, you'll get many messages of
the form, 'previously applied patch?  Assume [-R]?' and 'Apply
anyway?'  Say no to all of them.  Some of the patches in the elf diff
made their way into 1.2.13; the rest are inconsequential.

Finally compile it with an elf GCC.  You'll need the patch at the end
of this email to compile it with gcc 2.7.2.

> The upside kernel 1.3.57 (maybe 58 or 59) is now packaged and think it will 
> the kernel in the Debian-1.1 release. 

I've just been grabbing the kernel sources from sunsite and compiling
them myself.  The only debianization necessary, afaik, is:

--- ./linux/Rules.make.orig     Tue Feb 13 23:28:14 1996
+++ ./linux/Rules.make  Wed Feb 14 14:15:54 1996
@@ -145,10 +145,11 @@
 ifneq "$(strip $(SYMTAB_OBJS))" ""
 
 MODINCL = $(TOPDIR)/include/linux/modules
+GENKSYMS = /usr/bin/genksyms
 
 $(MODINCL)/%.ver: %.c
-       @if [ ! -x /sbin/genksyms ]; then echo "Please read: README.modules"; fi
-       $(CC) $(CFLAGS) -E -D__GENKSYMS__ $< | /sbin/genksyms -w $(MODINCL)
+       @if [ ! -x $(GENKSYMS)]; then echo "Please read: README.modules"; fi
+       $(CC) $(CFLAGS) -E -D__GENKSYMS__ $< | $(GENKSYMS) -w $(MODINCL)
 
 $(SYMTAB_OBJS:.o=.ver): $(TOPDIR)/include/linux/autoconf.h
 
Here's the patch so you can compile under gcc 2.7.2.  If you're using
2.7.0, you don't have to bother.

--- ./linux/include/asm-i386/io.h-      Mon Aug 15 00:56:19 1994
+++ ./linux/include/asm-i386/io.h       Wed Nov 15 23:04:25 1995
@@ -49,9 +49,9 @@

 #define __OUT(s,s1,x) \
 __OUT1(s,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); } \
-__OUT1(s##c,x) __OUT2(s,s1,"") : : "a" (value), "i" (port)); } \
+__OUT1(s##c,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); } \
 __OUT1(s##_p,x) __OUT2(s,s1,"w") : : "a" (value), "d" (port)); SLOW_DOWN_IO; } \
-__OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "i" (port)); SLOW_DOWN_IO; }
+__OUT1(s##c_p,x) __OUT2(s,s1,"") : : "a" (value), "id" (port)); SLOW_DOWN_IO; }

 #define __IN1(s) \
 extern inline unsigned int __in##s(unsigned short port) { unsigned int _v;
@@ -61,9 +61,9 @@

 #define __IN(s,s1,i...) \
 __IN1(s) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); return _v; } \
-__IN1(s##c) __IN2(s,s1,"") : "=a" (_v) : "i" (port) ,##i ); return _v; } \
+__IN1(s##c) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); return _v; } \
 __IN1(s##_p) __IN2(s,s1,"w") : "=a" (_v) : "d" (port) ,##i ); SLOW_DOWN_IO; return _v; } \
-__IN1(s##c_p) __IN2(s,s1,"") : "=a" (_v) : "i" (port) ,##i ); SLOW_DOWN_IO; return _v; }
+__IN1(s##c_p) __IN2(s,s1,"") : "=a" (_v) : "id" (port) ,##i ); SLOW_DOWN_IO; return _v; }

 #define __INS(s) \
 extern inline void ins##s(unsigned short port, void * addr, unsigned long count) \

Good luck!

Guy


Reply to: