libc: remove ctors/dtors sections

None of the supported ARCHs actually populate these sections,
so there is no point in keeping them in the binaries.

Change-Id: I21a364f510118ac1114e1b49c53ec8c895c6bc6b
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
diff --git a/libc/arch-arm/bionic/crtbegin.c b/libc/arch-arm/bionic/crtbegin.c
index 9dcd254..0e2d31e 100644
--- a/libc/arch-arm/bionic/crtbegin.c
+++ b/libc/arch-arm/bionic/crtbegin.c
@@ -31,7 +31,6 @@
     void (**preinit_array)(void);
     void (**init_array)(void);
     void (**fini_array)(void);
-    void (**ctors_array)(void);
 } structors_array_t;
 
 extern int main(int argc, char **argv, char **env);
@@ -52,10 +51,7 @@
 __attribute__ ((section (".fini_array")))
 void (*__FINI_ARRAY__)(void) = (void (*)(void)) -1;
 
-__attribute__ ((section (".ctors")))
-void (*__CTOR_LIST__)(void) = (void (*)(void)) -1;
-
-__attribute__((visbility("hidden")))
+__attribute__((visibility("hidden")))
 void _start() {
   structors_array_t array;
   void *elfdata;
@@ -63,7 +59,6 @@
   array.preinit_array = &__PREINIT_ARRAY__;
   array.init_array =    &__INIT_ARRAY__;
   array.fini_array =    &__FINI_ARRAY__;
-  array.ctors_array =   &__CTOR_LIST__;
 
   elfdata = __builtin_frame_address(0) + sizeof(void *);
   __libc_init(elfdata, (void *) 0, &main, &array);
diff --git a/libc/arch-arm/bionic/crtend.S b/libc/arch-arm/bionic/crtend.S
index 7196fc1..fffb0ab 100644
--- a/libc/arch-arm/bionic/crtend.S
+++ b/libc/arch-arm/bionic/crtend.S
@@ -35,9 +35,6 @@
 	.section .fini_array, "aw"
 	.long 0
 
-	.section .ctors, "aw"
-	.long 0
-
 #if defined(__linux__) && defined(__ELF__)
 	.section .note.GNU-stack,"",%progbits
 #endif