1 /* Traditional frame unwind support, for GDB the GNU Debugger.
3 Copyright 2003 Free Software Foundation, Inc.
5 This file is part of GDB.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
27 /* If non-zero (and regnum >= 0), the stack address at which the
28 register is saved. By default, it is assumed that the register
29 was not saved (addr == 0). Remember, a LONGEST can always fit a
32 /* else, if regnum >=0 (and addr == 0), the REGNUM that contains
33 this registers value. By default, it is assumed that the
34 registers are not moved (the register's value is still in that
35 register and regnum == the index). */
37 /* else, if regnum < 0, ADDR is the registers value. */
40 /* Convenience function, encode the register's value in the
42 void trad_frame_register_value (struct trad_frame this_saved_regs
[],
43 int regnum
, LONGEST val
);
45 /* Return a freshly allocated (and initialized) trad_frame array. */
46 struct trad_frame
*trad_frame_alloc_saved_regs (struct frame_info
*next_frame
);
48 /* Given the trad_frame info, return the location of the specified
50 void trad_frame_prev_register (struct frame_info
*next_frame
,
51 struct trad_frame this_saved_regs
[],
52 int regnum
, int *optimizedp
,
53 enum lval_type
*lvalp
, CORE_ADDR
*addrp
,
54 int *realnump
, void *bufferp
);