diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-12-12 10:14:19 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-12-12 10:14:19 +0000 |
commit | 3628edc05e5b439aad08191ab220360f9d9f54bd (patch) | |
tree | ff8aaa7216e50019a7852d367bae3bae34fdb92d /libc/sysdeps/linux/sh/crt0.S | |
parent | f329b6fe2f16e16000bb648aa678c2a947258e87 (diff) |
Based on discussions with Stefan Allius, change it so that we always
build a crt0.o and a crt1.o. crt1.o will support ctors and dtors if
such support is enabled. One more gratuitous toolchain support issue
is thereby removed...
-Erik
Diffstat (limited to 'libc/sysdeps/linux/sh/crt0.S')
-rw-r--r-- | libc/sysdeps/linux/sh/crt0.S | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/sh/crt0.S b/libc/sysdeps/linux/sh/crt0.S index cf2b7a6a3..90fba8d34 100644 --- a/libc/sysdeps/linux/sh/crt0.S +++ b/libc/sysdeps/linux/sh/crt0.S @@ -49,7 +49,7 @@ _start: mov.l @r15+,r4 mov r15, r5 -#if ! defined __UCLIBC_CTOR_DTOR__ +#if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__ /* * Setup the value for the environment pointer: * r6 = (argc + 1) * 4 @@ -58,12 +58,11 @@ _start: mov r4,r6 add #1,r6 shll2 r6 - add r5, r6 /* jump to __uClibc_main (argc, argv, envp) */ mov.l L_main, r0 jsr @r0 - nop /* delay slot */ + add r5, r6 /* delay slot */ /* We should not get here. */ mov.l L_abort, r0 @@ -76,7 +75,7 @@ _start_end: L_main: .long __uClibc_main /* in libuClibc.*.so */ -#else /* __UCLIBC_CTOR_DTOR__ */ +#else /* L_crt1 && __UCLIBC_CTOR_DTOR__ */ /* Push the finip argument to __uClibc_start_main() onto the stack */ mov.l L_fini,r6 mov.l r6,@-r15 |