diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5b52c37376..7c61032914 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2015-05-05 Joel Brobecker + + * ada-lang.c (ada_value_primitive_packed_val): Use a more + correct address in call to value_at. Adjust call to + value_address accordingly. + 2015-05-05 Joel Brobecker * ada-valprint.c (ada_val_print_1): Resolve TYPE before trying diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 26f2c52ed4..42f84e47c7 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -2417,10 +2417,10 @@ ada_value_primitive_packed_val (struct value *obj, const gdb_byte *valaddr, } else if (VALUE_LVAL (obj) == lval_memory && value_lazy (obj)) { - v = value_at (type, value_address (obj)); + v = value_at (type, value_address (obj) + offset); type = value_type (v); bytes = (unsigned char *) alloca (len); - read_memory (value_address (v) + offset, bytes, len); + read_memory (value_address (v), bytes, len); } else {