X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fax-gdb.h;h=8a3ec9419e3e95001beea580f19b41def32b68a6;hb=8118159c69a957292ce701b3d2937f19a0d0f973;hp=924df0891a2ccdeb8e45aa68f58fd3ec97b17c8e;hpb=3cf03773b76a534bca744f8353a3f5bac5b5a582;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/ax-gdb.h b/gdb/ax-gdb.h index 924df0891a..8a3ec9419e 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-2020 Free Software Foundation, Inc. This file is part of GDB. @@ -20,7 +19,10 @@ #ifndef AX_GDB_H #define AX_GDB_H +#include "ax.h" /* For agent_expr_up. */ + struct expression; +union exp_element; /* Types and enums */ @@ -78,7 +80,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 +103,25 @@ 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 agent_expr_up gen_trace_for_expr (CORE_ADDR, struct expression *, + int); + +extern agent_expr_up gen_trace_for_var (CORE_ADDR, struct gdbarch *, + struct symbol *, int); + +extern agent_expr_up gen_trace_for_return_address (CORE_ADDR, + struct gdbarch *, + int); + +extern agent_expr_up gen_eval_for_expr (CORE_ADDR, struct expression *); -extern struct agent_expr *gen_trace_for_var (CORE_ADDR, struct gdbarch *, - struct symbol *); +extern void gen_expr (struct expression *exp, union exp_element **pc, + struct agent_expr *ax, struct axs_value *value); -extern struct agent_expr *gen_eval_for_expr (CORE_ADDR, struct expression *); +extern void require_rvalue (struct agent_expr *ax, struct axs_value *value); -extern int trace_kludge; +extern agent_expr_up gen_printf (CORE_ADDR, struct gdbarch *, + CORE_ADDR, LONGEST, const char *, int, + int, struct expression **); #endif /* AX_GDB_H */