forked from Imagelibrary/binutils-gdb
python/19506 -- gdb.Breakpoint address location regression
Now that "legacy" linespecs benefit from consolidated support in
string_to_event_location_basic, python's Breakpoint command should use this
function to turn strings into event locations.
As a result, this patch fixes python/19506. Before:
(gdb) python gdb.Breakpoint("*main")
Traceback (most recent call last):
File "<string>", line 1, in <module>
RuntimeError: Function "*main" not defined.
Error while executing Python code.
After:
(gdb) python gdb.Breakpoint("*main")
Breakpoint 1 at 0x4005fb: file ../../../src/gdb/testsuite/gdb.python/py-breakpoint.c, line 32.
gdb/ChangeLog
PR python/19506
* python/py-breakpoint.c (bppy_init): Use
string_to_event_location_basic instead of new_linespec_location.
gdb/testsuite/ChangeLog
PR python/19506
* gdb.python/py-breakpoint.exp (test_bkpt_address): New procedure.
(toplevel): Call test_bkpt_address.
This commit is contained in:
@@ -663,7 +663,7 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
|
||||
TRY
|
||||
{
|
||||
char *copy = xstrdup (spec);
|
||||
char *copy = xstrdup (skip_spaces_const (spec));
|
||||
struct cleanup *cleanup = make_cleanup (xfree, copy);
|
||||
|
||||
switch (type)
|
||||
@@ -672,7 +672,8 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
|
||||
{
|
||||
struct event_location *location;
|
||||
|
||||
location = new_linespec_location (©);
|
||||
location
|
||||
= string_to_event_location_basic (©, current_language);
|
||||
make_cleanup_delete_event_location (location);
|
||||
create_breakpoint (python_gdbarch,
|
||||
location, NULL, -1, NULL,
|
||||
|
||||
Reference in New Issue
Block a user