This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] x86: Generate PLT relocations for -z now
- From: Carlos O'Donell <carlos at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- Cc: Binutils <binutils at sourceware dot org>, GNU C Library <libc-alpha at sourceware dot org>, nd <nd at arm dot com>
- Date: Thu, 11 May 2017 12:44:36 -0400
- Subject: Re: [PATCH] x86: Generate PLT relocations for -z now
- Authentication-results: sourceware.org; auth=none
- References: <20170508202153.GA28618@intel.com> <firstname.lastname@example.org> <591431AE.email@example.com> <CAMe9rOrMLorDE5AS-jO=JU_ECHjOD_=czMaAo9_EgbVo6z5RNQ@mail.gmail.com>
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
(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.
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)?