* dwarf2expr.c (execute_stack_op): Handle DW_OP_GNU_const_index.
Adjust address for DW_OP_GNU_addr_index. * dwarf2expr.h (dwarf_expr_context): Update comment. * dwarf2loc.c (locexpr_describe_location_piece): New arg per_cu, all callers updated. Handle TLS vars described with DW_OP_GNU_const_index. (disassemble_dwarf_expression): Handle DW_OP_GNU_addr_index and DW_OP_GNU_const_index. * dwarf2read.c (decode_locdesc): Handle DW_OP_GNU_addr_index.
This commit is contained in:
parent
e48f889115
commit
49f6c8397d
5 changed files with 55 additions and 2 deletions
|
@ -725,6 +725,12 @@ execute_stack_op (struct dwarf_expr_context *ctx,
|
|||
break;
|
||||
|
||||
case DW_OP_GNU_addr_index:
|
||||
op_ptr = safe_read_uleb128 (op_ptr, op_end, &uoffset);
|
||||
result = (ctx->funcs->get_addr_index) (ctx->baton, uoffset);
|
||||
result += ctx->offset;
|
||||
result_val = value_from_ulongest (address_type, result);
|
||||
break;
|
||||
case DW_OP_GNU_const_index:
|
||||
op_ptr = safe_read_uleb128 (op_ptr, op_end, &uoffset);
|
||||
result = (ctx->funcs->get_addr_index) (ctx->baton, uoffset);
|
||||
result_val = value_from_ulongest (address_type, result);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue