diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 512344c103..56f9644007 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2016-04-22 Yao Qi + + * valops.c (read_value_memory): New local variable 'stack'. + Set it to either TARGET_OBJECT_STACK_MEMORY or + TARGET_OBJECT_MEMORY. + 2016-04-22 Pedro Alves * ada-exp.y: Remove all yy symbol remappings. diff --git a/gdb/valops.c b/gdb/valops.c index 8a555f3286..bbbbd0074e 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -961,6 +961,9 @@ read_value_memory (struct value *val, int embedded_offset, ULONGEST xfered_total = 0; struct gdbarch *arch = get_value_arch (val); int unit_size = gdbarch_addressable_memory_unit_size (arch); + enum target_object object; + + object = stack ? TARGET_OBJECT_STACK_MEMORY : TARGET_OBJECT_MEMORY; while (xfered_total < length) { @@ -968,7 +971,7 @@ read_value_memory (struct value *val, int embedded_offset, ULONGEST xfered_partial; status = target_xfer_partial (current_target.beneath, - TARGET_OBJECT_MEMORY, NULL, + object, NULL, buffer + xfered_total * unit_size, NULL, memaddr + xfered_total, length - xfered_total,