[PATCH] x86: Generate PLT relocations for -z now

Carlos O'Donell carlos@redhat.com
Thu May 11 16:44:00 GMT 2017


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.

(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

    or

    (C.2) Make LD_AUDIT work with optimizations.

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)?

-- 
Cheers,
Carlos.



More information about the Libc-alpha mailing list