From fa33c3cd050c9f8a33ab0826479fd3e0f26a3da6 Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Thu, 15 Apr 2010 19:54:13 +0000 Subject: * NEWS: Add entry for python program space support. * Makefile.in (SUBDIR_PYTHON_OBS): Add py-progspace.o. (SUBDIR_PYTHON_SRCS): Add py-progspace.c. (py-progspace.o): New rule. * python/py-prettyprint.c (find_pretty_printer_from_objfiles): New function. (find_pretty_printer_from_progspace): New function. (find_pretty_printer_from_gdb): New function. (find_pretty_printer): Rewrite. * python/py-progspace.c: New file. * python/python-internal.h (program_space): Add forward decl. (pspace_to_pspace_object, pspy_get_printers): Declare. (gdbpy_initialize_pspace): Declare. * python/python.c: #include "progspace.h". (gdbpy_get_current_progspace, gdbpy_progspaces): New functions. (_initialize_python): Call gdbpy_initialize_pspace. (GdbMethods): Add current_progspace, progspaces. doc/ * gdb.texinfo (Python API): Add progspaces section. (Selecting Pretty-Printers): Progspace pretty-printers are searched too. (Progspaces In Python): New section. testsuite/ * gdb.python/py-progspace.c: New file. * gdb.python/py-progspace.exp: New file. --- gdb/python/python-internal.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gdb/python/python-internal.h') diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index 98d2b3f..e3368e3 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -68,6 +68,7 @@ typedef int Py_ssize_t; struct block; struct value; struct language_defn; +struct program_space; extern PyObject *gdb_module; extern PyTypeObject value_object_type; @@ -91,8 +92,11 @@ PyObject *symbol_to_symbol_object (struct symbol *sym); PyObject *block_to_block_object (struct block *block, struct objfile *objfile); PyObject *value_to_value_object (struct value *v); PyObject *type_to_type_object (struct type *); -PyObject *objfile_to_objfile_object (struct objfile *); +PyObject *pspace_to_pspace_object (struct program_space *); +PyObject *pspy_get_printers (PyObject *, void *); + +PyObject *objfile_to_objfile_object (struct objfile *); PyObject *objfpy_get_printers (PyObject *, void *); struct block *block_object_to_block (PyObject *obj); @@ -112,6 +116,7 @@ void gdbpy_initialize_symtabs (void); void gdbpy_initialize_blocks (void); void gdbpy_initialize_types (void); void gdbpy_initialize_functions (void); +void gdbpy_initialize_pspace (void); void gdbpy_initialize_objfile (void); void gdbpy_initialize_breakpoints (void); void gdbpy_initialize_lazy_string (void); -- cgit v1.1