summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-01-25 14:06:56 +0000
committerEric Andersen <andersen@codepoet.org>2003-01-25 14:06:56 +0000
commit69af95d62a70bf8dab5233513038261ddcab2b2a (patch)
tree6d2a0cce0d9c69b50d52b278b9fb7082b27eadda /libc/sysdeps/linux
parent2d975ff595c24d265d04a6bc91316387c858866e (diff)
This seems to be needed or else apps will blow up.
-Erik
Diffstat (limited to 'libc/sysdeps/linux')
-rw-r--r--libc/sysdeps/linux/mips/crt0.S11
1 files changed, 2 insertions, 9 deletions
diff --git a/libc/sysdeps/linux/mips/crt0.S b/libc/sysdeps/linux/mips/crt0.S
index b24fe1d84..45ccded35 100644
--- a/libc/sysdeps/linux/mips/crt0.S
+++ b/libc/sysdeps/linux/mips/crt0.S
@@ -12,15 +12,12 @@
#include <sys/regdef.h>
.text
- .global __start
+ .global __start
.type __start,%function
-#if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__
- .type __uClibc_main,%function
-#else
+ .type __uClibc_start_main,%function
.weak _init
.weak _fini
.type __uClibc_start_main,%function
-#endif
/* Stick in a dummy reference to main(), so that if an application
* is linking when the main() function is in a static library (.a)
* we can be sure that main() actually gets linked in */
@@ -41,7 +38,6 @@ __start:
addu a2, a0, 1 /* argv[0] program name (ordinal->cardinal) */
sll a2, a2, 2 /* multiple by 4 */
add a2, a2, a1 /* a2 now points to start of envp */
-#if defined L_crt1 && defined __UCLIBC_CTOR_DTOR__
la a3, _init /* a3 is address of _init */
addiu sp, sp, -24 /* 16 + 4 rounded up to multiple of 8 */
/* multiple of 8 for longlong/double support */
@@ -50,9 +46,6 @@ __start:
/* Ok, now run uClibc's main() -- shouldn't return */
jal __uClibc_start_main
-#else
- jal __uClibc_main
-#endif
addiu sp, sp, 24 /* undo stack argument */