aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2cfi.h
diff options
context:
space:
mode:
authorMichal Ludvig <mludvig@suse.cz>2002-10-24 01:27:43 +0000
committerMichal Ludvig <mludvig@suse.cz>2002-10-24 01:27:43 +0000
commitbaed091b2b498c9cd74af81c6891ad13c312ee47 (patch)
tree8d0c14b78632129a54f17525e54f40fc030ace67 /gdb/dwarf2cfi.h
parentc38da1aff132c1c35324c97cc89efd3629a006e5 (diff)
downloadgdb-baed091b2b498c9cd74af81c6891ad13c312ee47.zip
gdb-baed091b2b498c9cd74af81c6891ad13c312ee47.tar.gz
gdb-baed091b2b498c9cd74af81c6891ad13c312ee47.tar.bz2
2002-10-24 Michal Ludvig <mludvig@suse.cz>
* dwarf2cfi.c (struct context) (struct context_reg): Moved to dwarf2cfi.h (context_alloc, frame_state_alloc, context_cpy): Made extern instead of static, removed prototypes. * dwarf2cfi.h (struct context) (struct context_reg): New, moved from dwarf2cfi.c (context_alloc, frame_state_alloc, context_cpy): New prototypes. * x86-64-linux-tdep.c (x86_64_linux_sigtramp_saved_pc): Changed from static to extern. (LINUX_SIGINFO_SIZE, LINUX_SIGCONTEXT_PC_OFFSET) (LINUX_SIGCONTEXT_FP_OFFSET) (LINUX_UCONTEXT_SIGCONTEXT_OFFSET): Adjusted. (x86_64_linux_in_sigtramp, x86_64_linux_frame_chain) (x86_64_init_frame_pc, x86_64_init_extra_frame_info): New. * x86-64-tdep.c (x86_64_gdbarch_init): Several set_gdbarch_*() calls now use x86-64 specific functions instead of DWARF2 CFI ones. * x86-64-tdep.h (x86_64_linux_in_sigtramp) (x86_64_linux_frame_chain, x86_64_init_frame_pc) (x86_64_init_extra_frame_info): New prototypes.
Diffstat (limited to 'gdb/dwarf2cfi.h')
-rw-r--r--gdb/dwarf2cfi.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/gdb/dwarf2cfi.h b/gdb/dwarf2cfi.h
index f4c675a..b6abbde 100644
--- a/gdb/dwarf2cfi.h
+++ b/gdb/dwarf2cfi.h
@@ -22,6 +22,37 @@
#ifndef DWARF2CFI_H
#define DWARF2CFI_H
+struct context_reg
+{
+ union
+ {
+ unsigned int reg;
+ long offset;
+ CORE_ADDR addr;
+ }
+ loc;
+ enum
+ {
+ REG_CTX_UNSAVED,
+ REG_CTX_SAVED_OFFSET,
+ REG_CTX_SAVED_REG,
+ REG_CTX_SAVED_ADDR,
+ REG_CTX_VALUE,
+ }
+ how;
+};
+
+/* This is the register and unwind state for a particular frame. */
+struct context
+{
+ struct context_reg *reg;
+
+ CORE_ADDR cfa;
+ CORE_ADDR ra;
+ void *lsda;
+ int args_size;
+};
+
/* Return the frame address. */
CORE_ADDR cfi_read_fp ();
@@ -63,4 +94,7 @@ void cfi_get_saved_register (char *raw_buffer,
void cfi_virtual_frame_pointer (CORE_ADDR pc, int *frame_regnum,
LONGEST * frame_offset);
+struct context *context_alloc ();
+void context_cpy (struct context *dst, struct context *src);
+struct frame_state *frame_state_alloc ();
#endif