reserve proposed new bytecodes
Commit Message
Eli Zaretskii <eliz@gnu.org> wrote:
> > From: David Taylor <dtaylor@emc.com>
> > Date: Tue, 26 Aug 2014 17:54:20 -0400
> >
> > +@item @code{setmem8} (0x35): @var{addr} @var{value} @result{}
> > +@itemx @code{setmem16} (0x36): @var{addr} @var{value} @result{}
> > +@itemx @code{setmem32} (0x37): @var{addr} @var{value} @result{}
> > +@itemx @code{setmem64} (0x38): @var{addr} @var{value} @result{}
>
> I asked you to put "(nothing)" after @result{}.
>
> > +@item @code{setreg} (0x39) @var{regnum}: @var{value} @result{}
>
> Likewise here.
You're right. Sorry. Here's a revised version with the 5 requested
insertions of (nothing) in agentexpr.texi. The pdf, info, and html
targets all succeeded; visually the modified parts of gdb.pdf looked
correct.
Entry for gdb/ChangeLog:
2014-08-26 David Taylor <dtaylor@emc.com>
* common/ax.def: Add DEFOP entries for proposed bytecodes setmem8,
setmem16, setmem32, setmem64, and setreg.
Entry for gdb/doc/ChangeLog:
2014-08-26 David Taylor <dtaylor@emc.com>
* agentexpr.texi (Bytecode Descriptions): Add decsriptions of
propmosed bytecodes setmem8, setmem16, setmem32, setmem64, and
setreg.
The actual diff (against GDB 7.8, but these two files don't change very
often):
Comments
> cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>
> Date: Wed, 27 Aug 2014 09:49:59 -0400
> From: David Taylor <dtaylor@emc.com>
>
> Eli Zaretskii <eliz@gnu.org> wrote:
>
> > > From: David Taylor <dtaylor@emc.com>
> > > Date: Tue, 26 Aug 2014 17:54:20 -0400
> > >
> > > +@item @code{setmem8} (0x35): @var{addr} @var{value} @result{}
> > > +@itemx @code{setmem16} (0x36): @var{addr} @var{value} @result{}
> > > +@itemx @code{setmem32} (0x37): @var{addr} @var{value} @result{}
> > > +@itemx @code{setmem64} (0x38): @var{addr} @var{value} @result{}
> >
> > I asked you to put "(nothing)" after @result{}.
> >
> > > +@item @code{setreg} (0x39) @var{regnum}: @var{value} @result{}
> >
> > Likewise here.
>
> You're right. Sorry. Here's a revised version with the 5 requested
> insertions of (nothing) in agentexpr.texi. The pdf, info, and html
> targets all succeeded; visually the modified parts of gdb.pdf looked
> correct.
This version is fine with me. Thanks.
> Entry for gdb/doc/ChangeLog:
>
> 2014-08-26 David Taylor <dtaylor@emc.com>
>
> * agentexpr.texi (Bytecode Descriptions): Add decsriptions of
^^^^^^^^^^^^
A typo.
> propmosed bytecodes setmem8, setmem16, setmem32, setmem64, and
^^^^^^^^^
Another one.
===================================================================
RCS file: /home/cvsroot/GDB/gdb/common/ax.def,v
retrieving revision 1.1.1.2
@@ -95,3 +95,9 @@
DEFOP (rot, 0, 0, 3, 3, 0x33)
/* Both the argument and consumed numbers are dynamic for this one. */
DEFOP (printf, 0, 0, 0, 0, 0x34)
+/* The following five operands are not yet implemented. */
+DEFOP (setmem8, 0, 8, 2, 0, 0x35)
+DEFOP (setmem16, 0, 16, 2, 0, 0x36)
+DEFOP (setmem32, 0, 32, 2, 0, 0x37)
+DEFOP (setmem64, 0, 64, 2, 0, 0x38)
+DEFOP (setreg, 2, 0, 1, 0, 0x39)
===================================================================
RCS file: /home/cvsroot/GDB/gdb/doc/agentexpr.texi,v
retrieving revision 1.1.1.2
@@ -516,6 +516,28 @@
range of memory, then the next-to-top of the stack is the lvalue's
address, and the top of the stack is the lvalue's size, in bytes.
+@item @code{setmem8} (0x35): @var{addr} @var{value} @result{} (nothing)
+@itemx @code{setmem16} (0x36): @var{addr} @var{value} @result{} (nothing)
+@itemx @code{setmem32} (0x37): @var{addr} @var{value} @result{} (nothing)
+@itemx @code{setmem64} (0x38): @var{addr} @var{value} @result{} (nothing)
+Pop an address @var{addr} and value @var{value} from the stack. For
+bytecode @code{setmem}@var{n}, set an @var{n}-bit value at @var{addr},
+using the @var{n}-bit least significant bits of @var{value} and natural
+target endianness.
+
+If attempting to write memory at @var{addr} would cause a processor
+exception of some sort, terminate with an error.
+
+Not implemented yet.
+
+@item @code{setreg} (0x39) @var{regnum}: @var{value} @result{} (nothing)
+Pop @var{value} from the stack. Set register @var{regnum} to @var{value}.
+
+If the register is read-only or if attempting to write @var{value} to it
+would cause a processor exception of some sort, terminate with an error.
+
+Not implemented yet.
+
@end table