summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips/crt0.S
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-05-14 10:51:16 +0000
committerEric Andersen <andersen@codepoet.org>2004-05-14 10:51:16 +0000
commitcd411309b5af27b1a02f324174d1caad98bc0927 (patch)
tree2cf40de9a708bc02d774f37b2e1f0c0400b72e97 /libc/sysdeps/linux/mips/crt0.S
parentb3322420c583e6f77750054aa27e6aab7f88a8c2 (diff)
__data_start needs to be added to all crt0.S files that don't currently
have it. It is used by the boehm gc, amoung other things.
Diffstat (limited to 'libc/sysdeps/linux/mips/crt0.S')
-rw-r--r--libc/sysdeps/linux/mips/crt0.S11
1 files changed, 8 insertions, 3 deletions
diff --git a/libc/sysdeps/linux/mips/crt0.S b/libc/sysdeps/linux/mips/crt0.S
index 7a79c433f..3ce8c9cd8 100644
--- a/libc/sysdeps/linux/mips/crt0.S
+++ b/libc/sysdeps/linux/mips/crt0.S
@@ -23,7 +23,7 @@
* we can be sure that main() actually gets linked in */
.type main,%function
-__start:
+__start:
#ifdef __PIC__
.set noreorder
bltzal zero,0f
@@ -43,7 +43,7 @@ __start:
/* multiple of 8 for longlong/double support */
la v0, _fini
sw v0, 16(sp) /* stack has 5th argument, address of _fini */
-
+
/* Ok, now run uClibc's main() -- shouldn't return */
jal __uClibc_start_main
@@ -53,6 +53,11 @@ __start:
hlt:
b hlt
- .section ".data"
+/* Define a symbol for the first piece of initialized data. */
+ .data
.globl __data_start
__data_start:
+ .long 0
+ .weak data_start
+ data_start = __data_start
+