mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
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.
This commit is contained in:
@ -716,6 +716,10 @@ execute_stack_op (struct dwarf_expr_context *ctx,
|
||||
}
|
||||
break;
|
||||
|
||||
case DW_OP_call_frame_cfa:
|
||||
result = (ctx->get_frame_cfa) (ctx->baton);
|
||||
break;
|
||||
|
||||
case DW_OP_GNU_push_tls_address:
|
||||
/* Variable is at a constant offset in the thread-local
|
||||
storage block into the objfile for the current thread and
|
||||
|
Reference in New Issue
Block a user