diff options
author | Eric Andersen <andersen@codepoet.org> | 2004-05-14 10:51:16 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2004-05-14 10:51:16 +0000 |
commit | cd411309b5af27b1a02f324174d1caad98bc0927 (patch) | |
tree | 2cf40de9a708bc02d774f37b2e1f0c0400b72e97 /libc/sysdeps/linux/i960/crt0.S | |
parent | b3322420c583e6f77750054aa27e6aab7f88a8c2 (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/i960/crt0.S')
-rw-r--r-- | libc/sysdeps/linux/i960/crt0.S | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/libc/sysdeps/linux/i960/crt0.S b/libc/sysdeps/linux/i960/crt0.S index b235e5c50..b167ad71a 100644 --- a/libc/sysdeps/linux/i960/crt0.S +++ b/libc/sysdeps/linux/i960/crt0.S @@ -1,5 +1,5 @@ # -# clone.S, part of the i960 support for the uClibc library. +# crt0.S, part of the i960 support for the uClibc library. # # Copyright (C) 2002 by Okiok Data Ltd. http://www.okiok.com/ # @@ -19,7 +19,7 @@ # /* - * + * * The behavior in this file is tightly coupled with how the linux kernel sets things up * on the stack before calling us. * @@ -28,7 +28,7 @@ * * ^ * | <- sp somewhere around here, after being aligned. - * | + * | * |envp -> envp[0] * |argv -> argv[0] * |argc <- g13 @@ -37,13 +37,22 @@ * create_flat_tables_stack_grows_up in fs/binfmt_flat.c * * I believe having to use this register could probably be avoided. - * + * */ - + .globl start start: mov g13, r3 ldt (r3), g0 callx ___uClibc_main - + /* We might want to add some instruction so that it crashes if main returns */ + +/* 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 + |