summaryrefslogtreecommitdiff
path: root/gdb/ax-general.c
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2015-10-27 09:33:29 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2015-10-27 09:33:29 -0400
commit70b8286a9749deb6639c2fd5b39c7e4a26195738 (patch)
treeb309a136d583646c6017b54e7c4d926c1d854303 /gdb/ax-general.c
parenta480de357b17b1b2057b8375284079ccafae39db (diff)
downloadbinutils-gdb-70b8286a9749deb6639c2fd5b39c7e4a26195738.tar.gz
Introduce ax_raw_byte and use it
This patch was taken directly from Pedro's branch. ax_simple is used to append an agent expression operator to an agent expression string. Therefore, it takes an enum agent_op as input. There is an instance where it's called to append a raw byte, unrelated to the enum. It makes the build fail in C++ mode. This patch introduces ax_raw_byte for that purpose and uses it. gdb/ChangeLog: * ax.h (ax_raw_byte): New declaration. * ax-general.c (ax_raw_byte): New function. (ax_simple): Use ax_raw_byte. * ax-gdb.c (gen_printf): Likewise.
Diffstat (limited to 'gdb/ax-general.c')
-rw-r--r--gdb/ax-general.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index e5dc240576a..5c8a25bb3a0 100644
--- a/gdb/ax-general.c
+++ b/gdb/ax-general.c
@@ -133,13 +133,20 @@ read_const (struct agent_expr *x, int o, int n)
return accum;
}
+/* See ax.h. */
+
+void
+ax_raw_byte (struct agent_expr *x, gdb_byte byte)
+{
+ grow_expr (x, 1);
+ x->buf[x->len++] = byte;
+}
/* Append a simple operator OP to EXPR. */
void
ax_simple (struct agent_expr *x, enum agent_op op)
{
- grow_expr (x, 1);
- x->buf[x->len++] = op;
+ ax_raw_byte (x, op);
}
/* Append a pick operator to EXPR. DEPTH is the stack item to pick,