[OE-core] [RFC] Binutils upgrade to 2.24

Khem Raj raj.khem at gmail.com
Thu Jan 30 04:33:45 UTC 2014


On Thu, Dec 19, 2013 at 7:21 AM, Saul Wold <sgw at linux.intel.com> wrote:
> On 12/16/2013 12:03 PM, Khem Raj wrote:
>>
>> Hi
>>
>> I have pushed a contrib branch for binutils 2.24 upgrade here
>>
>>
>> http://git.openembedded.org/openembedded-core-contrib/log/?h=kraj/binutils-2.24
>>
>> I have tested it on both uclibc/eglibc and qemu machines. But it would
>> be nice if
>> it gets more testing for machines I havent tested
>>
>
> Looks like we tickled an LD bug of somekind, we are seeing the following
> failure across all machines, this was a second build using binutils 2.24, so
> there was some shared state usage.
>
> RP pointed out the --as-needed option was used with -lm as those symbols are
> math related.
>
>> | powerpc-poky-linux-gcc  -m32 -mhard-float -mcpu=7400
>> --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/qemuppc
>> -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/ppc7400-poky-linux/wireless-tools/1_29-r4/wireless_tools.29
>> -O2 -pipe -g -feliminate-unused-debug-types -MMD     -o iwconfig iwconfig.o
>> libiw.so.29 -lm
>> | powerpc-poky-linux-gcc  -m32 -mhard-float -mcpu=7400
>> --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/qemuppc
>> -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/ppc7400-poky-linux/wireless-tools/1_29-r4/wireless_tools.29
>> -O2 -pipe -g -feliminate-unused-debug-types -MMD     -o iwlist iwlist.o
>> libiw.so.29 -lm
>> | powerpc-poky-linux-gcc  -m32 -mhard-float -mcpu=7400
>> --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/qemuppc
>> -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/ppc7400-poky-linux/wireless-tools/1_29-r4/wireless_tools.29
>> -O2 -pipe -g -feliminate-unused-debug-types -MMD     -o iwpriv iwpriv.o
>> libiw.so.29 -lm
>> | powerpc-poky-linux-gcc  -m32 -mhard-float -mcpu=7400
>> --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/qemuppc
>> -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/ppc7400-poky-linux/wireless-tools/1_29-r4/wireless_tools.29
>> -O2 -pipe -g -feliminate-unused-debug-types -MMD     -o iwspy iwspy.o
>> libiw.so.29 -lm
>> | powerpc-poky-linux-gcc  -m32 -mhard-float -mcpu=7400
>> --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/qemuppc
>> -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/ppc7400-poky-linux/wireless-tools/1_29-r4/wireless_tools.29
>> -O2 -pipe -g -feliminate-unused-debug-types -MMD     -o iwgetid iwgetid.o
>> libiw.so.29 -lm
>> | powerpc-poky-linux-gcc  -m32 -mhard-float -mcpu=7400
>> --sysroot=/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/qemuppc
>> -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
>> -I/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/ppc7400-poky-linux/wireless-tools/1_29-r4/wireless_tools.29
>> -O2 -pipe -g -feliminate-unused-debug-types -MMD     -o iwevent iwevent.o
>> libiw.so.29 -lm
>> | libiw.so.29: undefined reference to `ceil'
>> | libiw.so.29: undefined reference to `pow'
>> | libiw.so.29: undefined reference to `log10'
>> | libiw.so.29: undefined reference to `floor'
>> | collect2: error: ld returned 1 exit status
>> | make: *** [iwconfig] Error 1
>> | make: *** Waiting for unfinished jobs....
>> | libiw.so.29: undefined reference to `ceil'
>> | libiw.so.29: undefined reference to `pow'
>> | libiw.so.29: undefined reference to `log10'
>> | libiw.so.29: undefined reference to `floor'
>> | collect2: error: ld returned 1 exit status
>> | make: *** [iwgetid] Error 1
>> | libiw.so.29: undefined reference to `ceil'
>> | libiw.so.29: undefined reference to `pow'
>> | libiw.so.29: undefined reference to `log10'
>> | libiw.so.29: undefined reference to `floor'
>> | collect2: error: ld returned 1 exit status
>> | make: *** [iwspy] Error 1
>> | libiw.so.29: undefined reference to `ceil'
>> | libiw.so.29: undefined reference to `pow'
>> | libiw.so.29: undefined reference to `log10'
>> | libiw.so.29: undefined reference to `floor'
>> | collect2: error: ld returned 1 exit status
>> | make: *** [iwpriv] Error 1
>> | libiw.so.29: undefined reference to `ceil'
>> | libiw.so.29: undefined reference to `pow'
>> | libiw.so.29: undefined reference to `log10'
>> | libiw.so.29: undefined reference to `floor'
>> | collect2: error: ld returned 1 exit status
>> | make: *** [iwlist] Error 1
>> | libiw.so.29: undefined reference to `ceil'
>> | libiw.so.29: undefined reference to `pow'
>> | libiw.so.29: undefined reference to `log10'
>> | libiw.so.29: undefined reference to `floor'
>> | collect2: error: ld returned 1 exit status
>> | make: *** [iwevent] Error 1
>> | ERROR: oe_runmake failed
>
>

I tested OE-Core builds for qemuppc

1. build from scratch  ( MACHINE=qemuppc bitbake wirelesstools)
2. build from sstate ( MACHINE=qemuppc bitbake -cclean wirelesstools
and then step 1)
3. Build second time just wireless-tools ( MACHINE=qemuppc bitbake
-ccleanall wirelesstools and then step 1 )
4. Rebuild all from sstate ( rm -rf tmp/ and then step 1)

I could not reproduce this issue at all. The differences are I did it
with OE-Core and not with Poky autbuilders run with poky distro
policies.
we should also actually regress OE-Core alone

My build machine here is debian/wheezy and ubuntu 12.04 both 64bit)

I am on commit c3f3fed1b397b6ee6d44e7d39e63d084e4a88e30 of OE-Core

At this point I am out of ideas how to reproduce this.

If there is some other developer out there who can try this patch and
get the same errors,that would be interesting and probably we
will get to root of it.



More information about the Openembedded-core mailing list