[PATCH] _dl_iterate_phdr rework

Carmelo AMOROSO carmelo.amoroso at st.com
Tue Jan 22 14:44:39 UTC 2008


Hi All,
the attached patch will solve an problem when statically linking
a C++ application with gcc configured to use unwind-dw2-fde-glibc 
implementation.
This needs _dl_iterate_phdr to be included into libc.a instead of libdl.a,
and the implementation has been fixed to handle the static case too 
(based on glibc code).
For the dynamic case, it's still present in ld.so.
Moreover, _dl_loaded_modules has been moved too (being used by 
_dl_iterate_phdr).

This has accomplished in the following way:

ldso/ldso/dl-elf.c:           removed _dl_iterate_phdr code and include 
"dl-iterate-phdr.c" source
ldso/ldso/dl-iterate-phdr.c : new file containing the fixed 
_dl_iterate_phdr function
ldso/ldso/dl-hash.c:          removed _dl_loaded_modules definition
ldso/ldso/dl-symbols.c:       included _dl_loaded_modules defintion
ldso/ldso/ldso.c:             include "dl-symbols.c"

libc/misc/elf/dl-core.c:      new file including dl-symbols.c and 
dl-iterate-phdr.c from ldso directory

The idea is to use dl-symbols.c to keep all symbols common among ldso 
and libc.a
(note that into the nptl branch another file dl-support.c will be added 
to keep some
TLS specific functionalities that are shared between ldso and libc.a)

Thanks to Peter Mazinger for his suggestions on this topic.

Any comments are welcome.

Carmelo




-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: dl_iterate_phdr.patch
Url: http://lists.busybox.net/pipermail/uclibc/attachments/20080122/ca88c5c3/attachment-0002.diff 


More information about the uClibc mailing list