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]

dladdr(): adventure in ABIs, function descriptors in IA-64 and HPPA vs PPC64 ELFv1


Hi,

In https://sourceware.org/bugzilla/show_bug.cgi?id=24561, I've
summarized my discoveries regarding dladdr() implementation(s).

I've managed to make dladdr() works faster for generic ELF and PPC
64bits ELFv1.

I would like to contribute some tests for dladdr() to prove the
optimisations produce the same results as current implementation.

Before doing so, I have to understand interaction between dladdr() and
IA-64  and PA-Risc function descriptors.

ppc64 ELFv1 was quite simple to handle with regard to function
descriptors (but required increasing the memory needed for the symbols
cache).

But the two others set ELF_FUNCTION_PTR_IS_SPECIAL and rely on dl-fptr, 
which I haven't look to much, but seem definitely less straightforward.
As there's some linear search through a linked list, it might be useful
I look at it.

Could someone comment why function descriptors support is so different
between ppc64 and the other, one not using ELF_FUNCTION_PTR_IS_SPECIAL
and the others using it ?

Unfortunately digging through the git history and looking at commit
messages and ChangeLog was not really useful, as those at mostly being
"captain-obvious" style descriptions of the changes, without any
explanation, motivation, rationale for the (added) changes.

Regards.

-- 
Yann Droneaud
OPTEYA



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