From 3628edc05e5b439aad08191ab220360f9d9f54bd Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Thu, 12 Dec 2002 10:14:19 +0000 Subject: 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 --- libc/sysdeps/linux/sh/crt0.S | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'libc/sysdeps/linux/sh/crt0.S') 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 -- cgit v1.2.3