diff options
author | Doug Evans <dje@google.com> | 2014-10-17 10:57:26 -0700 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2014-10-17 10:57:26 -0700 |
commit | d096d8c11e4ab306d45e8dca811db2fa33e933a8 (patch) | |
tree | ca71c67d24b07bdcad5dbffd459ff1f29e6825fc | |
parent | a80db0157c31d3f0fbb37ea40384b11041429a2f (diff) | |
download | gdb-d096d8c11e4ab306d45e8dca811db2fa33e933a8.zip gdb-d096d8c11e4ab306d45e8dca811db2fa33e933a8.tar.gz gdb-d096d8c11e4ab306d45e8dca811db2fa33e933a8.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/NEWS | 2 | ||||
-rw-r--r-- | gdb/doc/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/doc/python.texi | 5 | ||||
-rw-r--r-- | gdb/python/py-objfile.c | 20 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.python/py-objfile.exp | 2 |
7 files changed, 43 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f1a85de..4122ad0 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -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> PR gdb/17471 @@ -9,6 +9,8 @@ ** You can now access frame registers from Python scripts. ** 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: diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 432899b..8c00c32 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -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> * gdb.texinfo (Ada Tasks and Core Files): Delete mention of Tru64. diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi index 81ec11b..84d6637 100644 --- a/gdb/doc/python.texi +++ b/gdb/doc/python.texi @@ -3392,6 +3392,11 @@ class. The file name of the objfile as a string. @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 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 diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c index df29691..e868223 100644 --- a/gdb/python/py-objfile.c +++ b/gdb/python/py-objfile.c @@ -62,6 +62,24 @@ objfpy_get_filename (PyObject *self, void *closure) 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 objfpy_dealloc (PyObject *o) { @@ -338,6 +356,8 @@ static PyGetSetDef objfile_getset[] = { { "filename", objfpy_get_filename, 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.", NULL }, { "frame_filters", objfpy_get_frame_filters, diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 6a1d42e..129cd7a 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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> * gdb.guile/scm-breakpoint.exp: Do not assume any diff --git a/gdb/testsuite/gdb.python/py-objfile.exp b/gdb/testsuite/gdb.python/py-objfile.exp index 1d2f550..8796170 100644 --- a/gdb/testsuite/gdb.python/py-objfile.exp +++ b/gdb/testsuite/gdb.python/py-objfile.exp @@ -39,6 +39,8 @@ gdb_py_test_silent_cmd "python objfile = sym\[0\].symtab.objfile" \ gdb_test "python print (objfile.filename)" ".*py-objfile.*" \ "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" \ "Get objfile validity" gdb_unload |