[oe] Cleaning up SDK/Toolchain

Richard Purdie rpurdie at rpsys.net
Thu Oct 18 11:59:03 UTC 2007


On Thu, 2007-10-18 at 11:39 +0200, Koen Kooi wrote:
> Apart from the libc flaw I pointed out in another mail, the naming of the toolchains is
> broken as well:
> 
> angstrom-2007.9-test-20071017-arm-linux-gnueabi-toolchain.tar.bz2
> angstrom-2007.9-test-20071017-arm-linux-uclibcgnueabi-toolchain.tar.bz2
> angstrom-2007.9-test-20071018-powerpc-linux-toolchain.tar.bz2
> angstrom-2007.9-test-20071018-powerpc-linux-uclibc-toolchain.tar.bz2
> 
> There's no way to see if the arm ones are armv4t, armv5te or armv6 and the powerpc ones
> ppc405, ppc440 or ppc603e. For compiling 'hello world' that doesn't matter, but libc6.so
> and libgcc_s.so will contain instruction not available on other cpus of that arch (e.g.
> clz is not in armv4t), so your binary will probably not work on your device.
> 
> My idea is to use PACKAGE_ARCH (e.g. armv5te or ppc603e) instead of TARGET_ARCH.
> 
> Comments/hints/ideas?

We actually have a bigger problem. Staging uses an arm directory, not an
armv5te one so the armv5te binaries mix up with the armv4 ones etc.

This isn't a problem with images built from packages where everything
dynamically links since the right packages are used. The moment someone
tries to statically link an armv4 binary with armv5te in staging, game
over though.

So both the meta-toolchain and staging need some thought (and are
related since meta-toolchain has knowledge to rebuild bits of staging
for use in its "shortcut an OE build by skipping the toolchain" mode.

I agreed we probably need to add in some PACKAGE_ARCHs in places but its
yet another thing that needs some careful thought and we'll probably
break people's existing builds. I hope to look at/think about it soon if
nobody beats me too it...

Cheers,

Richard





More information about the Openembedded-devel mailing list