summary refs log tree commit diff
path: root/elf
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2010-12-24 20:14:37 -0500
committerUlrich Drepper <drepper@gmail.com>2010-12-24 20:14:37 -0500
commit4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 (patch)
tree6f135f0145aab4c664d47d27d9aa08721a849888 /elf
parent07eb4b716ea5041bceb47b38ac8ab989a10b3afd (diff)
downloadglibc-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.tar.gz
glibc-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.tar.xz
glibc-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.zip
Remove `.ctors' and `.dtors' output sections
Diffstat (limited to 'elf')
-rw-r--r--elf/sofini.c2
-rw-r--r--elf/soinit.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/elf/sofini.c b/elf/sofini.c
index 5e06f0ca92..13e74b7903 100644
--- a/elf/sofini.c
+++ b/elf/sofini.c
@@ -1,12 +1,14 @@
 /* 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
index 6fecbb5674..1db676af01 100644
--- a/elf/soinit.c
+++ b/elf/soinit.c
@@ -3,6 +3,7 @@
    the `.ctors' and `.dtors' sections so the lists are terminated, and
    calling those lists of functions.  */
 
+#ifndef NO_CTORS_DTORS_SECTIONS
 #include <libc-internal.h>
 #include <stdlib.h>
 
@@ -40,3 +41,4 @@ __libc_fini (void)
 
 void (*_fini_ptr) (void) __attribute__ ((section (".fini_array")))
      = &__libc_fini;
+#endif