X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fax-gdb.h;h=dacacfc9ce578ba79a741efa11cd118e0e6d6b35;hb=93692b589dc7017d5a2fbdffdfad5f84f597d8f1;hp=924df0891a2ccdeb8e45aa68f58fd3ec97b17c8e;hpb=3cf03773b76a534bca744f8353a3f5bac5b5a582;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h index 924df0891a..dacacfc9ce 100644 --- a/gdb/ax-gdb.h +++ b/gdb/ax-gdb.h @@ -1,6 +1,5 @@ /* GDB-specific functions for operating on agent expressions - Copyright (C) 1998, 1999, 2000, 2007, 2008, 2009, 2010 - Free Software Foundation, Inc. + Copyright (C) 1998-2016 Free Software Foundation, Inc. This file is part of GDB. @@ -21,6 +20,7 @@ #define AX_GDB_H struct expression; +union exp_element; /* Types and enums */ @@ -78,7 +78,7 @@ struct axs_value /* The type of the subexpression. Even if lvalue == axs_lvalue_memory, this is the type of the value itself; the value on the stack is a - "pointer to" an object of this type. */ + "pointer to" an object of this type. */ struct type *type; /* If nonzero, this is a variable which does not actually exist in @@ -101,13 +101,27 @@ struct axs_value record the value of all memory touched by the expression, and leave no values on the stack. The caller can then use the ax_reqs function to discover which registers the expression uses. */ -extern struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *); +extern struct agent_expr *gen_trace_for_expr (CORE_ADDR, struct expression *, + int); extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct gdbarch *, - struct symbol *); + struct symbol *, int); + +extern struct agent_expr *gen_trace_for_return_address (CORE_ADDR, + struct gdbarch *, + int); extern struct agent_expr *gen_eval_for_expr (CORE_ADDR, struct expression *); -extern int trace_kludge; +extern void gen_expr (struct expression *exp, union exp_element **pc, + struct agent_expr *ax, struct axs_value *value); + +extern void require_rvalue (struct agent_expr *ax, struct axs_value *value); + +struct format_piece; +extern struct agent_expr *gen_printf (CORE_ADDR, struct gdbarch *, + CORE_ADDR, LONGEST, const char *, int, + struct format_piece *, + int, struct expression **); #endif /* AX_GDB_H */