aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/ax-gdb.c2
-rw-r--r--gdb/ax-general.c11
-rw-r--r--gdb/ax.h3
4 files changed, 20 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7b78890..768de09 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2015-10-27 Simon Marchi <simon.marchi@polymtl.ca>
+ * 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.
+
+2015-10-27 Simon Marchi <simon.marchi@polymtl.ca>
+
* ada-lang.h (GROW_VECT): Add cast.
2015-10-26 Doug Evans <xdje42@gmail.com>
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 817fa53..7091a4a 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -2564,7 +2564,7 @@ gen_printf (CORE_ADDR scope, struct gdbarch *gdbarch,
/* Issue the printf bytecode proper. */
ax_simple (ax, aop_printf);
- ax_simple (ax, nargs);
+ ax_raw_byte (ax, nargs);
ax_string (ax, format, fmtlen);
/* And terminate. */
diff --git a/gdb/ax-general.c b/gdb/ax-general.c
index e5dc240..5c8a25b 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,
diff --git a/gdb/ax.h b/gdb/ax.h
index eaa72dd..1714bb4 100644
--- a/gdb/ax.h
+++ b/gdb/ax.h
@@ -190,6 +190,9 @@ extern struct agent_expr *new_agent_expr (struct gdbarch *, CORE_ADDR);
extern void free_agent_expr (struct agent_expr *);
extern struct cleanup *make_cleanup_free_agent_expr (struct agent_expr *);
+/* Append a raw byte to EXPR. */
+extern void ax_raw_byte (struct agent_expr *expr, gdb_byte byte);
+
/* Append a simple operator OP to EXPR. */
extern void ax_simple (struct agent_expr *EXPR, enum agent_op OP);