This is the mail archive of the
glibc-cvs@sources.redhat.com
mailing list for the glibc project.
libc/elf rtld.c
- From: roland at sources dot redhat dot com
- To: glibc-cvs at sources dot redhat dot com
- Date: 5 Aug 2002 01:20:56 -0000
- Subject: libc/elf rtld.c
CVSROOT: /cvs/glibc
Module name: libc
Changes by: roland@sources.redhat.com 2002-08-04 18:20:56
Modified files:
elf : rtld.c
Log message:
2002-08-04 Roland McGrath <roland@redhat.com>
* elf/dl-load.c (_dl_map_object_from_fd): Use p_vaddr, not p_offset,
to compute memory location for l_tls_initimage.
* elf/rtld.c (_dl_start): Likewise.
* sysdeps/generic/libc-tls.c (__libc_setup_tls): Likewise.
* sysdeps/generic/dl-tls.c (_dl_allocate_tls_storage): New function,
split out of _dl_allocate_tls.
(_dl_allocate_tls_init): Likewise.
(_dl_allocate_tls): Call those.
* sysdeps/generic/ldsodefs.h: Declare them with attribute_hidden.
* elf/rtld.c (dl_main): Call them separately instead of calling
_dl_allocate_tls. Delay _dl_allocate_tls_init until after relocation
is finished, so that the initializer data has been relocated before we
copy it into the main thread's TLS block.