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

Khem Raj raj.khem at gmail.com
Fri Jan 31 22:08:26 UTC 2014


On Fri, Jan 31, 2014 at 1:36 PM, Saul Wold <sgw at linux.intel.com> wrote:
> On 01/29/2014 08:33 PM, Khem Raj wrote:
>>
>> 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.
>>
>>
> Sorry Khem, failed again!
>
> Build Configuration:
> BB_VERSION        = "1.21.1"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Ubuntu-13.10"
> TARGET_SYS        = "powerpc-poky-linux"
> MACHINE           = "qemuppc"
> DISTRO            = "poky"
> DISTRO_VERSION    = "1.5+snapshot-20140131"
> TUNE_FEATURES     = "m32 fpu-hard ppc7400 altivec"
> TARGET_FPU        = ""
> meta
> meta-yocto
> meta-yocto-bsp    = "mut:980faeefaac3466aff38822479bf7d9fff4994eb"
>
>
> I did a bitbake -c cleansstate binutils-native eglibc wireless-tools
> followed by a bitbake of wireless-tools and I still get this same failure.
>

OK still cant get it here. For above, you did those cmds on clean tmp/
and sstate being around ? or tmp with previous build in there


> My build info above.
>
> I tried with OE-Core alone and still got the same failure (this time with
> ARM!)
>
> Build Configuration:
> BB_VERSION        = "1.21.1"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Ubuntu-13.10"
> TARGET_SYS        = "arm-oe-linux-gnueabi"
> MACHINE           = "qemuarm"
> DISTRO            = "nodistro"
> DISTRO_VERSION    = "nodistro.0"
> TUNE_FEATURES     = "armv5 thumb dsp"
> TARGET_FPU        = "soft"
> meta              = "binutils:e20eeca128f362d500e19c5757e13cc7dab86b3a"
>
>
> Totally clean build area.
>

and no sstate ?

>
>
> Sau!
>



More information about the Openembedded-core mailing list