[OE-core] [PATCHv3] gcc-cross: default linker hash style to sysv

Andre McCurdy armccurdy at gmail.com
Fri Jul 8 13:08:41 UTC 2016


On Thu, Jul 7, 2016 at 2:08 PM, Christopher Larson <kergoth at gmail.com> wrote:
> 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"

Defining a new variable (LINKER_HASH_STYLE_INVERSE ?) and setting it
to the opposite of whatever bitbake.conf ends up assigning to
LINKER_HASH_STYLE might be clearer here.

Otherwise MIPS toolchains will continue to default to the same hash
style as MIPS LDFLAGS.

> +
>  EXTRA_OECONF += "--enable-poison-system-directories"
>  EXTRA_OECONF_append_sh4 = " \
>      --with-multilib-list= \
> --
> 2.8.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list