Revert the following patch (printf tracepoint op) (not approved yet)
authorJoel Brobecker <brobecker@gnat.com>
Thu, 24 Feb 2011 07:38:42 +0000 (07:38 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Thu, 24 Feb 2011 07:38:42 +0000 (07:38 +0000)
        2011-02-21  Hui Zhu  <teawater@gmail.com>
        * tracepoint.c (tp_printf): New function.
        (eval_agent_expr): Handle gdb_agent_op_printf.

gdb/gdbserver/ChangeLog
gdb/gdbserver/tracepoint.c

index 0f7655fed29d72e81c59552d0d11180ca6a5a253..1f42a8e432e772ea15adbca3d1fd2389f89716c6 100644 (file)
@@ -1,3 +1,10 @@
+2011-02-24  Joel Brobecker  <brobecker@adacore.com>
+
+       Revert the following patch (not approved yet):
+       2011-02-21  Hui Zhu  <teawater@gmail.com>
+       * tracepoint.c (tp_printf): New function.
+       (eval_agent_expr): Handle gdb_agent_op_printf.
+
 2011-02-21  Hui Zhu  <teawater@gmail.com>
 
        * tracepoint.c (tp_printf): New function.
index d89772807f1bf8e8eaff10a8f5272fc8f28b22db..8d99c94dac041b4371627e6f220c4203298ce430 100644 (file)
@@ -4214,16 +4214,6 @@ gdb_agent_op_name (int op)
   return gdb_agent_op_names[op];
 }
 
-int
-tp_printf (const char *format, ...)
-{
-  va_list ap;
-  va_start (ap, format);
-  vprintf (format, ap);
-  va_end (ap);
-  return 0;
-}
-
 /* The agent expression evaluator, as specified by the GDB docs. It
    returns 0 if everything went OK, and a nonzero error code
    otherwise.  */
@@ -4583,40 +4573,6 @@ eval_agent_expr (struct tracepoint_hit_ctx *ctx,
          agent_tsv_read (tframe, arg);
          break;
 
-       case gdb_agent_op_printf:
-         {
-           void *argv;
-           arg = aexpr->bytes[pc++];
-           argv = (void *) (unsigned long) top;
-           if (--sp >= 0)
-             top = stack[sp];
-
-           if (arg)
-             {
-               if (strstr ((char *) (aexpr->bytes + pc), "%s"))
-                 {
-                   int                 i;
-                   unsigned char       buf[100];
-
-                   for (i = 0; i < 100; i++)
-                     {
-                       agent_mem_read (tframe, buf + i,
-                                       (CORE_ADDR) ((unsigned long)argv + i),
-                                       1);
-                       if (!buf[i])
-                         break;
-                     }
-                   tp_printf ((char *) (aexpr->bytes + pc), buf);
-                 }
-               else
-                 tp_printf ((char *) (aexpr->bytes + pc), argv);
-             }
-           else
-             tp_printf ((char *) (aexpr->bytes + pc));
-           pc += strlen ((char *) aexpr->bytes + pc) + 1;
-         }
-         break;
-
          /* GDB never (currently) generates any of these ops.  */
        case gdb_agent_op_float:
        case gdb_agent_op_ref_float: