From: Christopher Larson Date: Thu, 7 Jul 2016 21:08:33 +0000 (-0700) Subject: gcc-cross: default linker hash style to sysv X-Git-Tag: uninative-1.3~326 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=fa436aeb3242cbfdbbe16d448d45bce8eb5b74fd;p=openembedded-core.git 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 --- 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= \