diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-05 18:56:03 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-05 18:56:03 +0000 |
commit | 08da062122aef3020fd4bf258984102d38bfc12d (patch) | |
tree | 328d6483bf27978d2eb8331199f8f2803b156bd4 /sysdeps/generic/ldsodefs.h | |
parent | 1614dd9fe02b2ed6ada1f2879cc917934949cc62 (diff) | |
download | glibc-08da062122aef3020fd4bf258984102d38bfc12d.tar glibc-08da062122aef3020fd4bf258984102d38bfc12d.tar.gz glibc-08da062122aef3020fd4bf258984102d38bfc12d.tar.bz2 glibc-08da062122aef3020fd4bf258984102d38bfc12d.zip |
2002-08-05 Roland McGrath <roland@redhat.com>
* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace member
`bool _dl_initial_dtv_malloced' with `void *_dl_initial_dtv'.
* elf/rtld.c (dl_main): Set it to the new dtv for the main thread.
* sysdeps/generic/dl-tls.c (__tls_get_addr): When reallocating the
dtv, check if it matches _dl_initial_dtv; if so, malloc and copy the
old data, abandoning the original memory allocated by rtld at startup,
instead of calling realloc normally.
Diffstat (limited to 'sysdeps/generic/ldsodefs.h')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 2269950045..cd499f61b7 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -323,8 +323,8 @@ struct rtld_global /* Number of additional slots in the dtv allocated. */ # define DTV_SURPLUS (14) - /* True if the dtv for the initial thread was malloc()ed. */ - EXTERN bool _dl_initial_dtv_malloced; + /* Initial dtv of the main thread, not allocated with normal malloc. */ + EXTERN void *_dl_initial_dtv; /* Generation counter for the dtv. */ EXTERN size_t _dl_tls_generation; #endif |