summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/arm/crt1.S18
-rw-r--r--libc/sysdeps/linux/mips/crt1.S14
2 files changed, 19 insertions, 13 deletions
diff --git a/libc/sysdeps/linux/arm/crt1.S b/libc/sysdeps/linux/arm/crt1.S
index 82e1c8c42..0486699a7 100644
--- a/libc/sysdeps/linux/arm/crt1.S
+++ b/libc/sysdeps/linux/arm/crt1.S
@@ -75,9 +75,16 @@ ARM register quick reference:
pc r15 program counter
*/
- .text
- .globl _start
- .type _start,#function
+#include <features.h>
+
+.text
+ .globl _start
+ .type _start,#function
+#ifndef __UCLIBC_CTOR_DTOR__
+ .weak _init
+ .weak _fini
+#endif
+
_start:
/* Clear the frame pointer and link register since this is the outermost frame. */
mov fp, #0
@@ -133,13 +140,8 @@ _start:
.word _init(GOT)
.word main(GOT)
#else
-# ifdef __UCLIBC_CTOR_DTOR__
.type _init,%function
.type _fini,%function
-# else
- .weak _fini
- .weak _init
-# endif
#endif
/* Define a symbol for the first piece of initialized data. */
diff --git a/libc/sysdeps/linux/mips/crt1.S b/libc/sysdeps/linux/mips/crt1.S
index d0769e88a..35dc8c42e 100644
--- a/libc/sysdeps/linux/mips/crt1.S
+++ b/libc/sysdeps/linux/mips/crt1.S
@@ -37,7 +37,7 @@
#include <sys/regdef.h>
-
+#include <features.h>
/* This is the canonical entry point, usually the first thing in the text
@@ -70,10 +70,14 @@
*/
.text
- .globl __start
- .type __start,@function
- .type _init,@function
- .type _fini,@function
+ .globl __start
+ .type __start,@function
+ .type _init,@function
+ .type _fini,@function
+#ifndef __UCLIBC_CTOR_DTOR__
+ .weak _init
+ .weak _fini
+#endif
.type main,@function
.type __uClibc_main,@function