On Thu, 2007-07-26 at 16:07 -0700, Linus Torvalds wrote:Never mind - I was compiling using an account which was not in use for long and I had totally forgotten that llvm gcc comes before the normal gcc version in the $PATH on that account. Correcting the path fixes the problem.On Thu, 26 Jul 2007, Parag Warudkar wrote:
arch/i386/kernel/paravirt.o: In function `init_IRQ':Ok, it seems that some versions of gcc/binutils have problems with the games that paravirt introduced with the "weak" thing.
(.text+0xb20): multiple definition of `init_IRQ'
arch/i386/kernel/i8259.o:(.init.text+0x30): first defined here
ld: Warning: size of symbol `init_IRQ' changed from 66 in
arch/i386/kernel/i8259.o to 14 in arch/i386/kernel/paravirt.o
make[1]: *** [arch/i386/kernel/built-in.o] Error 1
make: *** [arch/i386/kernel] Error 2
I'm not entirely surprised. That stuff was trying to be too clever by half.
Rusty?
Sure, but this was in .21 and .22. This config is from 2.6.21.5, in
fact.
Parag, does your arch/i386/kernel/i8259.c look like this around line
384? If not, perhaps it's a mis-merge for you? /* Overridden in paravirt.c */
void init_IRQ(void) __attribute__((weak, alias("native_init_IRQ")));
void __init native_init_IRQ(void)
{