gcc-2.96 is not recommended for use, even by the people at gcc. 2.95.2 is the latest stable compiler.... Regards, On Thu, 12 Oct 2000, you wrote: > > Hi, everybody. > > I have a little problem when compiling new kernels. > 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... > Then, because this versions of gcc are "not officially supposed to work", > got the egcs rpms (only egcs and egcs-cpp; BTW, kgcc didn't work, > cpp was named 'cpp' instead of 'cpp0' in > /usr/lib/gcc-lib/i586-mandrake-linux/egcs-2.91.66, > and -traditional flag looked for tradcpp0, which I symlinked to cpp0). > 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... > > (I will post this also in lkml...) ---------------------------------------- Content-Type: text/plain; name="message.footer" Content-Transfer-Encoding: 8bit Content-Description: ----------------------------------------
Keep in touch with http://mandrakeforum.com: Subscribe the "[EMAIL PROTECTED]" mailing list.