diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2004-12-27 13:17:06 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2004-12-27 13:17:06 +0000 |
commit | 2ed3fb102e82ad2127a78a905dce5acf55afc729 (patch) | |
tree | b55832f88f0f339bfb56693aead72749739d66df /gnu/usr.bin/binutils/gdb/trad-frame.h | |
parent | bafd719ae34a32376be8ae2ddd673e95254092b4 (diff) |
GDB 6.3 (excluding .info files)
Diffstat (limited to 'gnu/usr.bin/binutils/gdb/trad-frame.h')
-rw-r--r-- | gnu/usr.bin/binutils/gdb/trad-frame.h | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/gnu/usr.bin/binutils/gdb/trad-frame.h b/gnu/usr.bin/binutils/gdb/trad-frame.h index 55720c7e836..55a257f40f0 100644 --- a/gnu/usr.bin/binutils/gdb/trad-frame.h +++ b/gnu/usr.bin/binutils/gdb/trad-frame.h @@ -1,6 +1,6 @@ /* Traditional frame unwind support, for GDB the GNU Debugger. - Copyright 2003 Free Software Foundation, Inc. + Copyright 2003, 2004 Free Software Foundation, Inc. This file is part of GDB. @@ -22,7 +22,38 @@ #ifndef TRAD_FRAME_H #define TRAD_FRAME_H +#include "frame.h" /* For "struct frame_id". */ + struct frame_info; +struct trad_frame_cache; + +/* A simple, or traditional frame cache. + + The entire cache is populated in a single pass and then generic + routines are used to extract the various cache values. */ + +struct trad_frame_cache *trad_frame_cache_zalloc (struct frame_info *next_frame); + +/* This frame's ID. */ +void trad_frame_set_id (struct trad_frame_cache *this_trad_cache, + struct frame_id this_id); +void trad_frame_get_id (struct trad_frame_cache *this_trad_cache, + struct frame_id *this_id); +void trad_frame_set_this_base (struct trad_frame_cache *this_trad_cache, + CORE_ADDR this_base); +CORE_ADDR trad_frame_get_this_base (struct trad_frame_cache *this_trad_cache); + +void trad_frame_set_reg_realreg (struct trad_frame_cache *this_trad_cache, + int regnum, int realreg); +void trad_frame_set_reg_unknown (struct trad_frame_cache *this_trad_cache, + int regnum, CORE_ADDR addr); +void trad_frame_set_reg_addr (struct trad_frame_cache *this_trad_cache, + int regnum, CORE_ADDR addr); +void trad_frame_get_register (struct trad_frame_cache *this_trad_cache, + struct frame_info *next_frame, + int regnum, int *optimizedp, + enum lval_type *lvalp, CORE_ADDR *addrp, + int *realregp, void *bufferp); /* A traditional saved regs table, indexed by REGNUM, encoding where the value of REGNUM for the previous frame can be found in this @@ -79,10 +110,10 @@ struct trad_frame_saved_reg *trad_frame_alloc_saved_regs (struct frame_info *nex /* Given the trad_frame info, return the location of the specified register. */ -void trad_frame_prev_register (struct frame_info *next_frame, - struct trad_frame_saved_reg this_saved_regs[], - int regnum, int *optimizedp, - enum lval_type *lvalp, CORE_ADDR *addrp, - int *realregp, void *bufferp); +void trad_frame_get_prev_register (struct frame_info *next_frame, + struct trad_frame_saved_reg this_saved_regs[], + int regnum, int *optimizedp, + enum lval_type *lvalp, CORE_ADDR *addrp, + int *realregp, void *bufferp); #endif |