summaryrefslogtreecommitdiff
path: root/gdb/probe.h
diff options
context:
space:
mode:
authorsergiodj <sergiodj>2013-07-24 19:50:31 +0000
committersergiodj <sergiodj>2013-07-24 19:50:31 +0000
commit99f4358f8203da67f08fbcdd84f984709a50c68b (patch)
tree83a23824a94961e33f7abb3f15e40e72ddec904b /gdb/probe.h
parent0387eeea5b1bd190f27e85448b9a8a93e2bd438a (diff)
downloadgdb-99f4358f8203da67f08fbcdd84f984709a50c68b.tar.gz
2013-07-24 Sergio Durigan Junior <sergiodj@redhat.com>
* breakpoint.c (create_longjmp_master_breakpoint): Check if probe interface can evaluate arguments. Fallback to the old mode if it cannot. (create_exception_master_breakpoint): Likewise. * elfread.c (elf_can_evaluate_probe_arguments): New function. (struct sym_probe_fns elf_probe_fns): Export function above to the probe interface. * probe.c (can_evaluate_probe_arguments): New function. * probe.h (struct probe_ops) <can_evaluate_probe_arguments>: New function pointer. (can_evaluate_probe_arguments): New function prototype. * solib-svr4.c (svr4_create_solib_event_breakpoints): Check if probe interface can evaluate arguments. Fallback to the old mode if it cannot. * stap-probe.c (stap_get_probe_argument_count): Check if probe interface can evaluate arguments. Warning the user if it cannot. (stap_can_evaluate_probe_arguments): New function. (struct probe_ops stap_probe_ops): Export function above to the probe interface. * symfile.h (struct sym_probe_fns) <can_evaluate_probe_arguments>: New function pointer.
Diffstat (limited to 'gdb/probe.h')
-rw-r--r--gdb/probe.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/probe.h b/gdb/probe.h
index de07f506523..dd5387b091b 100644
--- a/gdb/probe.h
+++ b/gdb/probe.h
@@ -73,6 +73,12 @@ struct probe_ops
unsigned (*get_probe_argument_count) (struct probe *probe);
+ /* Return 1 if the probe interface can evaluate the arguments of probe
+ PROBE, zero otherwise. See the comments on
+ sym_probe_fns:can_evaluate_probe_arguments for more details. */
+
+ int (*can_evaluate_probe_arguments) (struct probe *probe);
+
/* Evaluate the Nth argument from the PROBE, returning a value
corresponding to it. The argument number is represented N. */
@@ -218,6 +224,12 @@ extern struct cmd_list_element **info_probes_cmdlist_get (void);
extern unsigned get_probe_argument_count (struct probe *probe);
+/* Return 1 if the probe interface associated with PROBE can evaluate
+ arguments, zero otherwise. See the comments on the definition of
+ sym_probe_fns:can_evaluate_probe_arguments for more details. */
+
+extern int can_evaluate_probe_arguments (struct probe *probe);
+
/* Evaluate argument N of the specified probe. N must be between 0
inclusive and get_probe_argument_count exclusive. */