* [PATCH] Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory
@ 2016-04-19 9:54 Yao Qi
2016-04-22 15:54 ` Pedro Alves
0 siblings, 1 reply; 3+ messages in thread
From: Yao Qi @ 2016-04-19 9:54 UTC (permalink / raw)
To: gdb-patches
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-19 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.
---
gdb/valops.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gdb/valops.c b/gdb/valops.c
index 5a244a9..03d7cac 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,
--
1.9.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory
2016-04-19 9:54 [PATCH] Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory Yao Qi
@ 2016-04-22 15:54 ` Pedro Alves
2016-04-22 16:21 ` Yao Qi
0 siblings, 1 reply; 3+ messages in thread
From: Pedro Alves @ 2016-04-22 15:54 UTC (permalink / raw)
To: Yao Qi, gdb-patches
On 04/19/2016 10:53 AM, Yao Qi wrote:
> 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-19 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.
LGTM.
Thanks,
Pedro Alves
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory
2016-04-22 15:54 ` Pedro Alves
@ 2016-04-22 16:21 ` Yao Qi
0 siblings, 0 replies; 3+ messages in thread
From: Yao Qi @ 2016-04-22 16:21 UTC (permalink / raw)
To: Pedro Alves; +Cc: Yao Qi, gdb-patches
Pedro Alves <palves@redhat.com> writes:
> LGTM.
Patch is pushed in.
--
Yao (齐尧)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-04-22 16:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-19 9:54 [PATCH] Choose TARGET_OBJECT_STACK_MEMORY and TARGET_OBJECT_MEMORY in read_value_memory Yao Qi
2016-04-22 15:54 ` Pedro Alves
2016-04-22 16:21 ` Yao Qi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox