Commit | Line | Data |
---|---|---|
c906108c | 1 | /* Target machine description for SGI Iris under Irix 5, for GDB. |
10a08821 AC |
2 | |
3 | Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1998, 2000, 2003 Free | |
4 | Software Foundation, Inc. | |
c906108c | 5 | |
c5aa993b | 6 | This file is part of GDB. |
c906108c | 7 | |
c5aa993b JM |
8 | This program is free software; you can redistribute it and/or modify |
9 | it under the terms of the GNU General Public License as published by | |
10 | the Free Software Foundation; either version 2 of the License, or | |
11 | (at your option) any later version. | |
c906108c | 12 | |
c5aa993b JM |
13 | This program is distributed in the hope that it will be useful, |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | GNU General Public License for more details. | |
c906108c | 17 | |
c5aa993b JM |
18 | You should have received a copy of the GNU General Public License |
19 | along with this program; if not, write to the Free Software | |
20 | Foundation, Inc., 59 Temple Place - Suite 330, | |
21 | Boston, MA 02111-1307, USA. */ | |
c906108c | 22 | |
0ddabb4c AC |
23 | #include "mips/tm-mips.h" |
24 | ||
0ddabb4c AC |
25 | /* Offsets for register values in _sigtramp frame. |
26 | sigcontext is immediately above the _sigtramp frame on Irix. */ | |
27 | #define SIGFRAME_BASE 0x0 | |
28 | #define SIGFRAME_PC_OFF (SIGFRAME_BASE + 2 * 4) | |
29 | #define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 3 * 4) | |
30 | #define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 3 * 4 + 32 * 4 + 4) | |
c906108c | 31 | |
c906108c | 32 | /* The signal handler trampoline is called _sigtramp. */ |
dbfe4626 AC |
33 | #undef DEPRECATED_IN_SIGTRAMP |
34 | #define DEPRECATED_IN_SIGTRAMP(pc, name) ((name) && DEPRECATED_STREQ ("_sigtramp", name)) | |
c906108c SS |
35 | |
36 | /* Irix 5 saves a full 64 bits for each register. We skip 2 * 4 to | |
37 | get to the saved PC (the register mask and status register are both | |
38 | 32 bits) and then another 4 to get to the lower 32 bits. We skip | |
39 | the same 4 bytes, plus the 8 bytes for the PC to get to the | |
40 | registers, and add another 4 to get to the lower 32 bits. We skip | |
41 | 8 bytes per register. */ | |
42 | #undef SIGFRAME_PC_OFF | |
43 | #define SIGFRAME_PC_OFF (SIGFRAME_BASE + 2 * 4 + 4) | |
44 | #undef SIGFRAME_REGSAVE_OFF | |
45 | #define SIGFRAME_REGSAVE_OFF (SIGFRAME_BASE + 2 * 4 + 8 + 4) | |
46 | #undef SIGFRAME_FPREGSAVE_OFF | |
47 | #define SIGFRAME_FPREGSAVE_OFF (SIGFRAME_BASE + 2 * 4 + 8 + 32 * 8 + 4) |