8sa1-binutils-gdb/gdb/testsuite/gdb.python
George Barrett bac7c5cf92 Fix scripted probe breakpoints
The documentation for make-breakpoint from the Guile API and the `spec'
variant of the gdb.Breakpoint constructor from the Python API state that
the format acceptable for location strings is the same as that accepted
by the break command. However, using the -probe qualifier at the
beginning of the location string causes a GDB internal error as it
attempts to decode a probe location in the wrong code path. Without this
functionality, there doesn't appear to be another way to set breakpoints
on probe points from Python or Guile scripts.

This patch introduces a new helper function that returns a
breakpoint_ops instance appropriate for a parsed location and updates
the Guile and Python bindings to use said function, rather than the
current hard-coded use of bkpt_breakpoint_ops. Since this logic is
duplicated in the handling of the `break' and `trace' commands, those
are also updated to call into the new helper function.

gdb/ChangeLog:
2019-12-10  George Barrett  <bob@bob131.so>

	Fix scripted probe breakpoints.
	* breakpoint.c (tracepoint_probe_breakpoint_ops): Move
	declaration forward.
	(breakpoint_ops_for_event_location_type)
	(breakpoint_ops_for_event_location): Add function definitions.
	(break_command_1, trace_command): Use
	breakpoint_ops_for_event_location.
	* breakpoint.h (breakpoint_ops_for_event_location): Add function
	declarations.
	* guile/scm-breakpoint.c (gdbscm_register_breakpoint_x): Use
	breakpoint_ops_for_event_location.
	* python/py-breakpoint.c (bppy_init): Use
	breakpoint_ops_for_event_location.

gdb/testsuite/ChangeLog:
2019-12-10  George Barrett  <bob@bob131.so>

	Test scripted probe breakpoints.
	* gdb.guile/scm-breakpoint.c (main): Add probe point.
	* gdb.python/py-breakpoint.c (main): Likewise.
	* gdb.guile/scm-breakpoint.exp (test_bkpt_probe): Add probe
	specifier test.
	* gdb.python/py-breakpoint.exp (test_bkpt_probe): Likewise.
