Bug#2073: assembler problems in asm/io.h during build of kernel
I saw this on comp.os.linux.development.system, but I haven't tried if it still compiles the kernel with gcc 2.7.x... From: Russell Johnston [EMAIL PROTECTED] Newsgroups: comp.os.linux.development.system Subject: Re: gcc 2.7.2 and kernel 1.2.13 This patch allows compilation of kernel 1.2.13 with gcc 2.7.0 Russell Johnston [EMAIL PROTECTED] --- ./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 Well, there is evidently more to it than that since there are all sorts of missing symbols when you go to link. BTW, I made a simple addition to the patch so that it will compile under elf or aout by testing for the define __ELF__. I'll look around a bit more for where these functions might be hiding. Thanks for your help. Darren [EMAIL PROTECTED] http://www.daft.com/~torin/[EMAIL PROTECTED] [EMAIL PROTECTED] Darren Stalder/2608 Second Ave, @282/Seattle, WA 98121-1212/USA/+1-800-921-4996 @ Do you have your clothes on? I probably don't. Take yours off. Feel better. @ @ Sysadmin, webweaver, postmaster for hire. C and Perl programmer and tutor. @
Bug#2073: assembler problems in asm/io.h during build of kernel
[EMAIL PROTECTED] (Bruce Perens), in a magnificent manifestation of deity, wrote: There was a change in the way that GCC handles embedded assembler that made new compilers incompatible with the old kernels. Ugh. The io.h file in the new kernel is similar enough to the old one that it may be a drop-in replacement. I don't think anyone has tried this yet. Yeah, I forgot that you have to compile a 1.2 kernel with a.out. I didn't know the reason though. BTW, there is supposedly a patch from the GCC list by H.J.Lu that allows a 1.2 kernel to be compiled in ELF. Do you (or anyone else) know where I can find this? I have looked in many ftp sites, web pages and hypermail archives for this, but I haven't found it... Darren [EMAIL PROTECTED] http://www.daft.com/~torin/[EMAIL PROTECTED] [EMAIL PROTECTED] Darren Stalder/2608 Second Ave, @282/Seattle, WA 98121-1212/USA/+1-800-921-4996 @ Do you have your clothes on? I probably don't. Take yours off. Feel better. @ @ Sysadmin, webweaver, postmaster for hire. C and Perl programmer and tutor. @
Bug#2073: assembler problems in asm/io.h during build of kernel
Package: source Version: 1.2.13-7 Hmmm. I was fooling around with dpkg and source/includes for 1.2.13-7 and I came across the following. Since I haven't touched assembler for about 10 years, I don't know the problem. This was after make config; make dep; make clean. I can include the .config file if it'll help. I'm off to fetch a stock kernel now... Darren Script started on Sat Dec 30 01:23:24 1995 {0}[0]/usr/src/linux-1.2.13 perv# make rm -f include/linux/version.h gcc -D__KERNEL__ -I/usr/src/linux-1.2.13/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe -m486 -c -o init/main.o init/main.c /usr/src/linux-1.2.13/include/asm/io.h: In function `copro_timeout': /usr/src/linux-1.2.13/include/asm/io.h:82: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h:82: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h:82: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h:82: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h: In function `check_fpu': /usr/src/linux-1.2.13/include/asm/io.h:78: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h:82: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h:78: inconsistent operand constraints in an `asm' /usr/src/linux-1.2.13/include/asm/io.h:82: inconsistent operand constraints in an `asm' make: *** [init/main.o] Error 1 {0}[2]/usr/src/linux-1.2.13 perv# gcc -v Reading specs from /usr/lib/gcc-lib/i486-linux/2.7.2/specs gcc version 2.7.2 {0}[0]/usr/src/linux-1.2.13 perv# as --version GNU assembler version 2.6 (i486-linux), using BFD version 2.6.0.2 {0}[0]/usr/src/linux-1.2.13 perv# uname -a Linux perv 1.2.13 #11 Sat Dec 23 17:42:15 PST 1995 i486 {0}[0]/usr/src/linux-1.2.13 perv# dpkg -l source binutils Desired=Unknown/Install/Remove/Purge | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||/ Name Version Rev Description +++--=--=== ii source 1.2.13 7Linux kernel source. ii binutils 2.6 2The GNU assembler and binary utilities (ELF ver {0}[0]/usr/src/linux-1.2.13 perv# exit Script done on Sat Dec 30 01:25:11 1995 The offending lines in asm/io.h are: 78: __IN(b,b,0 (0)) 82: __OUT(b,b,char) Darren [EMAIL PROTECTED] http://www.daft.com/~torin/[EMAIL PROTECTED] [EMAIL PROTECTED] Darren Stalder/2608 Second Ave, @282/Seattle, WA 98121-1212/USA/+1-800-921-4996 @ Do you have your clothes on? I probably don't. Take yours off. Feel better. @ @ Sysadmin, webweaver, postmaster for hire. C and Perl programmer and tutor. @
Bug#2073: assembler problems in asm/io.h during build of kernel
There was a change in the way that GCC handles embedded assembler that made new compilers incompatible with the old kernels. Ugh. The io.h file in the new kernel is similar enough to the old one that it may be a drop-in replacement. I don't think anyone has tried this yet. Thanks Bruce -- Bruce Perens [EMAIL PROTECTED] Pixar Animation Studios