1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

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.
This commit is contained in:
Roland McGrath
2002-08-05 18:56:03 +00:00
parent 1614dd9fe0
commit 08da062122
3 changed files with 26 additions and 8 deletions

View File

@ -1091,6 +1091,10 @@ of this helper program; chances are you did not intend to run this program.\n\
if (tcbp == NULL)
_dl_fatal_printf ("\
cannot allocate TLS data structures for initial thread");
/* Store for detection of the special case by __tls_get_addr
so it knows not to pass this dtv to the normal realloc. */
_dl_initial_dtv = GET_DTV (tcbp);
}
#endif