This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] i386: Remove PLT0 and use non-lazy PLT if PLT0 is unused


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 that anyway.

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 the time.

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]