[PATCH 08/12] De-PLTize __stack_chk_fail internal calls within libc.so.

Nix nix@esperi.org.uk
Fri Dec 16 11:44:00 GMT 2016


On 16 Dec 2016, Florian Weimer outgrape:

> On 12/15/2016 09:22 PM, Florian Weimer wrote:
>> I think this attempt at PLT avoidance within libc.so itself is subtly
>> wrong.  We need to mirror more closely what
>> libc_hidden_proto/libc_hidden_def does, and perhaps disentangle this
>> from the __stack_chk_fail_local definition used in other DSOs.
>>
>> I think this means removing any definition of a C function definition
>> called __stack_chk_fail_local from libc.so, and instead use a strong
>> alias from __stack_chk_fail to __stack_chk_fail_local to define the
>> symbol.  The alias will not incorporate a PLT reference.  If you look at
>> include/libc-symbols.h, strong_alias and hidden_def are quite similar.
>
> With this patch on top of the series you posted (without any other changes), I get both MIPS and ia64 to build, and I don't see a
> PLT failure on SPARC.

I'll give this a spin, then post a new series.

It'll be a few hours, as usual for a full test cycle :(

-- 
NULL && (void)



More information about the Libc-alpha mailing list