This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
RE: [PATCH] breakpoints / tracepoints and setting variables
- From: "taylor, david" <david dot taylor at emc dot com>
- To: Andrew Burgess <andrew dot burgess at embecosm dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Tue, 2 Aug 2016 20:28:58 +0000
- Subject: RE: [PATCH] breakpoints / tracepoints and setting variables
- Authentication-results: sourceware.org; auth=none
- References: <14037.1468597161@usendtaylorx2l> <20160802113324.GF17743@embecosm.com>
> From: Andrew Burgess [mailto:andrew.burgess@embecosm.com]
> Sent: Tuesday, August 02, 2016 7:33 AM
> I'm not a maintainer, so can't approve your patch, however, I made a
> few comments inline.
Thanks.
I am testing an updated patch that I believe addresses your issues
with one exception --- see below. Assuming it passes with no regressions,
Ill rebase it as one commit and post it.
> Thanks,
> Andrew
>
>
> * David Taylor <dtaylor@emc.com> [2016-07-15 11:39:21 -0400]:
> > diff --git a/gdb/ax-general.c b/gdb/ax-general.c
> > index 7f27a45..5406ab8 100644
> > --- a/gdb/ax-general.c
> > +++ b/gdb/ax-general.c
> > @@ -323,6 +323,28 @@ ax_reg (struct agent_expr *x, int reg)
> > }
> > }
> >
> > +/* Assemble code to pop the top of stack and set register number REG
> > + to its value. */
> > +
> > +void
> > +ax_setreg (struct agent_expr *x, int reg)
> > +{
> > + if (reg >= gdbarch_num_regs (x->gdbarch))
> > + error (_("register number '%d' is a pseudo register or is out of range"),
> reg);
> > + else
> > + {
> > + /* Make sure the register number is in range. */
> > + if (reg < 0 || reg > 0xffff)
> > + error (_("GDB bug: ax-general.c (ax_reg): "
> > + "register number out of range"));
>
> If this indicates a GDB bug then you should switch to either
> internal_error or gdb_assert. If you choose internal_error then you
> can drop the 'GDB bug' prefix.
If I counted correctly, there are 9 other, pre-existing, instances of
error (_("GDB bug: ..." in the file ax-general -- which is why I chose
to do this one that way. I can use internal_error if people feel that
is better than consistency with rest of the file.