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

Khem Raj raj.khem at gmail.com
Fri Jul 8 14:11:36 UTC 2016


On Fri, Jul 8, 2016 at 6:08 AM, Andre McCurdy <armccurdy at gmail.com> wrote:
> 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.

Dont understand what you mean here. However for mips sysv is the only option.

>
>> +
>>  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
> --
> _______________________________________________
> 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