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

Andre McCurdy armccurdy at gmail.com
Fri Jul 8 15:45:52 UTC 2016


On Fri, Jul 8, 2016 at 7:11 AM, Khem Raj <raj.khem at gmail.com> wrote:
> 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.

OK, I hadn't realised that you can't even configure gcc for gnu hashes
for MIPS. If that's the case then having the MIPS toolchain default to
the same hash style as the MIPS LDFLAGS 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