diff options
author | Joel Brobecker <brobecker@gnat.com> | 2011-02-24 07:39:48 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2011-02-24 07:39:48 +0000 |
commit | a04b0428abc8564638c910f80b68a1cc7f14d3b2 (patch) | |
tree | bd34ea0a6e12ba8af1f16dcafebda64166737547 /gdb/ax-general.c | |
parent | 633ff500c5d9c76c0097985c4f6d83acdaaf08cb (diff) | |
download | gdb-a04b0428abc8564638c910f80b68a1cc7f14d3b2.zip gdb-a04b0428abc8564638c910f80b68a1cc7f14d3b2.tar.gz gdb-a04b0428abc8564638c910f80b68a1cc7f14d3b2.tar.bz2 |
Revert the following change (not approved yet):
2011-02-21 Hui Zhu <teawater@gmail.com>
* Makefile.in (HFILES_NO_SRCDIR): Add printcmd.h.
* ax-gdb.c (gen_printf_expr_callback): New function.
* ax-gdb.h (gen_printf_expr_callback): Forward declare.
* ax-general.c (ax_memcpy): New function.
(ax_print): Handle "printf".
(ax_reqs): Ditto.
* ax.h (ax_memcpy): Forward declare.
* common/ax.def (invalid2): Removed.
(printf): New entry.
* printcmd.c (printcmd.h): New include.
(string_printf): New function.
(ui_printf): Removed.
(printf_command): Remove static. Call string_printf.
(eval_command): Call string_printf.
* printcmd.h: New file.
* tracepoint.c (validate_actionline,
encode_actions_1): handle printf_command.
Diffstat (limited to 'gdb/ax-general.c')
-rw-r--r-- | gdb/ax-general.c | 53 |
1 files changed, 7 insertions, 46 deletions
diff --git a/gdb/ax-general.c b/gdb/ax-general.c index 62c382c..889fac9 100644 --- a/gdb/ax-general.c +++ b/gdb/ax-general.c @@ -331,14 +331,6 @@ ax_tsv (struct agent_expr *x, enum agent_op op, int num) x->buf[x->len + 2] = (num) & 0xff; x->len += 3; } - -void -ax_memcpy (struct agent_expr *x, const void *src, size_t n) -{ - grow_expr (x, n); - memcpy (x->buf + x->len, src, n); - x->len += n; -} @@ -377,7 +369,6 @@ ax_print (struct ui_file *f, struct agent_expr *x) for (i = 0; i < x->len;) { enum agent_op op = x->buf[i]; - int op_size; if (op >= (sizeof (aop_map) / sizeof (aop_map[0])) || !aop_map[op].name) @@ -386,19 +377,7 @@ ax_print (struct ui_file *f, struct agent_expr *x) i++; continue; } - if (op == aop_printf) - { - if (i + 2 >= x->len) - { - fprintf_filtered (f, _("%3d <bad opcode %02x>\n"), i, op); - i++; - continue; - } - op_size = 1 + strlen (x->buf + i + 2) + 1; - } - else - op_size = aop_map[op].op_size; - if (i + 1 + op_size > x->len) + if (i + 1 + aop_map[op].op_size > x->len) { fprintf_filtered (f, _("%3d <incomplete opcode %s>\n"), i, aop_map[op].name); @@ -406,15 +385,15 @@ ax_print (struct ui_file *f, struct agent_expr *x) } fprintf_filtered (f, "%3d %s", i, aop_map[op].name); - if (op_size > 0) + if (aop_map[op].op_size > 0) { fputs_filtered (" ", f); print_longest (f, 'd', 0, - read_const (x, i + 1, op_size)); + read_const (x, i + 1, aop_map[op].op_size)); } fprintf_filtered (f, "\n"); - i += 1 + op_size; + i += 1 + aop_map[op].op_size; is_float = (op == aop_float); } @@ -482,8 +461,6 @@ ax_reqs (struct agent_expr *ax) /* Pointer to a description of the present op. */ struct aop_map *op; - int op_size = 0, consumed = 0; - memset (targets, 0, ax->len * sizeof (targets[0])); memset (boundary, 0, ax->len * sizeof (boundary[0])); @@ -491,7 +468,7 @@ ax_reqs (struct agent_expr *ax) ax->flaw = agent_flaw_none; ax->max_data_size = 0; - for (i = 0; i < ax->len; i += 1 + op_size) + for (i = 0; i < ax->len; i += 1 + op->op_size) { if (ax->buf[i] > (sizeof (aop_map) / sizeof (aop_map[0]))) { @@ -507,23 +484,7 @@ ax_reqs (struct agent_expr *ax) return; } - if (ax->buf[i] == aop_printf) - { - if (i + 2 >= ax->len) - { - ax->flaw = agent_flaw_incomplete_instruction; - return; - } - consumed = ax->buf[i + 1]; - op_size = 1 + strlen (ax->buf + i + 2) + 1; - } - else - { - op_size = op->op_size; - consumed = op->consumed; - } - - if (i + 1 + op_size > ax->len) + if (i + 1 + op->op_size > ax->len) { ax->flaw = agent_flaw_incomplete_instruction; return; @@ -541,7 +502,7 @@ ax_reqs (struct agent_expr *ax) boundary[i] = 1; heights[i] = height; - height -= consumed; + height -= op->consumed; if (height < ax->min_height) ax->min_height = height; height += op->produced; |