From 4a531bb0b3b582cb693de9f76d2d97d970f9a5d5 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Fri, 24 Dec 2010 20:14:37 -0500 Subject: Remove `.ctors' and `.dtors' output sections --- elf/sofini.c | 2 ++ elf/soinit.c | 2 ++ 2 files changed, 4 insertions(+) (limited to 'elf') 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 #include @@ -40,3 +41,4 @@ __libc_fini (void) void (*_fini_ptr) (void) __attribute__ ((section (".fini_array"))) = &__libc_fini; +#endif -- cgit v1.2.3