[OE-core] [PATCHv3] gcc-cross: default linker hash style to sysv
Christopher Larson
kergoth at gmail.com
Thu Jul 7 21:08:33 UTC 2016
From: Christopher Larson <chris_larson at mentor.com>
We explicitly set the hash style to gnu in our LDFLAGS. Setting the default to
this in the toolchain, while convenient, actually hides bugs, as a failure to
obey LDFLAGS isn't noticed. By removing this, it's not dissimilar to how we
poison the sysroot -- rather than relying on the default, notice right away if
somoeone isn't obeying the needed flags.
This will result in a failure to obey LDFLAGS causing a GNU_HASH QA failure,
which is what's often seen with external toolchains. This brings us all on the
same page, and makes sure a failure to obey LDFLAGS is seen early.
This is limited to cross, to retain ease of use for SDKs.
Signed-off-by: Christopher Larson <chris_larson at mentor.com>
---
Supercedes '[PATCHv2] gcc-cross: remove --with-linker-hash-style'
v3 changes: per khem's advice, switched to use of LINKER_HASH_STYLE
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index f479360..c0b8751 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -13,6 +13,11 @@ PN = "gcc-cross-${TARGET_ARCH}"
require gcc-configure-common.inc
+# While we want the 'gnu' hash style, we explicitly set it to sysv here to
+# ensure that any recipe which doesn't obey our LDFLAGS (which also set it to
+# gnu) will hit a QA failure.
+LINKER_HASH_STYLE ?= "sysv"
+
EXTRA_OECONF += "--enable-poison-system-directories"
EXTRA_OECONF_append_sh4 = " \
--with-multilib-list= \
--
2.8.0
More information about the Openembedded-core
mailing list