From fa436aeb3242cbfdbbe16d448d45bce8eb5b74fd Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Thu, 7 Jul 2016 14:08:33 -0700 Subject: gcc-cross: default linker hash style to sysv 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 Signed-off-by: Ross Burton --- meta/recipes-devtools/gcc/gcc-cross.inc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc index f47936061d..c0b8751ede 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= \ -- cgit 1.2.3-korg