]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgcc/config/mips/crtn.S
Move crtstuff support to toplevel libgcc
[thirdparty/gcc.git] / libgcc / config / mips / crtn.S
CommitLineData
ad41bd84
JM
1/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
2
3This file is part of GCC.
4
5GCC is free software; you can redistribute it and/or modify it under
6the terms of the GNU General Public License as published by the Free
7Software Foundation; either version 3, or (at your option) any later
8version.
9
10GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11WARRANTY; without even the implied warranty of MERCHANTABILITY or
12FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13for more details.
14
15Under Section 7 of GPL version 3, you are granted additional
16permissions described in the GCC Runtime Library Exception, version
173.1, as published by the Free Software Foundation.
18
19You should have received a copy of the GNU General Public License and
20a copy of the GCC Runtime Library Exception along with this program;
21see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
22<http://www.gnu.org/licenses/>. */
23
46f9491e 24/* 4 slots for argument spill area. 1 for cpreturn, 1 for stack.
a098df27 25 Return spill offset of 40 and 20. Aligned to 16 bytes for n32. */
46f9491e 26
b137f9fc 27#ifdef __mips16
302359da 28#define RA $7
b137f9fc 29#else
302359da
RS
30#define RA $31
31#endif
32
33 .section .init,"ax",@progbits
46f9491e 34#ifdef __mips64
302359da 35 ld RA,40($sp)
46f9491e
EC
36 daddu $sp,$sp,48
37#else
302359da 38 lw RA,20($sp)
46f9491e 39 addu $sp,$sp,32
282cb01b 40#endif
302359da 41 j RA
46f9491e
EC
42
43 .section .fini,"ax",@progbits
b137f9fc 44#ifdef __mips64
302359da 45 ld RA,40($sp)
b137f9fc
EC
46 daddu $sp,$sp,48
47#else
302359da 48 lw RA,20($sp)
b137f9fc 49 addu $sp,$sp,32
46f9491e 50#endif
302359da
RS
51 j RA
52