mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-28 22:21:26 +08:00
Add gdb.Objfile.progspace attribute.
gdb/ChangeLog: * NEWS: Mention new gdb.Objfile.progspace attribute. * python/py-objfile.c (objfpy_get_progspace): New function. (objfile_getset): New entry for "progspace". gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Document new progspace attribute. gdb/testsuite/ChangeLog: * gdb.python/py-objfile.exp: Test progspace attribute.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2014-10-17 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* NEWS: Mention new gdb.Objfile.progspace attribute.
|
||||||
|
* python/py-objfile.c (objfpy_get_progspace): New function.
|
||||||
|
(objfile_getset): New entry for "progspace".
|
||||||
|
|
||||||
2014-10-17 Pedro Alves <palves@redhat.com>
|
2014-10-17 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
PR gdb/17471
|
PR gdb/17471
|
||||||
|
2
gdb/NEWS
2
gdb/NEWS
@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
** You can now access frame registers from Python scripts.
|
** You can now access frame registers from Python scripts.
|
||||||
** New attribute 'producer' for gdb.Symtab objects.
|
** New attribute 'producer' for gdb.Symtab objects.
|
||||||
|
** gdb.Objfile objects have a new attribute "progspace",
|
||||||
|
which is the gdb.Progspace object of the containing program space.
|
||||||
|
|
||||||
* New Python-based convenience functions:
|
* New Python-based convenience functions:
|
||||||
|
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2014-10-17 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* python.texi (Objfiles In Python): Document new progspace attribute.
|
||||||
|
|
||||||
2014-10-17 Pedro Alves <palves@redhat.com>
|
2014-10-17 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* gdb.texinfo (Ada Tasks and Core Files): Delete mention of Tru64.
|
* gdb.texinfo (Ada Tasks and Core Files): Delete mention of Tru64.
|
||||||
|
@ -3392,6 +3392,11 @@ class.
|
|||||||
The file name of the objfile as a string.
|
The file name of the objfile as a string.
|
||||||
@end defvar
|
@end defvar
|
||||||
|
|
||||||
|
@defvar Objfile.progspace
|
||||||
|
The containing program space of the objfile as a @code{gdb.Progspace}
|
||||||
|
object. @xref{Progspaces In Python}.
|
||||||
|
@end defvar
|
||||||
|
|
||||||
@defvar Objfile.pretty_printers
|
@defvar Objfile.pretty_printers
|
||||||
The @code{pretty_printers} attribute is a list of functions. It is
|
The @code{pretty_printers} attribute is a list of functions. It is
|
||||||
used to look up pretty-printers. A @code{Value} is passed to each
|
used to look up pretty-printers. A @code{Value} is passed to each
|
||||||
|
@ -62,6 +62,24 @@ objfpy_get_filename (PyObject *self, void *closure)
|
|||||||
Py_RETURN_NONE;
|
Py_RETURN_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* An Objfile method which returns the objfile's progspace, or None. */
|
||||||
|
|
||||||
|
static PyObject *
|
||||||
|
objfpy_get_progspace (PyObject *self, void *closure)
|
||||||
|
{
|
||||||
|
objfile_object *obj = (objfile_object *) self;
|
||||||
|
|
||||||
|
if (obj->objfile)
|
||||||
|
{
|
||||||
|
PyObject *pspace = pspace_to_pspace_object (obj->objfile->pspace);
|
||||||
|
|
||||||
|
Py_XINCREF (pspace);
|
||||||
|
return pspace;
|
||||||
|
}
|
||||||
|
|
||||||
|
Py_RETURN_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
objfpy_dealloc (PyObject *o)
|
objfpy_dealloc (PyObject *o)
|
||||||
{
|
{
|
||||||
@ -338,6 +356,8 @@ static PyGetSetDef objfile_getset[] =
|
|||||||
{
|
{
|
||||||
{ "filename", objfpy_get_filename, NULL,
|
{ "filename", objfpy_get_filename, NULL,
|
||||||
"The objfile's filename, or None.", NULL },
|
"The objfile's filename, or None.", NULL },
|
||||||
|
{ "progspace", objfpy_get_progspace, NULL,
|
||||||
|
"The objfile's progspace, or None.", NULL },
|
||||||
{ "pretty_printers", objfpy_get_printers, objfpy_set_printers,
|
{ "pretty_printers", objfpy_get_printers, objfpy_set_printers,
|
||||||
"Pretty printers.", NULL },
|
"Pretty printers.", NULL },
|
||||||
{ "frame_filters", objfpy_get_frame_filters,
|
{ "frame_filters", objfpy_get_frame_filters,
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2014-10-17 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* gdb.python/py-objfile.exp: Test progspace attribute.
|
||||||
|
|
||||||
2014-10-17 Luis Machado <lgustavo@codesourcery.com>
|
2014-10-17 Luis Machado <lgustavo@codesourcery.com>
|
||||||
|
|
||||||
* gdb.guile/scm-breakpoint.exp: Do not assume any
|
* gdb.guile/scm-breakpoint.exp: Do not assume any
|
||||||
|
@ -39,6 +39,8 @@ gdb_py_test_silent_cmd "python objfile = sym\[0\].symtab.objfile" \
|
|||||||
|
|
||||||
gdb_test "python print (objfile.filename)" ".*py-objfile.*" \
|
gdb_test "python print (objfile.filename)" ".*py-objfile.*" \
|
||||||
"Get objfile file name"
|
"Get objfile file name"
|
||||||
|
gdb_test "python print (objfile.progspace)" "<gdb\.Progspace object at .*>" \
|
||||||
|
"Get objfile program space"
|
||||||
gdb_test "python print (objfile.is_valid())" "True" \
|
gdb_test "python print (objfile.is_valid())" "True" \
|
||||||
"Get objfile validity"
|
"Get objfile validity"
|
||||||
gdb_unload
|
gdb_unload
|
||||||
|
Reference in New Issue
Block a user