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

Saul Wold sgw at linux.intel.com
Fri Jan 31 22:35:24 UTC 2014


On 01/31/2014 02:08 PM, Khem Raj wrote:
> 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
>
Yes, but I just did another clean sstate, clean tmp dir of both of these 
build and they both still fail.

Do you have a newer machine than 12.04?  What's the compiler/binutils 
that you have on 12.04 for the native build. I have binutils-2.23.52 and 
gcc-4.8.1 on my Ubuntu 13.10.

Sau!

>
>> 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 ?
>

Build again with NO Sstate and clean build area

>>
>>
>> Sau!
>>
>
>



More information about the Openembedded-devel mailing list