[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RFC: Audit external function called indirectly via GOT
* H. J. Lu:
> On Thu, Mar 22, 2018 at 9:47 AM, Florian Weimer <firstname.lastname@example.org> wrote:
>> * Carlos O'Donell:
>>> Well, Levin's "Linker's and Loaders"
>>> https://www.iecc.com/linker/linker10.html, is the immediate reference
>>> that I have on my shelf, and that developers working on glibc/binutils
>>> should read.
>> Thanks, I didn't know that.
>>>> My understanding is that H.J.'s proposal requires changes when running
>>>> in non-audit mode. It certainly requires relinking all binaries,
>>>> perhaps even with special flags.
>>> It would require a relink only to fix existing binaries which are broken
>>> by the use of -fno-plt, which is not an option that has seen general use
>>> anywhere that I am aware of.
>> I don't think that's actually true. BFD ld has not emitted
>> R_X86_64_JUMP_SLOT relocations with -z now for quite some time now.
>> This optimization predates -fno-plt.
> Not true with binutils 2.30:
> [hjl@gnu-bdx-1 include]$ readelf -d /bin/ld | grep NOW
> 0x0000000000000018 (BIND_NOW)
> 0x000000006ffffffb (FLAGS_1) Flags: NOW PIE
> [hjl@gnu-bdx-1 include]$ readelf -rW /bin/ld | grep JUMP_SLOT
> 00000000001b0868 0000000100000007 R_X86_64_JUMP_SLOT
> 0000000000000000 getenv@GLIBC_2.2.5 + 0
But binutils 2.28 or some earlier version exhibited different