diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c index 1255b00..2b5aa44 100644 --- a/gdb/ada-valprint.c +++ b/gdb/ada-valprint.c @@ -1132,11 +1132,11 @@ print_field_values (struct type *type, const gdb_byte *valaddr, struct value_print_options opts; adjust_type_signedness (TYPE_FIELD_TYPE (type, i)); - v = ada_value_primitive_packed_val (NULL, valaddr, - bit_pos / HOST_CHAR_BIT, - bit_pos % HOST_CHAR_BIT, - bit_size, - TYPE_FIELD_TYPE (type, i)); + v = ada_value_primitive_packed_val + (NULL, valaddr, + offset + bit_pos / HOST_CHAR_BIT, + bit_pos % HOST_CHAR_BIT, + bit_size, TYPE_FIELD_TYPE (type, i)); opts = *options; opts.deref_ref = 0; val_print (TYPE_FIELD_TYPE (type, i),