summaryrefslogtreecommitdiff
path: root/lib/ctors.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ctors.S')
-rw-r--r--lib/ctors.S29
1 files changed, 13 insertions, 16 deletions
diff --git a/lib/ctors.S b/lib/ctors.S
index 4a0c6ab..de3f231 100644
--- a/lib/ctors.S
+++ b/lib/ctors.S
@@ -8,38 +8,35 @@
* end/END definitions, and the fact that they're mergeable, they can also
* have NULLs which aren't guaranteed to be at the end.
*/
- .section .init_array, "aM", @init_array
+ .section .init_array, "aw", @init_array
.p2align 3, 0
- .globl _init_array
-_init_array:
+ .globl __init_array_start
+__init_array_start:
.p2align 3, 0
- .globl _init_array_end
-_init_array_end:
- .long 0
- .section .ctors, "aM", @init_array
+ .globl __init_array_end
+__init_array_end:
+ .section .ctors, "aw", @progbits
.p2align 3, 0
.globl __CTOR_LIST__
__CTOR_LIST__:
.p2align 3, 0
.globl __CTOR_END__
__CTOR_END__:
- .long 0
- .section .dtors, "aM", @fini_array
+ .section .dtors, "aw", @progbits
.p2align 3, 0
.globl __DTOR_LIST__
__DTOR_LIST__:
.p2align 3, 0
.globl __DTOR_END__
__DTOR_END__:
- .long 0
- .section .fini_array, "aM", @fini_array
+ .section .fini_array, "aw", @fini_array
.p2align 3, 0
- .globl _fini_array
-_fini_array:
+ .globl __fini_array_start
+__fini_array_start:
+ .p2align 3, 0
+ .globl __fini_array_end
+__fini_array_end:
.p2align 3, 0
- .globl _fini_array_end
-_fini_array_end:
- .long 0
#if defined(__ELF__) && defined(__linux__)
.section .note.GNU-stack,"",%progbits