summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils/gdb/trad-frame.h
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2004-12-27 13:17:06 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2004-12-27 13:17:06 +0000
commit2ed3fb102e82ad2127a78a905dce5acf55afc729 (patch)
treeb55832f88f0f339bfb56693aead72749739d66df /gnu/usr.bin/binutils/gdb/trad-frame.h
parentbafd719ae34a32376be8ae2ddd673e95254092b4 (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.h43
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