On Tue, Jul 15, 2008 at 04:47:47PM +0300, Adrian Bunk wrote: > On Tue, Jul 15, 2008 at 06:20:05AM -0700, H.J. Lu wrote: > > On Tue, Jul 15, 2008 at 03:13:27PM +0300, Adrian Bunk wrote: > > > Toolchain: > > > - gcc 4.3.1 > > > - binutils 2.18.50.0.7 and 2.18.50.0.8 > > > - configured for frv-linux > > > - kernel 2.6.26 > > > > > > Builds fine when using binutils 2.18.50.0.7, > > > but fails as follows with binutils 2.18.50.0.8: > > > > > > <-- snip --> > > > > > > ... > > > HOSTCC scripts/kallsyms > > > CC init/main.o > > > CHK include/linux/compile.h > > > UPD include/linux/compile.h > > > CC init/version.o > > > CC init/do_mounts.o > > > LD init/mounts.o > > > CC init/noinitramfs.o > > > LD init/built-in.o > > > frv-linux-ld: init/mounts.o: compiled with -fpic and linked with modules that use non-pic relocations > > > frv-linux-ld: failed to merge target specific data of file init/mounts.o > > > make[2]: *** [init/built-in.o] Error 1 > > > > > > <-- snip --> > > > > > > Complete verbose log below. > > > > > > Any hints what's going wrong? > > > > > > cu > > > Adrian > > > > > > > > > > ... > > > > > frv-linux-ld -r -o init/built-in.o init/main.o init/version.o init/mounts.o init/noinitramfs.o > > > frv-linux-ld: init/mounts.o: compiled with -fpic and linked with modules that use non-pic relocations > > > frv-linux-ld: failed to merge target specific data of file init/mounts.o > > > make[1]: *** [init/built-in.o] Error 1 > > > make: *** [init] Error 2 > > > > This regression was introduced between 2008-05-02 10:10am and > > 2008-07-09 5:45pm PDT. Does ld from binutils 2.18.50.0.7 work > > on the same init/main.o init/version.o init/mounts.o > > init/noinitramfs.o? If yes, please open a bug report at > > > > http://www.sourceware.org/bugzilla/ > > No, it does not work with these .o files. > > > with those .o files. If not, please find out why. > > Tried it the other way round: > - compiled with 2.18.50.0.7. > - then changed binutils to 2.18.50.0.8 > > Works: > frv-linux-ld -r -o init/built-in.o init/main.o init/version.o init/mounts.o init/noinitramfs.o > > Fails: > frv-linux-ld -r -o init/mounts.o init/do_mounts.o > frv-linux-ld -r -o init/built-in.o init/main.o init/version.o init/mounts.o init/noinitramfs.o > > > I did an "frv-linux-objdump -Dx" on the init/mounts.o files generated > with both binutils versions, and the diff is: > > > --- working 2008-07-15 16:34:49.000000000 +0300 > +++ broken 2008-07-15 16:34:40.000000000 +0300 > architecture: fr450, flags 0x00000011: > HAS_RELOC, HAS_SYMS > start address 0x00000000 > -private flags = 0x800020d: -mcpu=fr450 -mgpr-32 -msoft-float non-pic relocations > +private flags = 0x800030d: -mcpu=fr450 -mgpr-32 -msoft-float -fpic non-pic relocations > Are you saying "ld -r init/do_mounts.o" changed private flags? If yes, please open a bug report at http://www.sourceware.org/bugzilla/ with the original init/do_mounts.o. H.J. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html