* dwarf2expr.h (dwarf2_read_address): Add gdbarch argument.
* dwarf2expr.c (dwarf2_read_address): Add gdbarch argument. Call gdbarch_integer_to_address directly instead of converting to value and back. Update comment. (execute_stack_op): Update call site. * dwarf2loc.c (find_location_expression): Likewise. (locexpr_describe_location): Update * dwarf2expr.h (struct dwarf_expr_context): Add gdbarch member. * dwarf2-frame.c (execute_stack_op): Initialize ctx->gdbarch. * dwarf2loc. (dwarf2_evaluate_loc_desc): Likewise. (dwarf2_loc_desc_needs_frame): Likewise.
This commit is contained in:
parent
714835d5a6
commit
f7fd47281b
5 changed files with 44 additions and 26 deletions
|
@ -34,6 +34,9 @@ struct dwarf_expr_context
|
|||
number of elements allocated to the stack. */
|
||||
int stack_len, stack_allocated;
|
||||
|
||||
/* Target architecture to use for address operations. */
|
||||
struct gdbarch *gdbarch;
|
||||
|
||||
/* Target address size in bytes. */
|
||||
int addr_size;
|
||||
|
||||
|
@ -138,7 +141,7 @@ CORE_ADDR dwarf_expr_fetch (struct dwarf_expr_context *ctx, int n);
|
|||
|
||||
gdb_byte *read_uleb128 (gdb_byte *buf, gdb_byte *buf_end, ULONGEST * r);
|
||||
gdb_byte *read_sleb128 (gdb_byte *buf, gdb_byte *buf_end, LONGEST * r);
|
||||
CORE_ADDR dwarf2_read_address (gdb_byte *buf, gdb_byte *buf_end,
|
||||
int addr_size);
|
||||
CORE_ADDR dwarf2_read_address (struct gdbarch *gdbarch, gdb_byte *buf,
|
||||
gdb_byte *buf_end, int addr_size);
|
||||
|
||||
#endif /* dwarf2expr.h */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue