[Buildroot] e500v2 SPE toolchain tuple confuses BR

Dwayne Fontenot <dwayne.fontenot@att.net> dwayne.fontenot at att.net
Fri Apr 29 22:16:52 UTC 2011


Hello,

I'm having an issue with buildroot (git HEAD as of 20110428) and a powerpc e500v2 toolchain
built using the BR crosstool-ng integration.

The built toolchain has a prefix of powerpc-unknown-linux-gnuspe- yet BR assumes it is powerpc-unknown-linux-gnu-

So busybox (for example) will not build because it cannot find powerpc-unknown-linux-gnu-gcc

BR says GNU_TARGET_NAME='powerpc-linux' and REAL_GNU_TARGET_NAME='powerpc-unknown-linux-gnu'

But REAL_GNU_TARGET_NAME *should* be powerpc-unknown-linux-gnuspe

----------------------------------------
y_morin says:

OK, I've seen the issue with busybox! :-)
It uses TARGET_CROSS as the cros compiler.
And TARGET_CROSS is set as: TARGET_CROSS=$(HOST_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-
When it should be set as:  TARGET_CROSS=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)
----------------------------------------

Also, in output/host/usr there are two dirs: powerpc-unknown-linux-gnu and powerpc-unknown-linux-gnuspe.
BR assumes it's looking for powerpc-unknown-linux-gnu and cannot find (for example) limits.h as it's really under
powerpc-unknown-linux-gnuspe.

powerpc-unknown-linux-gnu/ is just an empty dir tree, while powerpc-unknown-linux--gnuspe/ has everything it needs
*except* the sysroot/usr/share/aclocal dir.

----------------------------------------
y_morin says:

OK, I get it. The staging dir is created as: STAGING_DIR=$(HOST_DIR)/usr/$(REAL_GNU_TARGET_NAME)/sysroot
which is wrong in this case, as the REAL_GNU_TARGET_NAME is missing the 'spe' part.
----------------------------------------

Much thanks to y_morin and gustavoz on IRC for helping me.

linuxjacques




More information about the buildroot mailing list