Skip to contentSkip to conversation

Fix symlinking of linker in gcc-cross-initial

PATCH New Khem Raj 1 participant 2 messages Aug 14, 2014

lore
Share & tools
lore

Khem Raj

author
#0 lore raw

cover Fix symlinking of linker in gcc-cross-initial

the issue here is that we want to use ld.bfd in gcc-cross-initial but we miss out when we install symlinks. This hurts when default linker is gold and eglibc is re-built

The following changes since commit 4321c553d5ae816e566234e981a0815bba046d39:

SIGGEN_EXCLUDERECIPES_ABISAFE: add initscripts (2014-08-11 17:44:09 +0100)

are available in the git repository at:

git://git.openembedded.org/openembedded-core-contrib kraj/gcc-cross-initial-gold
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/gcc-cross-initial-gold

Khem Raj (1):
gcc-cross-initial: Use good old bfd linker by default

 meta/recipes-devtools/gcc/gcc-cross-initial.inc |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Signature · 1 line
1.7.10.4
author
#1 lore raw

PATCH 1/1 gcc-cross-initial: Use good old bfd linker by default

We already indicate our intentions to use ld.bfd by specifying it in configure using --with-ld which works ok unless here where we manually create symlinks to binutils-cross components, when we use ld-is-gold feature default ld points to gold and this symlinking has to be aware of the fact that we configured binutils and gcc-cross to use gold as default ld but gcc-cross-initial uses BFD ld

This would be visible when using gold and rebuilding eglibc

---
 meta/recipes-devtools/gcc/gcc-cross-initial.inc |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
meta/recipes-devtools/gcc/gcc-cross-initial.inc +3 -1
index 5a6da8b..23a6d4b 100644
@@ -57,7 +57,9 @@ do_install () {
 	# found. These need to be relative paths so they work in different locations.
 	dest=${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/
 	install -d $dest
-	for t in ar as ld nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
+	useld=${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', '.bfd', '', d)}
+	ln -sf ${BINRELPATH}/${TARGET_PREFIX}ld${useld} ${dest}ld
+	for t in ar as nm objcopy objdump ranlib strip g77 gcc cpp gfortran; do
 		ln -sf ${BINRELPATH}/${TARGET_PREFIX}$t $dest$t
 	done
 	# fixed limits.h infact includes the so called real limits.h
Signature · 1 line
1.7.10.4