diff options
author | Michal Ludvig <mludvig@suse.cz> | 2002-10-24 01:27:43 +0000 |
---|---|---|
committer | Michal Ludvig <mludvig@suse.cz> | 2002-10-24 01:27:43 +0000 |
commit | baed091b2b498c9cd74af81c6891ad13c312ee47 (patch) | |
tree | 8d0c14b78632129a54f17525e54f40fc030ace67 /gdb/dwarf2cfi.h | |
parent | c38da1aff132c1c35324c97cc89efd3629a006e5 (diff) | |
download | gdb-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.h | 34 |
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 |