aboutsummaryrefslogtreecommitdiff
path: root/gdb/p-valprint.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/p-valprint.c')
-rw-r--r--gdb/p-valprint.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index 2d1cb08..68ff54a 100644
--- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c
@@ -251,11 +251,10 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
elttype = check_typedef (TYPE_TARGET_TYPE (type));
if (options->addressprint)
{
+ CORE_ADDR addr
+ = extract_typed_address (valaddr + embedded_offset, type);
fprintf_filtered (stream, "@");
- /* Extract the address, assume that it is unsigned. */
- fputs_filtered (paddress (
- extract_unsigned_integer (valaddr + embedded_offset,
- gdbarch_ptr_bit (current_gdbarch) / HOST_CHAR_BIT)), stream);
+ fputs_filtered (paddress (addr), stream);
if (options->deref_ref)
fputs_filtered (": ", stream);
}