diff options
author | Tom Tromey <tromey@redhat.com> | 2009-09-02 14:53:52 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2009-09-02 14:53:52 +0000 |
commit | eb6eb0c014f9de9f5e4c6909291e8a6c96f1b1d9 (patch) | |
tree | eea8a6d2c52ce03258d2e969e1f96ca9bbf5ab6b /gdb/dwarf2expr.h | |
parent | 18111055212657a23aabfa4ebe33914546eeefc6 (diff) | |
download | gdb-eb6eb0c014f9de9f5e4c6909291e8a6c96f1b1d9.tar.gz |
gdb
* frame.h (frame_unwinder_is): Declare.
* frame.c (frame_unwinder_is): New function.
* dwarf2loc.c: Include dwarf2-frame.h.
(dwarf_expr_frame_cfa): New function.
(dwarf2_evaluate_loc_desc): Use it.
(needs_frame_frame_cfa): New function.
(dwarf2_loc_desc_needs_frame): Use it.
* dwarf2expr.h (struct dwarf_expr_context) <get_frame_cfa>: New
field.
* dwarf2expr.c (execute_stack_op) <DW_OP_call_frame_cfa>: New
case.
* dwarf2-frame.h (dwarf2_frame_cfa): Declare.
* dwarf2-frame.c (no_get_frame_cfa): New function.
(execute_stack_op): Use it.
(dwarf2_frame_cfa): New function.
gdb/testsuite
* gdb.dwarf2/callframecfa.exp: New file.
* gdb.dwarf2/callframecfa.S: New file.
Diffstat (limited to 'gdb/dwarf2expr.h')
-rw-r--r-- | gdb/dwarf2expr.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/dwarf2expr.h b/gdb/dwarf2expr.h index 2306e490348..6b3a068e69e 100644 --- a/gdb/dwarf2expr.h +++ b/gdb/dwarf2expr.h @@ -55,6 +55,9 @@ struct dwarf_expr_context expression evaluation is complete. */ void (*get_frame_base) (void *baton, gdb_byte **start, size_t *length); + /* Return the CFA for the frame. */ + CORE_ADDR (*get_frame_cfa) (void *baton); + /* Return the thread-local storage address for DW_OP_GNU_push_tls_address. */ CORE_ADDR (*get_tls_address) (void *baton, CORE_ADDR offset); |