[OE-core] u-boot do_compile should be reentrant even with ld-is-gold

Martin Jansa martin.jansa at gmail.com
Wed Aug 1 06:50:21 UTC 2012


Hi,

this commit:

reexecuting do_compile in u-boot causes .bfd being appended multiple 
times and resulting in errors like:
/bin/bash: arm-oe-linux-gnueabi-ld.bfd.bfd.bfd: command not found

Regex should be updated or patch like this:
http://git.shr-project.org/git/?p=meta-smartphone.git;a=blob;f=meta-nokia/recipes-bsp/u-boot/u-boot/0001-config-Always-use-GNU-ld.patch;h=2564d1d456d46651778aec9113cb2515f035ba90;hb=HEAD
applied instead of sed, especially if someone sends it upstream 
(maybe it's already resolved there - I haven't checked)

commit 2e79fcd673dadeab6358fe22d47c8534c14de03e
Author: Otavio Salvador <otavio at ossystems.com.br>
Date:   Sun Apr 22 15:01:32 2012 -0300

    u-boot.inc: fix compilation when using 'gold' as linker

    Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 0445c34..a13eddc 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -36,6 +36,10 @@ SPL_IMAGE ?= "${SPL_BINARY}-${MACHINE}-${PV}-${PR}"
 SPL_SYMLINK ?= "${SPL_BINARY}-${MACHINE}"

 do_compile () {
+       if [ "${@base_contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then
+               sed -i 's/$(CROSS_COMPILE)ld/$(CROSS_COMPILE)ld.bfd/g' config.mk
+       fi


-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120801/1c2f6d7f/attachment-0002.sig>


More information about the Openembedded-core mailing list