mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Remove unused function _dl_tls_setup
Commit 7a5e3d9d63
(elf: Assume TLS is
initialized in _dl_map_object_from_fd) removed the last call of
_dl_tls_setup, but did not remove the function itself.
This commit is contained in:
parent
fcd942370f
commit
d08ab9ced7
@ -1,3 +1,10 @@
|
||||
2016-12-21 Florian Weimer <fweimer@redhat.com>
|
||||
|
||||
* csu/libc-tls.c (_dl_tls_setup): Remove.
|
||||
* elf/dl-tls.c (_dl_tls_setup): Likewise.
|
||||
* elf/Versions (GLIBC_PRIVATE): Remove _dl_tls_setup.
|
||||
* sysdeps/generic/ldsodefs.h (_dl_tls_setup): Remove declaration.
|
||||
|
||||
2016-12-21 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
[BZ #7065]
|
||||
|
@ -216,25 +216,6 @@ __libc_setup_tls (size_t tcbsize, size_t tcbalign)
|
||||
init_static_tls (memsz, MAX (TLS_TCB_ALIGN, max_align));
|
||||
}
|
||||
|
||||
/* This is called only when the data structure setup was skipped at startup,
|
||||
when there was no need for it then. Now we have dynamically loaded
|
||||
something needing TLS, or libpthread needs it. */
|
||||
int
|
||||
internal_function
|
||||
_dl_tls_setup (void)
|
||||
{
|
||||
init_slotinfo ();
|
||||
init_static_tls (
|
||||
#if TLS_TCB_AT_TP
|
||||
TLS_TCB_SIZE,
|
||||
#else
|
||||
0,
|
||||
#endif
|
||||
TLS_TCB_ALIGN);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* This is the minimal initialization function used when libpthread is
|
||||
not used. */
|
||||
void
|
||||
|
@ -59,7 +59,7 @@ ld {
|
||||
_dl_allocate_tls; _dl_allocate_tls_init;
|
||||
_dl_argv; _dl_find_dso_for_object; _dl_get_tls_static_info;
|
||||
_dl_deallocate_tls; _dl_make_stack_executable; _dl_out_of_memory;
|
||||
_dl_rtld_di_serinfo; _dl_starting_up; _dl_tls_setup;
|
||||
_dl_rtld_di_serinfo; _dl_starting_up;
|
||||
_rtld_global; _rtld_global_ro;
|
||||
|
||||
# Only here for gdb while a better method is developed.
|
||||
|
34
elf/dl-tls.c
34
elf/dl-tls.c
@ -274,39 +274,7 @@ _dl_determine_tlsoffset (void)
|
||||
/* The alignment requirement for the static TLS block. */
|
||||
GL(dl_tls_static_align) = max_align;
|
||||
}
|
||||
|
||||
|
||||
/* This is called only when the data structure setup was skipped at startup,
|
||||
when there was no need for it then. Now we have dynamically loaded
|
||||
something needing TLS, or libpthread needs it. */
|
||||
int
|
||||
internal_function
|
||||
_dl_tls_setup (void)
|
||||
{
|
||||
assert (GL(dl_tls_dtv_slotinfo_list) == NULL);
|
||||
assert (GL(dl_tls_max_dtv_idx) == 0);
|
||||
|
||||
const size_t nelem = 2 + TLS_SLOTINFO_SURPLUS;
|
||||
|
||||
GL(dl_tls_dtv_slotinfo_list)
|
||||
= calloc (1, (sizeof (struct dtv_slotinfo_list)
|
||||
+ nelem * sizeof (struct dtv_slotinfo)));
|
||||
if (GL(dl_tls_dtv_slotinfo_list) == NULL)
|
||||
return -1;
|
||||
|
||||
GL(dl_tls_dtv_slotinfo_list)->len = nelem;
|
||||
|
||||
/* Number of elements in the static TLS block. It can't be zero
|
||||
because of various assumptions. The one element is null. */
|
||||
GL(dl_tls_static_nelem) = GL(dl_tls_max_dtv_idx) = 1;
|
||||
|
||||
/* This initializes more variables for us. */
|
||||
_dl_determine_tlsoffset ();
|
||||
|
||||
return 0;
|
||||
}
|
||||
rtld_hidden_def (_dl_tls_setup)
|
||||
#endif
|
||||
#endif /* SHARED */
|
||||
|
||||
static void *
|
||||
internal_function
|
||||
|
@ -994,12 +994,6 @@ extern size_t _dl_count_modids (void) internal_function attribute_hidden;
|
||||
/* Calculate offset of the TLS blocks in the static TLS block. */
|
||||
extern void _dl_determine_tlsoffset (void) internal_function attribute_hidden;
|
||||
|
||||
/* Set up the data structures for TLS, when they were not set up at startup.
|
||||
Returns nonzero on malloc failure.
|
||||
This is called from _dl_map_object_from_fd or by libpthread. */
|
||||
extern int _dl_tls_setup (void) internal_function;
|
||||
rtld_hidden_proto (_dl_tls_setup)
|
||||
|
||||
/* Allocate memory for static TLS block (unless MEM is nonzero) and dtv. */
|
||||
extern void *_dl_allocate_tls (void *mem) internal_function;
|
||||
rtld_hidden_proto (_dl_allocate_tls)
|
||||
|
Loading…
Reference in New Issue
Block a user