* elf/tst-tls-dlinfo.c: New file.
authorRoland McGrath <roland@gnu.org>
Wed, 1 Mar 2006 06:18:49 +0000 (06:18 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 1 Mar 2006 06:18:49 +0000 (06:18 +0000)
commitd78efd9f369a8fc46229fc9224e10e3781eecc43
tree2ab775602fdf94ce710efb518002de4a93bfab0e
parent0b890d59bd75cb8ab9232ab72ed8674054e11fa3
* elf/tst-tls-dlinfo.c: New file.

* elf/Makefile (tests): Add it.
($(objpfx)tst-tls-dlinfo): Depend on $(libdl).
($(objpfx)tst-tls-dlinfo.out): Depend on $(objpfx)tst-tlsmod2.so.

* dlfcn/dlfcn.h (RTLD_DI_PROFILENAME, RTLD_DI_PROFILEOUT): New enum
values, reserve unsupported requested names used on Solaris.
(RTLD_DI_TLS_MODID, RTLD_DI_TLS_DATA): New enum values.
(RTLD_DI_MAX): Likewise.
* dlfcn/dlinfo.c (dlinfo_doit): Handle RTLD_DI_TLS_MODID and
RTLD_DI_TLS_DATA.

* elf/dl-tls.c (_dl_tls_get_addr_soft): New function.
* sysdeps/generic/ldsodefs.h: Declare it.
* elf/Versions (ld: GLIBC_PRIVATE): Add it.
* elf/link.h (struct dl_phdr_info): New members dlpi_tls_modid,
dlpi_tls_data.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Fill them in.

* include/link.h: Don't copy contents from elf/link.h.
Instead, #include it while #define'ing around link_map.
* elf/dl-debug.c (_dl_debug_initialize): Add a cast.
Add bogus extern decl to verify link_map members.
* elf/loadtest.c (MAPS): New macro, cast _r_debug._r_map.
(OUT, main): Use it in place of _r_debug._r_map.
* elf/unload.c: Likewise.
* elf/unload2.c: Likewise.
* elf/neededtest.c (check_loaded_objects): Likewise.
* elf/neededtest2.c (check_loaded_objects): Likewise.
* elf/neededtest3.c (check_loaded_objects): Likewise.
* elf/neededtest4.c (check_loaded_objects): Likewise.
* elf/circleload1.c (check_loaded_objects): Likewise.
20 files changed:
ChangeLog
dlfcn/dlfcn.h
dlfcn/dlinfo.c
elf/Makefile
elf/Versions
elf/circleload1.c
elf/dl-debug.c
elf/dl-iteratephdr.c
elf/dl-tls.c
elf/link.h
elf/loadtest.c
elf/neededtest.c
elf/neededtest2.c
elf/neededtest3.c
elf/neededtest4.c
elf/tst-tls-dlinfo.c [new file with mode: 0644]
elf/unload.c
elf/unload2.c
include/link.h
sysdeps/generic/ldsodefs.h