This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] i386: Remove PLT0 and use non-lazy PLT if PLT0 is unused
- From: Florian Weimer <fweimer at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>, Carlos O'Donell <carlos at redhat dot com>
- Cc: Binutils <binutils at sourceware dot org>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 8 May 2017 17:54:13 +0200
- Subject: Re: [PATCH] i386: Remove PLT0 and use non-lazy PLT if PLT0 is unused
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=fweimer at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 4147B13A68
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 4147B13A68
- References: <20170502203156.GA11102@intel.com> <20170504163120.GA19140@intel.com> <20170506151138.GA4151@intel.com> <firstname.lastname@example.org> <CAMe9rOorjioRY9t49f5hDnJ0Pr9vhDeDrZMBM=nOHn3rJgJq1A@mail.gmail.com> <email@example.com> <CAMe9rOpwrxnAj=q6A4nx25tc6Sh5cJ22BwBo0X6P7Zp=MEBk0A@mail.gmail.com>
On 05/08/2017 05:43 PM, H.J. Lu wrote:
Yes IMO, LD_AUDIT + -z now should force the GOT entries to remain forever
resolved to the stub PLT entry in a read-only mapping. This however means
keeping around the PLT entries, which is what you're trying to remove, but
shouldn't without an additional optimization flag.
-z now has disabled LD_AUDIT since binutils 2.26.
I think this is a bug in binutils 2.26 and later. I did not realize
this at the time (my understanding of LD_AUDIT is limited).
We both have large-scale users of LD_AUDIT. They might be able to
migrate off x86 before the -z now breakage hits them (keep in mind that
we have pushed -z now as a recommended hardening flag for a long time),
but I wouldn't count on that, and I wouldn't want to subject them to
This is bad. I know of lots of users that are going to be unhappy if we
continue to remove LD_AUDIT support. For now it works in their own applications,
but I'd like to see LD_AUDIT work with -z now.
I didn't see any binutils bug report for this issue. Also there is no glibc
test to check that -z now works with LD_AUDIT.
There were, sort of, but you adjusted those tests instead of revisiting
the binutils change and its impact. I'm afraid I didn't realize that at