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] |
On 11/09/2016 12:21 AM, Joseph Myers wrote:
On Tue, 8 Nov 2016, Florian Weimer wrote:But there's one pre-existing issue I've been wondering about for a while (along with the s390 maintainers): I don't understand why we have PLT references to malloc & friends in ld.so. The malloc implementation there is not compliant with the C requirements. Why is it exported, and why do we use GOT indirection to call it?My understanding is that it's meant to be interposable by a user-provided malloc implementation. See <https://sourceware.org/ml/libc-alpha/2014-01/msg00719.html>, item 3.
Does this mean the dynamic linker starts with it's GOT pointer as NULL, initializes that to point it to the malloc in elf/dl-minimal.c, and then, once libc.so.6 is relocated updates its GOT pointer to point to the malloc in libc.so.6?
If that's true, maybe a comment explaining all this in elf/dl-minimal.c would be helpful.
Thanks, Florian
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |