summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips/crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/mips/crt0.S')
-rw-r--r--libc/sysdeps/linux/mips/crt0.S21
1 files changed, 13 insertions, 8 deletions
diff --git a/libc/sysdeps/linux/mips/crt0.S b/libc/sysdeps/linux/mips/crt0.S
index fdb997b73..b24fe1d84 100644
--- a/libc/sysdeps/linux/mips/crt0.S
+++ b/libc/sysdeps/linux/mips/crt0.S
@@ -12,8 +12,19 @@
#include <sys/regdef.h>
.text
-.global __start
-.type __start,@function
+ .global __start
+ .type __start,%function
+#if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__
+ .type __uClibc_main,%function
+#else
+ .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 */
+ .type main,%function
__start:
#ifdef __PIC__
@@ -49,9 +60,3 @@ __start:
hlt:
b hlt
-/* 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 */
-L_dummy_main_reference:
- .long main
-