Messages in this thread |  | | Date | Thu, 12 Oct 2000 23:59:51 +0200 | From | "J . A . Magallon" <> | Subject | Kernel 2.2.18 and GCC versions |
| |
Hi, everybody.
I have a little problem when compiling new kernels. I run Mandrake 7.1 with many many updates (its almost 7.2beta). Kernel 2.2.18-pre15 compiles fine under gcc-2.95.2. It is just plain 2.2.17 with Alan's patch to 18-pre15.
I downloaded the gcc-2.96 rpms from rufus, and the compilation process breaks at: werewolf:/usr/src/linux# make bzImage .. make[2]: Entering directory `/usr/src/linux-2.2.18-pre15/arch/i386/lib' cc -D__KERNEL__ -I/usr/src/linux/include -D__ASSEMBLY__ -D__SMP__ -traditional -c checksum.S -o checksum.o checksum.S:231: badly punctuated parameter list in #define checksum.S:237: badly punctuated parameter list in #define make[2]: *** [checksum.o] Echecksum.Srror 1 make[2]: Leaving directory `/usr/src/linux-2.2.18-pre15/arch/i386/lib' make[1]: *** [first_rule] Error 2 make[1]: Leaving directory `/usr/src/linux-2.2.18-pre15/arch/i386/lib' make: *** [_dir_arch/i386/lib] Error 2
The actual code in checksum.S that breaks 2.96 is:
#define SRC(y...) \ 9999: y ; \ .section __ex_table, "a" ; \ .long 9999b, 6001f ; \ .previous
#define DST(y...) \ 9999: y ; \ .section __ex_table, "a" ; \ .long 9999b, 6002f ; \ .previous
I suppose the var-args macro syntax is less permissive in 2.96...Anyone has any idea to make this code 2.96-compatible ? (yes, I know 2.96 is not supported, but if its a silly change...). Or it should work and is a 2.96 cpp bug ?
Then, because this versions of gcc are "not officially supposed to work", got the egcs rpms (version 1.1.2, only egcs and egcs-cpp). But then kgcc stops at: werewolf:/usr/src/linux# make bzImage .. make[1]: Entering directory `/usr/src/linux-2.2.18-pre15/arch/i386/kernel' /usr/bin/kgcc -D__KERNEL__ -I/usr/src/linux/include -D__ASSEMBLY__ -D__SMP__ -traditional -c trampoline.S -o trampoline.o /tmp/ccy1Wjci.s: Assembler messages: /tmp/ccy1Wjci.s:884: Error: can't handle non absolute segment in `ljmp' make[1]: *** [trampoline.o] Error 1 make[1]: Leaving directory `/usr/src/linux-2.2.18-pre15/arch/i386/kernel' make: *** [_dir_arch/i386/kernel] Error 2
TIA, and sorry for the 'long long' message...
-- Juan Antonio Magallon Lacarta mailto:jamagallon@able.es
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |