[PATCH] x86: Generate PLT relocations for -z now
Carlos O'Donell
carlos@redhat.com
Thu May 11 17:25:00 GMT 2017
On 05/11/2017 05:41 AM, Szabolcs Nagy wrote:
> i think this is not a binutils issue,
> gcc can do an optimization to load
> foo from the got and call it indirectly
> and later return it, then the linker
> has no chance to emit plt reloc for foo.
I do not disagree with you.
Function pointers are a blind spot in PLT-based auditing, and
some day we might be able to solve that.
That does not mean we should continue to erode that support
without having a discussion.
If we are going to deprecate LD_AUDIT, LD_PROFILE, and ltrace,
what do we replace them with? Are those replacements mature
technology?
Keep in mind that LD_AUDIT has worked fora long time and it's
only in binutils 2.26 where we've started to introduce
non-optional optimizations that might break things.
> this is why i said plt should not be
> considered part of the abi because it's
> unreliable anyway
That is not true. You need to think big and consider yourself
part of a large GNU community. We are not isolated silos.
The GNU implementation includes a compiler, linker, and dynamic
loader, and all of these parts can collude to provide a better
than average developer experience.
We made PLTs part of the implementation by implementing LD_AUDIT,
LD_PROFILE, and by supporting ltrace.
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list