about summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/Makefile2
-rw-r--r--elf/sofini.c12
-rw-r--r--elf/soinit.c43
3 files changed, 1 insertions, 56 deletions
diff --git a/elf/Makefile b/elf/Makefile
index 77da61ae64..6fe1df90bb 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -98,7 +98,7 @@ ld-map		= $(common-objpfx)ld.map
 endif
 
 ifeq (yes,$(build-shared))
-extra-objs	= $(all-rtld-routines:%=%.os) soinit.os sofini.os interp.os
+extra-objs	= $(all-rtld-routines:%=%.os) sofini.os interp.os
 generated	+= librtld.os dl-allobjs.os ld.so ldd
 install-others	= $(inst_rtlddir)/$(rtld-installed-name)
 install-bin-script = ldd
diff --git a/elf/sofini.c b/elf/sofini.c
index 13e74b7903..1c526fd603 100644
--- a/elf/sofini.c
+++ b/elf/sofini.c
@@ -1,15 +1,3 @@
-/* Finalizer module for ELF shared C library.  This provides terminating
-   null pointer words in the `.ctors' and `.dtors' sections.  */
-
-#ifndef NO_CTORS_DTORS_SECTIONS
-static void (*const __CTOR_END__[1]) (void)
-     __attribute__ ((used, section (".ctors")))
-     = { 0 };
-static void (*const __DTOR_END__[1]) (void)
-     __attribute__ ((used, section (".dtors")))
-     = { 0 };
-#endif
-
 /* Terminate the frame unwind info section with a 4byte 0 as a sentinel;
    this would be the 'length' field in a real FDE.  */
 
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