]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Remove unused function _dl_tls_setup
authorFlorian Weimer <fweimer@redhat.com>
Wed, 21 Dec 2016 13:30:56 +0000 (14:30 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 21 Dec 2016 13:30:56 +0000 (14:30 +0100)
Commit 7a5e3d9d633c828d84a9535f26b202a6179978e7 (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.

ChangeLog
csu/libc-tls.c
elf/Versions
elf/dl-tls.c
sysdeps/generic/ldsodefs.h

index 30f1c8224316416d207f3ab6e00745a5f2e592ff..b8436d37f6770a7244b8eeeb7d16d9b60d7b3ecf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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]
index 235ac798edb9609a34a6933addf2f93d3e381eca..8f922341deb88047a12010d83de9f066a06098e7 100644 (file)
@@ -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
index 08f76a7a203a6d599af6a76c46b9731e8f1d18cf..3d57e36fd2b5651961ce3e8baddc8c4273be4aba 100644 (file)
@@ -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.
index 60f4c1da5c2e1c3dd5b25d6c940aff45518351fd..97bd9779c6c8e527ab03de856a7ce925c40db856 100644 (file)
@@ -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
index 288f5fe32e7a75530777499a4ea55aeaa75e4023..34d7ec152db9955db7df1edb4f43b911992e0211 100644 (file)
@@ -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)