This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: set_value_component_location in apply_val_pretty_printer
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: Ulrich Weigand <uweigand at de dot ibm dot com>
- Cc: user-agent at de dot ibm dot com, "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, Tom Tromey <tom at tromey dot com>
- Date: Tue, 22 Nov 2016 08:59:59 +0000
- Subject: Re: set_value_component_location in apply_val_pretty_printer
- Authentication-results: sourceware.org; auth=none
- References: <20161114125143.GA22037@E107787-LIN> <20161114163832.3C14F10B924@oc8523832656.ibm.com> <20161121141428.GB28605@E107787-LIN> <CAH=s-PMRLNNPzwMDMiZV1L6cqvx58u_Fk_ng9JLLbyQLQC2uOA@mail.gmail.com> <20161121203724.ttcwotysdozdzn7v@localhost>
On Mon, Nov 21, 2016 at 08:37:24PM +0000, Yao Qi wrote:
> On Mon, Nov 21, 2016 at 06:23:47PM +0000, Yao Qi wrote:
> > I removed the code setting VALUE_NEXT_FRAME_ID, but
> > value_from_component only sets VALUE_FRAME_ID. The change
> > above is not equivalent, and it causes some regressions in
> > https://sourceware.org/ml/gdb-testers/2016-q4/msg03381.html
> >
> > Sorry about that. The fix would be setting both
> > VALUE_NEXT_FRAME_ID and VALUE_FRAME_ID in
> > value_from_component. I'll give a fix.
> >
>
> Oh, looks we renamed VALUE_FRAME_ID to VALUE_NEXT_FRAME_ID recently,
> https://sourceware.org/ml/gdb-patches/2016-11/msg00018.html
> and I regression tested against a copy of one-week-old gdb, but
> didn't see the regression. The fix would be replacing VALUE_FRAME_ID
> with VALUE_NEXT_FRAME_ID in my patch. Testing the fix...
>
The patch below fixes the regressions by replacing VALUE_FRAME_ID
with VALUE_NEXT_FRAME_ID in value_from_component. I pushed it in.
--
Yao (齐尧)
>From c5acd8159633cfde315b01431099e1ce5b23dcf7 Mon Sep 17 00:00:00 2001
From: Yao Qi <yao.qi@linaro.org>
Date: Tue, 22 Nov 2016 08:53:34 +0000
Subject: [PATCH] Use VALUE_NEXT_FRAME_ID in value_from_component
We renamed VALUE_FRAME_ID to VALUE_NEXT_FRAME_ID recently,
https://sourceware.org/ml/gdb-patches/2016-11/msg00018.html
and we should use VALUE_NEXT_FRAME_ID in value_from_component
too.
gdb:
2016-11-22 Yao Qi <yao.qi@linaro.org>
* value.c (value_from_component): Use VALUE_NEXT_FRAME_ID
instead of VALUE_FROM_ID.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index dfaddd1..5b88917 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2016-11-22 Yao Qi <yao.qi@linaro.org>
+
+ * value.c (value_from_component): Use VALUE_NEXT_FRAME_ID
+ instead of VALUE_FROM_ID.
+
2016-11-21 Simon Marchi <simon.marchi@ericsson.com>
* Makefile.in (%o: $(srcdir)/mi/%.c): Add missing POSTCOMPILE
diff --git a/gdb/value.c b/gdb/value.c
index 200d61d..8d33501 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -3815,7 +3815,7 @@ value_from_component (struct value *whole, struct type *type, LONGEST offset)
v->offset = value_offset (whole) + offset + value_embedded_offset (whole);
set_value_component_location (v, whole);
VALUE_REGNUM (v) = VALUE_REGNUM (whole);
- VALUE_FRAME_ID (v) = VALUE_FRAME_ID (whole);
+ VALUE_NEXT_FRAME_ID (v) = VALUE_NEXT_FRAME_ID (whole);
return v;
}