Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory
Before this patch https://sourceware.org/ml/gdb-patches/2014-02/msg00709.html read_value_memory checks parameter 'stack', and call read_stack or read_memory respectively. However, 'stack' is not checked and TARGET_OBJECT_MEMORY is always used in target_xfer_partial, which is a mistake in the patch above. This patch checks parameter 'stack', and choose TARGET_OBJECT_MEMORY or TARGET_OBJECT_STACK_MEMORY accordingly. gdb: 2016-04-22 Yao Qi <yao.qi@linaro.org> * valops.c (read_value_memory): New local variable 'stack'. Set it to either TARGET_OBJECT_STACK_MEMORY or TARGET_OBJECT_MEMORY.
This commit is contained in:
parent
b3f11165aa
commit
6d7e9d3b8d
|
@ -1,3 +1,9 @@
|
||||||
|
2016-04-22 Yao Qi <yao.qi@linaro.org>
|
||||||
|
|
||||||
|
* 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 <palves@redhat.com>
|
2016-04-22 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* ada-exp.y: Remove all yy symbol remappings.
|
* ada-exp.y: Remove all yy symbol remappings.
|
||||||
|
|
|
@ -961,6 +961,9 @@ read_value_memory (struct value *val, int embedded_offset,
|
||||||
ULONGEST xfered_total = 0;
|
ULONGEST xfered_total = 0;
|
||||||
struct gdbarch *arch = get_value_arch (val);
|
struct gdbarch *arch = get_value_arch (val);
|
||||||
int unit_size = gdbarch_addressable_memory_unit_size (arch);
|
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)
|
while (xfered_total < length)
|
||||||
{
|
{
|
||||||
|
@ -968,7 +971,7 @@ read_value_memory (struct value *val, int embedded_offset,
|
||||||
ULONGEST xfered_partial;
|
ULONGEST xfered_partial;
|
||||||
|
|
||||||
status = target_xfer_partial (current_target.beneath,
|
status = target_xfer_partial (current_target.beneath,
|
||||||
TARGET_OBJECT_MEMORY, NULL,
|
object, NULL,
|
||||||
buffer + xfered_total * unit_size, NULL,
|
buffer + xfered_total * unit_size, NULL,
|
||||||
memaddr + xfered_total,
|
memaddr + xfered_total,
|
||||||
length - xfered_total,
|
length - xfered_total,
|
||||||
|
|
Loading…
Reference in New Issue