Revert "Add a more helpful warning message to explain why some AArch64 relocations...
[deliverable/binutils-gdb.git] / gdb / ax-gdb.c
index 817fa53ed90b2f33f6c54ab79bde707df3976c9f..7c6cb6481fbba8c599f37c4a885aa9c9b871af44 100644 (file)
@@ -1,6 +1,6 @@
 /* GDB-specific functions for operating on agent expressions.
 
-   Copyright (C) 1998-2015 Free Software Foundation, Inc.
+   Copyright (C) 1998-2016 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -394,26 +394,25 @@ gen_traced_pop (struct gdbarch *gdbarch,
 
       case axs_lvalue_memory:
        {
-         if (string_trace)
-           ax_simple (ax, aop_dup);
-
          /* Initialize the TYPE_LENGTH if it is a typedef.  */
          check_typedef (value->type);
 
-         /* There's no point in trying to use a trace_quick bytecode
-            here, since "trace_quick SIZE pop" is three bytes, whereas
-            "const8 SIZE trace" is also three bytes, does the same
-            thing, and the simplest code which generates that will also
-            work correctly for objects with large sizes.  */
-         ax_const_l (ax, TYPE_LENGTH (value->type));
-         ax_simple (ax, aop_trace);
-
          if (string_trace)
            {
-             ax_simple (ax, aop_ref32);
+             gen_fetch (ax, value->type);
              ax_const_l (ax, ax->trace_string);
              ax_simple (ax, aop_tracenz);
            }
+         else
+           {
+             /* There's no point in trying to use a trace_quick bytecode
+                here, since "trace_quick SIZE pop" is three bytes, whereas
+                "const8 SIZE trace" is also three bytes, does the same
+                thing, and the simplest code which generates that will also
+                work correctly for objects with large sizes.  */
+             ax_const_l (ax, TYPE_LENGTH (value->type));
+             ax_simple (ax, aop_trace);
+           }
        }
        break;
 
@@ -2564,7 +2563,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.  */
@@ -2649,7 +2648,7 @@ agent_command_1 (char *exp, int eval)
       init_linespec_result (&canonical);
       location = new_linespec_location (&exp);
       old_chain = make_cleanup_delete_event_location (location);
-      decode_line_full (location, DECODE_LINE_FUNFIRSTLINE,
+      decode_line_full (location, DECODE_LINE_FUNFIRSTLINE, NULL,
                        (struct symtab *) NULL, 0, &canonical,
                        NULL, NULL);
       make_cleanup_destroy_linespec_result (&canonical);
This page took 0.025185 seconds and 4 git commands to generate.