This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] x86: Generate PLT relocations for -z now
On Thu, May 11, 2017 at 9:44 AM, Carlos O'Donell <firstname.lastname@example.org> wrote:
> On 05/11/2017 10:51 AM, H.J. Lu wrote:
>> The run-time R_X86_64_GLOB_DAT relocation against foo is
>> required. There is no need to add another run-time
>> R_X86_64_JUMP_SLOT relocation. We can add a linker option
>> to generate the extra R_X86_64_JUMP_SLOT. But I don't think
>> it should be the default.
> I don't disagree with your analysis, I disagree with the execution
> of the plan.
> The plan should be:
> (a) Analyze uses of the PLT entries.
> In this case LD_AUDIT, LD_PROFILE, and ltrace all require them to
> operate correctly.
As I stated before, glibc and GCC have been doing everything we
can to avoid PLT.
> (b) Develop plan for migrating developer tooling, like LD_AUDIT,
> which is a part of glibc and is well supported.
> (c) Choose one of:
> (C.1) Make PLT elision optional e.g. -z noplt
> (C.2) Make LD_AUDIT work with optimizations.
This is the only option.
> Right now we have ignored dependent tooling that requires this
> feature and have pressed on ahead with optimizations that remove
> a required feature.
> If we don't want to do (C.1), then how do we do (C.2)?