OSDN Git Service

Replace FSF snail mail address with URLs
[uclinux-h8/uClibc.git] / libc / sysdeps / linux / nios / crt1.S
1 /* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
2
3 This file is part of the GNU C Library.
4
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public License as
7 published by the Free Software Foundation; either version 2 of the
8 License, or (at your option) any later version.
9
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with the GNU C Library; see the file COPYING.LIB.  If
17 not, see <http://www.gnu.org/licenses/>.  */
18
19 #include <features.h>
20 #include <asm/unistd.h>
21 #include "NM_Macros.S"
22 #define __ASSEMBLY__
23 #include <asm/ptrace.h>         /* for REGWIN_SZ */
24
25     .global _start
26     .type   __start,@function
27     .weak   _init
28     .weak   _fini
29     .type   main,@function
30     .type   __uClibc_main,@function
31
32         .text
33
34 _start:
35         nop
36         nop
37
38         MOVIA   %o0, main@h
39         lds     %o1,[%sp, (REGWIN_SZ / 4) + 0]  /* main's argc */
40         lds     %o2,[%sp, (REGWIN_SZ / 4) + 1]  /* main's argv */
41
42         MOVIA   %o3, _init@h
43         MOVIA   %o4, _fini@h
44         mov     %o5, %i0        /* rtld_fini */
45         mov     %o6, %sp        /* stack_end */
46         MOVIA   %o7, __uClibc_main@h
47
48         call    %o7
49         nop
50
51
52         /* If that didn't kill us, ... */
53 __exit:
54         MOVIP   %g1, __NR_exit
55         trap    63