Add more methods to gdb.Progspace
There are a number of global functions in the gdb Python module which really should be methods on Progspace. This patch adds new methods to Progspace and then redefines these globals in terms of these new methods. This version has been rebased on the related changes that Simon recently put in. Built and regtested on x86-64 Fedora 28. gdb/ChangeLog 2018-09-16 Tom Tromey <tom@tromey.com> * python/lib/gdb/__init__.py (current_progspace, objfiles) (solib_name, block_for_pc, find_pc_line): New functions. (execute_unwinders): Update. * python/py-block.c (gdbpy_block_for_pc): Remove. * python/py-inferior.c (infpy_get_progspace): New function. (inferior_object_getset) <progspace>: Add. * python/py-progspace.c (pspy_objfiles): Rewrite. (pspy_solib_name, pspy_block_for_pc) (pspy_find_pc_line, pspy_is_valid): New functions. (progspace_object_methods): Add entries for solib_name, block_for_pc, find_pc_line, is_valid. * python/python-internal.h (gdbpy_block_for_pc) (build_objfiles_list): Don't declare. * python/python.c: Don't include solib.h. (gdbpy_solib_name, gdbpy_find_pc_line) (gdbpy_get_current_progspace, build_objfiles_list) (gdbpy_objfiles): Remove. (GdbMethods) <current_progspace, objfiles, block_for_pc, solib_name, find_pc_line>: Remove entries. gdb/doc/ChangeLog 2018-09-16 Tom Tromey <tom@tromey.com> * python.texi (Basic Python): Update docs for find_pc_line, solib_name. (Progspaces In Python): Update docs for current_progspace. Document block_for_pc, find_pc_line, is_valid, nsolib_name. Move method documentation before example.
This commit is contained in:
parent
752312ba4e
commit
8743a9cdd2
8 changed files with 250 additions and 170 deletions
|
@ -492,7 +492,6 @@ PyObject *gdbpy_current_recording (PyObject *self, PyObject *args);
|
|||
PyObject *gdbpy_stop_recording (PyObject *self, PyObject *args);
|
||||
PyObject *gdbpy_newest_frame (PyObject *self, PyObject *args);
|
||||
PyObject *gdbpy_selected_frame (PyObject *self, PyObject *args);
|
||||
PyObject *gdbpy_block_for_pc (PyObject *self, PyObject *args);
|
||||
PyObject *gdbpy_lookup_type (PyObject *self, PyObject *args, PyObject *kw);
|
||||
int gdbpy_is_field (PyObject *obj);
|
||||
PyObject *gdbpy_create_lazy_string_object (CORE_ADDR address, long length,
|
||||
|
@ -549,10 +548,6 @@ struct symtab_and_line *sal_object_to_symtab_and_line (PyObject *obj);
|
|||
struct frame_info *frame_object_to_frame_info (PyObject *frame_obj);
|
||||
struct gdbarch *arch_object_to_gdbarch (PyObject *obj);
|
||||
|
||||
/* Return a Python list containing an Objfile object for each objfile in
|
||||
PSPACE. */
|
||||
gdbpy_ref<> build_objfiles_list (program_space *pspace);
|
||||
|
||||
void gdbpy_initialize_gdb_readline (void);
|
||||
int gdbpy_initialize_auto_load (void)
|
||||
CPYCHECKER_NEGATIVE_RESULT_SETS_EXCEPTION;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue