diff options
Diffstat (limited to 'gdb/findvar.c')
-rw-r--r-- | gdb/findvar.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gdb/findvar.c b/gdb/findvar.c index e117a8e..e0ca12c 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -321,6 +321,7 @@ unsigned_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + return extract_unsigned_integer (buf, TYPE_LENGTH (type), byte_order); } @@ -329,6 +330,7 @@ signed_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + return extract_signed_integer (buf, TYPE_LENGTH (type), byte_order); } @@ -339,6 +341,7 @@ unsigned_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + store_unsigned_integer (buf, TYPE_LENGTH (type), byte_order, addr); } @@ -347,6 +350,7 @@ address_to_signed_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr) { enum bfd_endian byte_order = gdbarch_byte_order (gdbarch); + store_signed_integer (buf, TYPE_LENGTH (type), byte_order, addr); } @@ -439,6 +443,7 @@ read_var_value (struct symbol *var, struct frame_info *frame) CORE_ADDR addr = symbol_overlayed_address (SYMBOL_VALUE_ADDRESS (var), SYMBOL_OBJ_SECTION (var)); + store_typed_address (value_contents_raw (v), type, addr); } else @@ -448,11 +453,9 @@ read_var_value (struct symbol *var, struct frame_info *frame) return v; case LOC_CONST_BYTES: - { - memcpy (value_contents_raw (v), SYMBOL_VALUE_BYTES (var), len); - VALUE_LVAL (v) = not_lval; - return v; - } + memcpy (value_contents_raw (v), SYMBOL_VALUE_BYTES (var), len); + VALUE_LVAL (v) = not_lval; + return v; case LOC_STATIC: if (overlay_debugging) @@ -473,6 +476,7 @@ read_var_value (struct symbol *var, struct frame_info *frame) { struct value *ref; CORE_ADDR argref; + argref = get_frame_args_address (frame); if (!argref) return 0; |