[OE-core] export TARGET_LDFLAGS and native sstate
Mike Crowe
mac at mcrowe.com
Mon Apr 7 15:53:33 UTC 2014
We're building for both ARM and MIPS-based MACHINEs in a single source
tree. This seems to result in us compiling (or luckily most of the time
resurrecting from sstate-cache) two different versions of all -native
packages due to different base hashes.
It seems that this difference in base hashes is due to the exported
variable TARGET_LDFLAGS being different between the two CPUs:
< export TARGET_LDFLAGS="-Wl,-O1 -Wl,--as-needed"
---
> export TARGET_LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed"
which in turn is because TARGET_LINK_HASH_STYLE is explicitly set to "sysv"
on MIPS but allowed to be "gnu" on everything else.
Every time I switch back and forth between building ARM-based and
MIPS-based machines the do_populate_sysroot_setscene tasks run for each
required -native recipe.
If I modify native.bbclass to do:
TARGET_LDFLAGS = "${BUILD_LDFLAGS}"
then the hashes match and this unnecessary sysroot population is avoided.
Is this a sensible thing to be doing? It does mean that TARGET_LDFLAGS
contains a lot of (presumably unnecessary) rpath shenanigans but perhaps
that doesn't matter. :(
Thanks.
Mike.
More information about the Openembedded-core
mailing list