diff options
-rw-r--r-- | libc/sysdeps/linux/arm/crt1.S | 18 | ||||
-rw-r--r-- | libc/sysdeps/linux/mips/crt1.S | 14 |
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 |