about summary refs log tree commit diff
path: root/elf/soinit.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2020-05-18 14:56:26 +0200
committerFlorian Weimer <fweimer@redhat.com>2020-05-18 15:39:34 +0200
commitce12fc711387375d0248ab3ff9084fb958c43bc6 (patch)
tree209238fe57d7638b79a7c112fe8c2192256e0324 /elf/soinit.c
parent7b5bfe77836442b9aeb75cc520f0d1eb7f82be67 (diff)
downloadglibc-ce12fc711387375d0248ab3ff9084fb958c43bc6.tar.gz
glibc-ce12fc711387375d0248ab3ff9084fb958c43bc6.tar.xz
glibc-ce12fc711387375d0248ab3ff9084fb958c43bc6.zip
Remove NO_CTORS_DTORS_SECTIONS macro
This was originally added to support binutils older than version
2.22:

  <https://sourceware.org/ml/libc-alpha/2010-12/msg00051.html>

Since 2.22 is older than the minimum required binutils version
for building glibc, we no longer need this.  (The changes do
not impact the statically linked startup code.)
Diffstat (limited to 'elf/soinit.c')
-rw-r--r--elf/soinit.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/elf/soinit.c b/elf/soinit.c
deleted file mode 100644
index 538eb68186..0000000000
--- a/elf/soinit.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Initializer module for building the ELF shared C library.  This file and
-   sofini.c do the work normally done by crtbeginS.o and crtendS.o, to wrap
-   the `.ctors' and `.dtors' sections so the lists are terminated, and
-   calling those lists of functions.  */
-
-#ifndef NO_CTORS_DTORS_SECTIONS
-# include <stdlib.h>
-
-static void (*const __CTOR_LIST__[1]) (void)
-  __attribute__ ((used, section (".ctors")))
-  = { (void (*) (void)) -1 };
-static void (*const __DTOR_LIST__[1]) (void)
-  __attribute__ ((used, section (".dtors")))
-  = { (void (*) (void)) -1 };
-
-static inline void
-run_hooks (void (*const list[]) (void))
-{
-  while (*++list)
-    (**list) ();
-}
-
-/* This function will be called from _init_first in init-first.c.  */
-void
-__libc_global_ctors (void)
-{
-  /* Call constructor functions.  */
-  run_hooks (__CTOR_LIST__);
-}
-
-
-/* This function becomes the DT_FINI termination function
-   for the C library.  */
-void
-__libc_fini (void)
-{
-  /* Call destructor functions.  */
-  run_hooks (__DTOR_LIST__);
-}
-
-void (*_fini_ptr) (void) __attribute__ ((section (".fini_array")))
-     = &__libc_fini;
-#endif