diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-12-30 06:54:32 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-12-30 06:54:32 +0000 |
commit | 480b36dbf384761928994f6f70711f8033732493 (patch) | |
tree | 02c6041908044a0645f659c0a84badfff02f2c7a /libc/sysdeps/linux/nios2/crt0.S | |
parent | d2c24c51bd2bff1a291e1f217ae7f135066b0b9e (diff) |
Bug 616, Thomas Chou: update crt to new 0.9.28 uClibc style
Diffstat (limited to 'libc/sysdeps/linux/nios2/crt0.S')
-rw-r--r-- | libc/sysdeps/linux/nios2/crt0.S | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/libc/sysdeps/linux/nios2/crt0.S b/libc/sysdeps/linux/nios2/crt0.S deleted file mode 100644 index 95c9450cd..000000000 --- a/libc/sysdeps/linux/nios2/crt0.S +++ /dev/null @@ -1,64 +0,0 @@ -/* - * libc/sysdeps/linux/nios2/crt0.S -- entry point for linux/nios2 - * - * Copyright (C) 2004,05,06 Microtronix Datacom Ltd - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License. See the file COPYING.LIB in the main - * directory of this archive for more details. - * - * Written by Wentao Xu <wentao@microtronix.com> - * - */ - -#include <features.h> -#include <asm/unistd.h> - - .global _start - .type __start,@function - .weak _init - .weak _fini - .type __uClibc_start_main,@function - .type __h_errno_location, @function - .type _stdio_init, @function - .type _stdio_term, @function - .text - .balign 4 -_start: - nop - br 0f - .long _stext /* start address of .text + 4 */ - .long _etext /* start address of .data */ - .long _edata /* start address of .bss */ -0: - /* load gp */ - movhi gp, %hiadj(_gp) - addi gp, gp, %lo(_gp) - - /* load argc, argv, envp from stack */ - ldw r4, 0(sp) - ldw r5, 4(sp) - ldw r6, 8(sp) - - /* load the 4th arg */ - movhi r7, %hi(_init) - ori r7, r7, %lo(_init) - - /* reuse the argc stack slot for the 5th arg */ - movhi r8, %hi(_fini) - ori r8, r8, %lo(_fini) - stw r8, 0(sp) - - /* call uClibc_main, shouldn't return */ -#ifdef __PIC__ - /* just pray 16 bit offset is enough */ - br __uClibc_start_main -#else - call __uClibc_start_main -#endif - - /* crash in the event of return */ -__exit: - movui r2, TRAP_ID_SYSCALL - movui r3, __NR_exit - trap
\ No newline at end of file |