2019-12-09 16:51:33 -05:00
..
amd64-py-framefilter-invalidarg.S Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
lib-types.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
lib-types.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-arch.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-arch.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-as-string.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-as-string.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-bad-printers.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-bad-printers.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-bad-printers.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-block.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-block.exp Add block['var'] accessor 2019-08-05 13:06:18 -05:00
py-breakpoint-create-fail.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-breakpoint-create-fail.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-breakpoint-create-fail.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-breakpoint.c Fix scripted probe breakpoints 2019-12-09 16:51:33 -05:00
py-breakpoint.exp Fix scripted probe breakpoints 2019-12-09 16:51:33 -05:00
py-caller-is.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-caller-is.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-cmd.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-cmd.exp Update tests following changes to "help" and "apropos" 2019-06-03 21:59:35 +02:00
py-completion.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-completion.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-error.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-error.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-events-shlib.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-events.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-events.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-events.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-evsignal.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-evthreads.c [gdb] Fix more typos in comments (2) 2019-10-26 09:55:32 +02:00
py-evthreads.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-explore-cc.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-explore.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-explore.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-explore.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-finish-breakpoint2.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-finish-breakpoint2.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-finish-breakpoint2.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-finish-breakpoint.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-finish-breakpoint.exp [gdb/testsuite] Remove superfluous 3rd argument from gdb_test call (2) 2019-10-31 23:03:25 +01:00
py-finish-breakpoint.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-format-string.c gdb/testsuite: Fix py-format-string.exp on big-endian platforms 2019-10-02 20:01:44 +02:00
py-format-string.exp gdb/testsuite: Fix py-format-string.exp on big-endian platforms 2019-10-02 20:01:44 +02:00
py-format-string.py Add gdb.Value.format_string () 2019-04-01 10:00:04 +02:00
py-frame-args.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-frame-args.exp "set print raw frame-arguments" -> "set print raw-frame-arguments" 2019-06-13 00:18:41 +01:00
py-frame-args.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-frame-inline.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-frame-inline.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-frame.c
py-frame.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter-gdb.py.in Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter-invalidarg-gdb.py.in Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter-invalidarg.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-framefilter-invalidarg.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter-mi.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter-mi.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-framefilter.exp [gdb/testsuite] Remove superfluous 3rd argument from gdb_test call (2) 2019-10-31 23:03:25 +01:00
py-framefilter.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-function.exp gdb/fortran: Handle internal function calls 2019-04-01 21:41:51 +01:00
py-inferior.c
py-inferior.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-infthread.c
py-infthread.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-lazy-string.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-lazy-string.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-linetable.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-linetable.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-linetable.S Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-lookup-type.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-events-gdb.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-events.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-events.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-objfile-gdb.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-objfile.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-objfile.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-var-info-path-expression.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi-var-info-path-expression.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-mi-var-info-path-expression.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-mi.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-nested-maps.c gdb: Introduce 'print max-depth' feature 2019-04-29 22:01:09 +01:00
py-nested-maps.exp gdb: Introduce 'print max-depth' feature 2019-04-29 22:01:09 +01:00
py-nested-maps.py gdb: Introduce 'print max-depth' feature 2019-04-29 22:01:09 +01:00
py-objfile-script-gdb.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-objfile-script.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-objfile-script.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-objfile.c Add Objfile.lookup_{global,static}_symbol functions 2019-07-29 20:44:08 -05:00
py-objfile.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-parameter.exp gdb/testsuite: Reduce test name duplication in gdb.python tests 2019-10-03 17:48:03 +01:00
py-pp-integral.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-integral.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-integral.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-maint.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-maint.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-pp-maint.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-re-notag.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-re-notag.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-re-notag.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-registration.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-pp-registration.exp [gdb/testsuite] Remove superfluous 3rd argument from gdb_test call (2) 2019-10-31 23:03:25 +01:00
py-pp-registration.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-prettyprint.c gdb: Make python display_hint None handling defined behaviour 2019-03-26 18:25:10 +00:00
py-prettyprint.exp gdb: Make python display_hint None handling defined behaviour 2019-03-26 18:25:10 +00:00
py-prettyprint.py gdb: Make python display_hint None handling defined behaviour 2019-03-26 18:25:10 +00:00
py-progspace.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-progspace.exp Add missing parentheses on 'print' (gdb.python/py-progspace.exp) 2019-11-20 16:31:35 -05:00
py-prompt.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-prompt.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-rbreak-func2.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-rbreak.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-rbreak.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-btrace-threads.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-btrace-threads.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-btrace.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-btrace.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-full.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-record-full.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-recurse-unwind.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-recurse-unwind.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-recurse-unwind.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-rvalue-ref-value-cc.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-rvalue-ref-value-cc.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-section-script.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-section-script.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-section-script.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-shared-sl.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-shared.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-shared.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-strfns.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-strfns.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-symbol-2.c gdb/python: smarter symbol lookup for gdb.lookup_static_symbol 2019-11-10 21:35:28 +00:00
py-symbol.c gdb/python: smarter symbol lookup for gdb.lookup_static_symbol 2019-11-10 21:35:28 +00:00
py-symbol.exp gdb/python: Introduce gdb.lookup_static_symbols 2019-11-10 21:35:32 +00:00
py-symtab.exp Fixes for gdb.python tests on remote Windows host. 2019-08-13 09:09:30 -07:00
py-sync-interp.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-sync-interp.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-template.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-template.exp gdb/testsuite: Reduce test name duplication in gdb.python tests 2019-10-03 17:48:03 +01:00
py-thrhandle.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-thrhandle.exp Rename python function thread_from_thread_handle to thread_from_handle 2019-04-08 20:21:34 -07:00
py-type.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-type.exp Add an objfile getter to gdb.Type 2019-06-04 09:46:06 -06:00
py-typeprint.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-typeprint.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-typeprint.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-unwind-maint.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-unwind-maint.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-unwind-maint.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-unwind.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-unwind.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-unwind.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-value-cc.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-value-cc.exp Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-value.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-value.exp gdb/testsuite: Reduce test name duplication in gdb.python tests 2019-10-03 17:48:03 +01:00
py-xmethods.cc Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
py-xmethods.exp [gdb/testsuite] Remove superfluous 3rd argument from gdb_test call (2) 2019-10-31 23:03:25 +01:00
py-xmethods.py Use raw strings on gdb.python/py-xmethods.exp (and fix Python 3.8's "SyntaxWarning: invalid escape sequence") 2019-08-26 09:18:37 -04:00
python-1.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
python.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
python.exp [gdb/testsuite] Remove superfluous 3rd argument from gdb_test call (2) 2019-10-31 23:03:25 +01:00
source1 Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
source2.py Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00