Index: gdb/ax.h |
diff --git a/gdb/ax.h b/gdb/ax.h |
index 368f727c48e5371210cba1555b896c12813a92d9..3bb2d5bea5945732a1b23889e52b2f0d48c248ed 100644 |
--- a/gdb/ax.h |
+++ b/gdb/ax.h |
@@ -1,5 +1,5 @@ |
/* Definitions for expressions designed to be executed on the agent |
- Copyright (C) 1998-2000, 2007-2012 Free Software Foundation, Inc. |
+ Copyright (C) 1998-2013 Free Software Foundation, Inc. |
This file is part of GDB. |
@@ -143,6 +143,23 @@ struct agent_expr |
*/ |
int reg_mask_len; |
unsigned char *reg_mask; |
+ |
+ /* For the data tracing facility, we need to insert `trace' bytecodes |
+ before each data fetch; this records all the memory that the |
+ expression touches in the course of evaluation, so that memory will |
+ be available when the user later tries to evaluate the expression |
+ in GDB. |
+ |
+ Setting the flag 'tracing' to non-zero enables the code that |
+ emits the trace bytecodes at the appropriate points. */ |
+ |
+ unsigned int tracing : 1; |
+ |
+ /* This indicates that pointers to chars should get an added |
+ tracenz bytecode to record nonzero bytes, up to a length that |
+ is the value of trace_string. */ |
+ |
+ int trace_string; |
}; |
/* Pointer to an agent_expr structure. */ |
@@ -221,7 +238,7 @@ extern void ax_reg_mask (struct agent_expr *ax, int reg); |
extern void ax_tsv (struct agent_expr *expr, enum agent_op op, int num); |
/* Append a string to the bytecode stream. */ |
-extern void ax_string (struct agent_expr *x, char *str, int slen); |
+extern void ax_string (struct agent_expr *x, const char *str, int slen); |
/* Functions for printing out expressions, and otherwise debugging |