aboutsummaryrefslogtreecommitdiff
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.zip
glibc-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.tar.gz
glibc-4a531bb0b3b582cb693de9f76d2d97d970f9a5d5.tar.bz2
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 5e06f0c..13e74b7 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 6fecbb5..1db676a 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