1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If
- not, write to the Free Software Foundation, Inc., 675 Mass Ave,
- Cambridge, MA 02139, USA. */
- #include <features.h>
- #include <asm/unistd.h>
- #include "NM_Macros.S"
- #define __ASSEMBLY__
- #include <asm/ptrace.h> /* for REGWIN_SZ */
- .global _start
- .type __start,@function
- .weak _init
- .weak _fini
- .type main,@function
- .type __uClibc_main,@function
- .type __h_errno_location, @function
- .type _stdio_init, @function
- .type _stdio_term, @function
- .text
- _start:
- nop
- nop
- MOVIA %o0, main@h
- lds %o1,[%sp, (REGWIN_SZ / 4) + 0] // main's argc
- lds %o2,[%sp, (REGWIN_SZ / 4) + 1] // main's argv
- MOVIA %o3, _init@h
- MOVIA %o4, _fini@h
- mov %o5, %i0 /* rtld_fini */
- mov %o6, %sp /* stack_end */
- MOVIA %o7, __uClibc_main@h
- call %o7
- nop
- /* If that didn't kill us, ... */
- __exit:
- MOVIP %g1, __NR_exit
- trap 63
|