aboutsummaryrefslogtreecommitdiff
path: root/gdb/break-catch-throw.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2015-08-11 17:09:35 -0700
committerKeith Seitz <keiths@redhat.com>2015-08-11 17:09:35 -0700
commit5b56227bdc000d129d393772f1e4544b5ea0fd46 (patch)
treefdc2dc4b0a2d0a2581a066d9e87f802504728536 /gdb/break-catch-throw.c
parenta06efdd6effd149a1d392df8d62824e44872003a (diff)
downloadgdb-5b56227bdc000d129d393772f1e4544b5ea0fd46.zip
gdb-5b56227bdc000d129d393772f1e4544b5ea0fd46.tar.gz
gdb-5b56227bdc000d129d393772f1e4544b5ea0fd46.tar.bz2
Explicit locations: introduce probe locations
This patch adds support for probe locations and converts existing probe linespec locations to the new location type. gdb/ChangeLog: * break-catch-throw.c (re_set_exception_catchpoint): Convert linespec for stap probe to probe location. * breakpoint.c (create_longjmp_master_breakpoint) (create_exception_master_breakpoint): Likewise. (break_command_1): Remove local variable `arg_cp'. Check location type to set appropriate breakpoint ops methods. (trace_command): Likewise. * linespec.c (event_location_to_sals): Assert on probe locations. * location.c (EL_PROBE): Add macro definition. (new_probe_location, get_probe_location): New functions. (copy_event_location, delete_event_location, event_location_to_string) (string_to_event_location, event_location_empty_p): Handle probe locations. * location.h (enum event_location_type): Add PROBE_LOCATION. (new_probe_location, get_probe_location): Declare. * probe.c (parse_probes): Assert that LOCATION is a probe location. Convert linespec into probe location.
Diffstat (limited to 'gdb/break-catch-throw.c')
-rw-r--r--gdb/break-catch-throw.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c
index 9449aa5..07a8f05 100644
--- a/gdb/break-catch-throw.c
+++ b/gdb/break-catch-throw.c
@@ -216,9 +216,8 @@ re_set_exception_catchpoint (struct breakpoint *self)
/* We first try to use the probe interface. */
TRY
{
- char *spec = ASTRDUP (exception_functions[kind].probe);
-
- location = new_linespec_location (&spec);
+ location
+ = new_probe_location (exception_functions[kind].probe);
cleanup = make_cleanup_delete_event_location (location);
sals = parse_probes (location, NULL);
do_cleanups (cleanup);