Problems with allyesconfig kernel build

Segher Boessenkool segher at kernel.crashing.org
Tue Oct 23 19:09:04 EST 2007


> This was first noted with the -mm tree, but has now migrated into 
> Linus'
> tree.  An allyesconfig build dies in the link stage like this:
>
> /usr/bin/ld: arch/powerpc/kernel/head_64.o(.text+0x80c8): sibling call 
> optimization to `.text.init.refok' does not allow automatic multiple 
> TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or 
> make `.text.init.refok' extern
> /usr/bin/ld: arch/powerpc/kernel/head_64.o(.text+0x8160): sibling call 
> optimization to `.text.init.refok' does not allow automatic multiple 
> TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or 
> make `.text.init.refok' extern
> /usr/bin/ld: arch/powerpc/kernel/head_64.o(.text+0x81c4): sibling call 
> optimization to `.text.init.refok' does not allow automatic multiple 
> TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or 
> make `.text.init.refok' extern
> /usr/bin/ld: final link failed: Bad value

I just tried, and it works fine for me.

> Intuiting the obvious, I changed all the _INIT_STATIC and _INIT_GLOBAL
> uses in head_64.S back to _STATIC and _GLOBAL (which just moves the 
> code
> from .text.init.refok to .text).  Now the linker segfaults instead.  
> :-)

Tried that, too, and no segfault, everything happy.

> $ ld --version
> GNU ld (GNU Binutils for Debian) 2.18

I'm using CVS HEAD of binutils.  Could you try that, with the same
GCC version you are currently using?  Just to narrow things down...


Segher




More information about the Linuxppc-dev mailing list