[gdb/ax] small "setv" fix and documentation's adjustment.

gdb/doc/agentexpr.texi documents the "setv" opcode as follow:

    @item @code{setv} (0x2d) @var{n}: @result{} @var{v}
    Set trace state variable number @var{n} to the value found on the top
    of the stack.  The stack is unchanged, so that the value is readily
    available if the assignment is part of a larger expression.  The
    handling of @var{n} is as described for @code{getv}.

The @item line is incorrect (and does not match with its
description), so this patch fixes it.

Additionally, in gdb/common/ax.def we find the line:

    DEFOP (setv, 2, 0, 0, 1, 0x2d)

From the comment earlier in the file:

       Each line is of the form:

       DEFOP (name, size, data_size, consumed, produced, opcode)
[...]
       CONSUMED is the number of stack elements consumed.
       PRODUCED is the number of stack elements produced.

which is saying that nothing is consumed and one item is produced.
Both should be 0 or both should be 1.

This patch sets them both to 1, which seems better since if nothing
is on the stack an error will occur.

gdb/ChangeLog:

        * common/ax.def (setv): Fix consumed entry in setv DEFOP.

gdb/doc/ChangeLog:

        * agentexpr.texi (Bytecode Descriptions): Fix summary line for setv.

Tested on x86_64-linux.
This commit is contained in:
David Taylor 2015-02-19 18:53:50 +04:00 committed by Joel Brobecker
parent db95bb7c59
commit 53cf2ee0d9
4 changed files with 10 additions and 2 deletions

View file

@ -1,3 +1,7 @@
2015-02-19 David Taylor <dtaylor@emc.com>
* common/ax.def (setv): Fix consumed entry in setv DEFOP.
2015-02-18 Patrick Palka <patrick@parcs.ath.cx> 2015-02-18 Patrick Palka <patrick@parcs.ath.cx>
* tui/tui-io.c (tui_handle_resize_during_io): Remove this * tui/tui-io.c (tui_handle_resize_during_io): Remove this

View file

@ -83,7 +83,7 @@ DEFOP (pop, 0, 0, 1, 0, 0x29)
DEFOP (zero_ext, 1, 0, 1, 1, 0x2a) DEFOP (zero_ext, 1, 0, 1, 1, 0x2a)
DEFOP (swap, 0, 0, 2, 2, 0x2b) DEFOP (swap, 0, 0, 2, 2, 0x2b)
DEFOP (getv, 2, 0, 0, 1, 0x2c) DEFOP (getv, 2, 0, 0, 1, 0x2c)
DEFOP (setv, 2, 0, 0, 1, 0x2d) DEFOP (setv, 2, 0, 1, 1, 0x2d)
DEFOP (tracev, 2, 0, 0, 1, 0x2e) DEFOP (tracev, 2, 0, 0, 1, 0x2e)
DEFOP (tracenz, 0, 0, 2, 0, 0x2f) DEFOP (tracenz, 0, 0, 2, 0, 0x2f)
DEFOP (trace16, 2, 0, 1, 1, 0x30) DEFOP (trace16, 2, 0, 1, 1, 0x30)

View file

@ -1,3 +1,7 @@
2015-02-19 David Taylor <dtaylor@emc.com>
* agentexpr.texi (Bytecode Descriptions): Fix summary line for setv.
2015-02-17 Jose E. Marchesi <jose.marchesi@oracle.com> 2015-02-17 Jose E. Marchesi <jose.marchesi@oracle.com>
* gdb.texinfo (Static Probe Points): Add cindex `static probe * gdb.texinfo (Static Probe Points): Add cindex `static probe

View file

@ -461,7 +461,7 @@ alignment within the bytecode stream; thus, on machines where fetching a
16-bit on an unaligned address raises an exception, you should fetch the 16-bit on an unaligned address raises an exception, you should fetch the
register number one byte at a time. register number one byte at a time.
@item @code{setv} (0x2d) @var{n}: @result{} @var{v} @item @code{setv} (0x2d) @var{n}: @var{v} @result{} @var{v}
Set trace state variable number @var{n} to the value found on the top Set trace state variable number @var{n} to the value found on the top
of the stack. The stack is unchanged, so that the value is readily of the stack. The stack is unchanged, so that the value is readily
available if the assignment is part of a larger expression. The available if the assignment is part of a larger expression. The