* [PATCH v2 1/3] python: Add Inferior.progspace property
@ 2018-09-13 2:36 Simon Marchi
2018-09-13 2:37 ` [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() Simon Marchi
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Simon Marchi @ 2018-09-13 2:36 UTC (permalink / raw)
To: gdb-patches; +Cc: Simon Marchi
New in v2: the bit in the gdb.current_progspace doc, stolen from Tom
Tromey's 2014 patch.
This patch adds a progspace property to the gdb.Inferior type, which
allows getting the gdb.Progspace object associated to that inferior.
In conjunction with the following patch, this will allow scripts iterate
on objfiles associated with a particular inferior.
While modifying py-inferior.exp, I added some checks for the other
Inferior properties, when the Inferior is no longer valid. This doesn't
seem tested at the moment.
gdb/ChangeLog:
* python/py-inferior.c (infpy_get_progspace): New function.
(inferior_object_getset): Add progspace property.
* NEWS: Mention the new property.
gdb/doc/ChangeLog:
* python.texi (Inferiors In Python): Document
Inferior.progspace.
(Program Spaces In Python): Document that
gdb.current_progspace() is the same as
gdb.selected_inferior().progspace.
gdb/testsuite/ChangeLog:
* gdb.python/py-inferior.exp: Add tests for Inferior.progspace
and a few other Inferior properties when the Inferior is no
longer valid.
---
gdb/NEWS | 5 +++++
gdb/doc/python.texi | 8 +++++++-
gdb/python/py-inferior.c | 18 ++++++++++++++++++
gdb/testsuite/gdb.python/py-inferior.exp | 5 +++++
4 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/gdb/NEWS b/gdb/NEWS
index 4e4f12d8d13..73d95f2a559 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -84,6 +84,11 @@ GNU/Linux/RISC-V riscv*-*-linux*
CSKY ELF csky*-*-elf
CSKY GNU/LINUX csky*-*-linux
+* Python API
+
+ ** The gdb.Inferior type has a new progspace property, which is the program
+ space associated to that inferior.
+
*** Changes in GDB 8.2
* The 'set disassembler-options' command now supports specifying options
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
index 1c70088acea..ca3e651098f 100644
--- a/gdb/doc/python.texi
+++ b/gdb/doc/python.texi
@@ -2836,6 +2836,10 @@ Boolean signaling whether the inferior was created using `attach', or
started by @value{GDBN} itself.
@end defvar
+@defvar Inferior.progspace
+The inferior's program space. @xref{Progspaces In Python}.
+@end defvar
+
A @code{gdb.Inferior} object has the following methods:
@defun Inferior.is_valid ()
@@ -3995,7 +3999,9 @@ The following progspace-related functions are available in the
@findex gdb.current_progspace
@defun gdb.current_progspace ()
This function returns the program space of the currently selected inferior.
-@xref{Inferiors and Programs}.
+@xref{Inferiors and Programs}. This is identical to
+@code{gdb.selected_inferior().progspace} (@pxref{Inferiors In Python}) and is
+included for historical compatibility.
@end defun
@findex gdb.progspaces
diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c
index 56019bf9e05..727a8d2f306 100644
--- a/gdb/python/py-inferior.c
+++ b/gdb/python/py-inferior.c
@@ -459,6 +459,23 @@ infpy_get_was_attached (PyObject *self, void *closure)
Py_RETURN_FALSE;
}
+/* Getter of gdb.Inferior.progspace. */
+
+static PyObject *
+infpy_get_progspace (PyObject *self, void *closure)
+{
+ inferior_object *inf = (inferior_object *) self;
+
+ INFPY_REQUIRE_VALID (inf);
+
+ program_space *pspace = inf->inferior->pspace;
+ gdb_assert (pspace != nullptr);
+
+ PyObject *py_pspace = pspace_to_pspace_object (pspace);
+ Py_XINCREF (py_pspace);
+ return py_pspace;
+}
+
static int
build_inferior_list (struct inferior *inf, void *arg)
{
@@ -966,6 +983,7 @@ static gdb_PyGetSetDef inferior_object_getset[] =
NULL },
{ "was_attached", infpy_get_was_attached, NULL,
"True if the inferior was created using 'attach'.", NULL },
+ { "progspace", infpy_get_progspace, NULL, "Program space of this inferior" },
{ NULL }
};
diff --git a/gdb/testsuite/gdb.python/py-inferior.exp b/gdb/testsuite/gdb.python/py-inferior.exp
index 077279f2f54..04d98cea06b 100644
--- a/gdb/testsuite/gdb.python/py-inferior.exp
+++ b/gdb/testsuite/gdb.python/py-inferior.exp
@@ -54,6 +54,9 @@ gdb_test "python print ('result = %s' % i0.pid)" " = \[0-9\]+" "test Inferior.pi
gdb_test "python print ('result = %s' % i0.was_attached)" " = False" "test Inferior.was_attached"
gdb_test "python print (i0.threads ())" "\\(<gdb.InferiorThread object at 0x\[\[:xdigit:\]\]+>,\\)" "test Inferior.threads"
+gdb_test "python print (i0.progspace)" "<gdb.Progspace object at $hex>"
+gdb_test "python print (i0.progspace == gdb.progspaces()\[0\])" "True"
+
# Test the number of inferior threads.
gdb_breakpoint check_threads
@@ -262,6 +265,8 @@ with_test_prefix "is_valid" {
"RuntimeError: Inferior no longer exists.*"
gdb_test "python print (inf_list\[1\].was_attached)" \
"RuntimeError: Inferior no longer exists.*"
+ gdb_test "python print (inf_list\[1\].progspace)" \
+ "RuntimeError: Inferior no longer exists.*"
gdb_test "python print (inf_list\[1\].threads ())" \
"RuntimeError: Inferior no longer exists.*"
gdb_test "python print (inf_list\[1\].thread_from_thread_handle (1))" \
--
2.19.0
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() 2018-09-13 2:36 [PATCH v2 1/3] python: Add Inferior.progspace property Simon Marchi @ 2018-09-13 2:37 ` Simon Marchi 2018-09-13 13:49 ` Eli Zaretskii 2018-09-13 2:37 ` [PATCH v2 2/3] python: Add Progspace.objfiles method Simon Marchi 2018-09-13 13:46 ` [PATCH v2 1/3] python: Add Inferior.progspace property Eli Zaretskii 2 siblings, 1 reply; 9+ messages in thread From: Simon Marchi @ 2018-09-13 2:37 UTC (permalink / raw) To: gdb-patches; +Cc: Simon Marchi New in v2: updated the text. The code implementing gdb.objfiles() returns a list of objfiles for the current program space (the program space of the selected inferior). The documentation for the gdb.objfiles() Python method, however, states: Return a sequence of all the objfiles current known to GDB. That sounds wrong to me. I tried to phrase to be more precise. gdb/doc/ChangeLog: * python.texi (Objfiles In Python): Update gdb.objfiles() doc. --- gdb/doc/python.texi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi index 6b3b598039d..9c7d26b133b 100644 --- a/gdb/doc/python.texi +++ b/gdb/doc/python.texi @@ -4112,10 +4112,10 @@ this function returns @code{None}. @findex gdb.objfiles @defun gdb.objfiles () -Return a sequence of all the objfiles current known to @value{GDBN}. -@xref{Objfiles In Python}. This is identical to -@code{gdb.selected_inferior().progspace.objfiles()} (@pxref{Progspaces In -Python}) and is included for historical compatibility. +Return a sequence of objfiles referenced by the current program space. +@xref{Objfiles In Python} and @ref{Progspaces In Python}. This is identical +to @code{gdb.selected_inferior().progspace.objfiles()} and is included for +historical compatibility. @end defun @findex gdb.lookup_objfile -- 2.19.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() 2018-09-13 2:37 ` [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() Simon Marchi @ 2018-09-13 13:49 ` Eli Zaretskii 0 siblings, 0 replies; 9+ messages in thread From: Eli Zaretskii @ 2018-09-13 13:49 UTC (permalink / raw) To: Simon Marchi; +Cc: gdb-patches > From: Simon Marchi <simon.marchi@ericsson.com> > CC: Simon Marchi <simon.marchi@ericsson.com> > Date: Wed, 12 Sep 2018 22:36:27 -0400 > > +Return a sequence of objfiles referenced by the current program space. > +@xref{Objfiles In Python} and @ref{Progspaces In Python}. This is identical Please add a comma after the closing brace of @xref. > +to @code{gdb.selected_inferior().progspace.objfiles()} and is included for ^ That brace should be deleted. OK with those fixed. Thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 2/3] python: Add Progspace.objfiles method 2018-09-13 2:36 [PATCH v2 1/3] python: Add Inferior.progspace property Simon Marchi 2018-09-13 2:37 ` [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() Simon Marchi @ 2018-09-13 2:37 ` Simon Marchi 2018-09-13 13:49 ` Eli Zaretskii 2018-09-13 13:46 ` [PATCH v2 1/3] python: Add Inferior.progspace property Eli Zaretskii 2 siblings, 1 reply; 9+ messages in thread From: Simon Marchi @ 2018-09-13 2:37 UTC (permalink / raw) To: gdb-patches; +Cc: Simon Marchi New in v2: * throw an exception when using the method on an invalid Progspace. * Add the bit in the gdb.objfiles() doc. I have stolen these bits from Tom Tromey's 2014 patch, so I will include him in the relevant ChangeLog entries. This patch adds an objfiles method to the Progspace object, which returns a sequence of the objfiles associated to that program space. I chose a method rather than a property for symmetry with gdb.objfiles(). gdb/ChangeLog: * python/py-progspace.c (PSPY_REQUIRE_VALID): New macro. (pspy_get_objfiles): New function. (progspace_object_methods): New. (pspace_object_type): Add tp_methods callback. * python/python-internal.h (build_objfiles_list): New declaration. * python/python.c (build_objfiles_list): New function. (gdbpy_objfiles): Implement using build_objfiles_list. * NEWS: Mention the Progspace.objfiles method. gdb/doc/ChangeLog: * python.texi (Program Spaces In Python): Document the Progspace.objfiles method. (Objfiles In Python): Mention that gdb.objfiles() is identical to gdb.selected_inferior().progspace.objfiles(). gdb/testsuite/ChangeLog: * gdb.python/py-progspace.exp: Test the Progspace.objfiles method. --- gdb/NEWS | 3 +++ gdb/doc/python.texi | 12 ++++++++- gdb/python/py-progspace.c | 32 ++++++++++++++++++++--- gdb/python/python-internal.h | 4 +++ gdb/python/python.c | 28 +++++++++++++------- gdb/testsuite/gdb.python/py-progspace.exp | 31 ++++++++++++++++++++++ 6 files changed, 96 insertions(+), 14 deletions(-) diff --git a/gdb/NEWS b/gdb/NEWS index 73d95f2a559..0b5bd2f1f2f 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -89,6 +89,9 @@ CSKY GNU/LINUX csky*-*-linux ** The gdb.Inferior type has a new progspace property, which is the program space associated to that inferior. + ** The gdb.Progspace type has a new objfiles method, which returns the list + of objfiles associated to that program space. + *** Changes in GDB 8.2 * The 'set disassembler-options' command now supports specifying options diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi index ca3e651098f..6b3b598039d 100644 --- a/gdb/doc/python.texi +++ b/gdb/doc/python.texi @@ -4079,6 +4079,14 @@ Hello. [Inferior 1 (process 4242) exited normally] @end smallexample +A @code{gdb.Progspace} object has the following methods: + +@findex Progspace.objfiles +@defun Progspace.objfiles () +Return a sequence of all the objfiles referenced by this program +space. @xref{Objfiles In Python}. +@end defun + @node Objfiles In Python @subsubsection Objfiles In Python @@ -4105,7 +4113,9 @@ this function returns @code{None}. @findex gdb.objfiles @defun gdb.objfiles () Return a sequence of all the objfiles current known to @value{GDBN}. -@xref{Objfiles In Python}. +@xref{Objfiles In Python}. This is identical to +@code{gdb.selected_inferior().progspace.objfiles()} (@pxref{Progspaces In +Python}) and is included for historical compatibility. @end defun @findex gdb.lookup_objfile diff --git a/gdb/python/py-progspace.c b/gdb/python/py-progspace.c index 3eaa466666d..e01338f43d3 100644 --- a/gdb/python/py-progspace.c +++ b/gdb/python/py-progspace.c @@ -58,7 +58,16 @@ extern PyTypeObject pspace_object_type static const struct program_space_data *pspy_pspace_data_key; -\f +/* Require that PSPACE_OBJ be a valid program space ID. */ +#define PSPY_REQUIRE_VALID(pspace_obj) \ + do { \ + if (pspace_obj->pspace == nullptr) \ + { \ + PyErr_SetString (PyExc_RuntimeError, \ + _("Program space no longer exists.")); \ + return NULL; \ + } \ + } while (0) /* An Objfile method which returns the objfile's file name, or None. */ @@ -314,7 +323,17 @@ pspy_set_type_printers (PyObject *o, PyObject *value, void *ignore) return 0; } -\f +/* Implement the objfiles method. */ + +static PyObject * +pspy_get_objfiles (PyObject *self_, PyObject *args) +{ + pspace_object *self = (pspace_object *) self_; + + PSPY_REQUIRE_VALID (self); + + return build_objfiles_list (self->pspace).release (); +} /* Clear the PSPACE pointer in a Pspace object and remove the reference. */ @@ -397,6 +416,13 @@ static gdb_PyGetSetDef pspace_getset[] = { NULL } }; +static PyMethodDef progspace_object_methods[] = +{ + { "objfiles", pspy_get_objfiles, METH_NOARGS, + "Return a sequence of objfiles associated to this program space." }, + { NULL } +}; + PyTypeObject pspace_object_type = { PyVarObject_HEAD_INIT (NULL, 0) @@ -426,7 +452,7 @@ PyTypeObject pspace_object_type = 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ - 0, /* tp_methods */ + progspace_object_methods, /* tp_methods */ 0, /* tp_members */ pspace_getset, /* tp_getset */ 0, /* tp_base */ diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h index 3874fdc5e79..785ad171511 100644 --- a/gdb/python/python-internal.h +++ b/gdb/python/python-internal.h @@ -549,6 +549,10 @@ 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; diff --git a/gdb/python/python.c b/gdb/python/python.c index 6f798a0e461..371f4a57529 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -1437,10 +1437,10 @@ gdbpy_get_current_objfile (PyObject *unused1, PyObject *unused2) return result; } -/* Return a sequence holding all the Objfiles. */ +/* See python-internal.h. */ -static PyObject * -gdbpy_objfiles (PyObject *unused1, PyObject *unused2) +gdbpy_ref<> +build_objfiles_list (program_space *pspace) { struct objfile *objf; @@ -1448,15 +1448,23 @@ gdbpy_objfiles (PyObject *unused1, PyObject *unused2) if (list == NULL) return NULL; - ALL_OBJFILES (objf) - { - PyObject *item = objfile_to_objfile_object (objf); + ALL_PSPACE_OBJFILES (pspace, objf) + { + PyObject *item = objfile_to_objfile_object (objf); - if (!item || PyList_Append (list.get (), item) == -1) - return NULL; - } + if (item == nullptr || PyList_Append (list.get (), item) == -1) + return NULL; + } - return list.release (); + return list; +} + +/* Return a sequence holding all the Objfiles. */ + +static PyObject * +gdbpy_objfiles (PyObject *unused1, PyObject *unused2) +{ + return build_objfiles_list (current_program_space).release (); } /* Compute the list of active python type printers and store them in diff --git a/gdb/testsuite/gdb.python/py-progspace.exp b/gdb/testsuite/gdb.python/py-progspace.exp index f0cafa834e0..fa1ffd9e283 100644 --- a/gdb/testsuite/gdb.python/py-progspace.exp +++ b/gdb/testsuite/gdb.python/py-progspace.exp @@ -51,3 +51,34 @@ gdb_py_test_silent_cmd "python progspace.random_attribute = 42" \ "Set random attribute in progspace" 1 gdb_test "python print (progspace.random_attribute)" "42" \ "Verify set of random attribute in progspace" + +if {![runto_main]} { + fail "can't run to main" + return +} + +# With a single inferior, progspace.objfiles () and gdb.objfiles () should +# be identical. +gdb_test "python print (progspace.objfiles () == gdb.objfiles ())" "True" + +gdb_test "add-inferior" +gdb_test "inferior 2" + +gdb_load ${binfile} + +# With a second (non-started) inferior, we should have a single objfile - the +# main one. +gdb_test "python print (len (gdb.objfiles ())) == 1" + +# And the gdb.objfiles() list should now be different from the objfiles of the +# prog space of inferior 1. +gdb_test "python print (progspace.objfiles () != gdb.objfiles ())" "True" + +# Delete inferior 2 (and therefore the second progspace), check that the Python +# object reacts sensibly. +gdb_py_test_silent_cmd "python progspace2 = gdb.current_progspace()" \ + "save progspace 2" 1 +gdb_test "inferior 1" "Switching to inferior 1.*" +gdb_test_no_output "remove-inferiors 2" +gdb_test "python print (progspace2.objfiles ())" \ + "RuntimeError: Program space no longer exists.*" -- 2.19.0 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/3] python: Add Progspace.objfiles method 2018-09-13 2:37 ` [PATCH v2 2/3] python: Add Progspace.objfiles method Simon Marchi @ 2018-09-13 13:49 ` Eli Zaretskii 0 siblings, 0 replies; 9+ messages in thread From: Eli Zaretskii @ 2018-09-13 13:49 UTC (permalink / raw) To: Simon Marchi; +Cc: gdb-patches > From: Simon Marchi <simon.marchi@ericsson.com> > CC: Simon Marchi <simon.marchi@ericsson.com> > Date: Wed, 12 Sep 2018 22:36:26 -0400 > > + ** The gdb.Progspace type has a new objfiles method, which returns the list Shouldn't "objfiles" be quoted 'like this'? > -@xref{Objfiles In Python}. > +@xref{Objfiles In Python}. This is identical to > +@code{gdb.selected_inferior().progspace.objfiles()} (@pxref{Progspaces In ^ Again, remove that brace. The documentation parts are OK with those gotchas fixed. Thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] python: Add Inferior.progspace property 2018-09-13 2:36 [PATCH v2 1/3] python: Add Inferior.progspace property Simon Marchi 2018-09-13 2:37 ` [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() Simon Marchi 2018-09-13 2:37 ` [PATCH v2 2/3] python: Add Progspace.objfiles method Simon Marchi @ 2018-09-13 13:46 ` Eli Zaretskii 2018-09-13 13:50 ` Simon Marchi 2 siblings, 1 reply; 9+ messages in thread From: Eli Zaretskii @ 2018-09-13 13:46 UTC (permalink / raw) To: Simon Marchi; +Cc: gdb-patches > From: Simon Marchi <simon.marchi@ericsson.com> > CC: Simon Marchi <simon.marchi@ericsson.com> > Date: Wed, 12 Sep 2018 22:36:25 -0400 > > -@xref{Inferiors and Programs}. > +@xref{Inferiors and Programs}. This is identical to > +@code{gdb.selected_inferior().progspace} (@pxref{Inferiors In Python}) and is ^ This brace should be deleted. Otherwise, the documentation parts are OK. Thanks. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] python: Add Inferior.progspace property 2018-09-13 13:46 ` [PATCH v2 1/3] python: Add Inferior.progspace property Eli Zaretskii @ 2018-09-13 13:50 ` Simon Marchi 2018-09-13 14:20 ` Eli Zaretskii 0 siblings, 1 reply; 9+ messages in thread From: Simon Marchi @ 2018-09-13 13:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Simon Marchi, gdb-patches On 2018-09-13 09:45, Eli Zaretskii wrote: >> From: Simon Marchi <simon.marchi@ericsson.com> >> CC: Simon Marchi <simon.marchi@ericsson.com> >> Date: Wed, 12 Sep 2018 22:36:25 -0400 >> >> -@xref{Inferiors and Programs}. >> +@xref{Inferiors and Programs}. This is identical to >> +@code{gdb.selected_inferior().progspace} (@pxref{Inferiors In >> Python}) and is > ^ > This brace should be deleted. The brace belongs there (it is the end of the @code), if I remove it I get a makeinfo error. > Otherwise, the documentation parts are OK. Thanks. Thanks. Simon ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] python: Add Inferior.progspace property 2018-09-13 13:50 ` Simon Marchi @ 2018-09-13 14:20 ` Eli Zaretskii 2018-09-13 19:45 ` Simon Marchi 0 siblings, 1 reply; 9+ messages in thread From: Eli Zaretskii @ 2018-09-13 14:20 UTC (permalink / raw) To: Simon Marchi; +Cc: gdb-patches > Date: Thu, 13 Sep 2018 09:50:32 -0400 > From: Simon Marchi <simon.marchi@polymtl.ca> > Cc: Simon Marchi <simon.marchi@ericsson.com>, gdb-patches@sourceware.org > > > This brace should be deleted. > > The brace belongs there (it is the end of the @code), if I remove it I > get a makeinfo error. Sorry, you are right. That was a long day. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/3] python: Add Inferior.progspace property 2018-09-13 14:20 ` Eli Zaretskii @ 2018-09-13 19:45 ` Simon Marchi 0 siblings, 0 replies; 9+ messages in thread From: Simon Marchi @ 2018-09-13 19:45 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gdb-patches On 2018-09-13 10:20, Eli Zaretskii wrote: >> Date: Thu, 13 Sep 2018 09:50:32 -0400 >> From: Simon Marchi <simon.marchi@polymtl.ca> >> Cc: Simon Marchi <simon.marchi@ericsson.com>, >> gdb-patches@sourceware.org >> >> > This brace should be deleted. >> >> The brace belongs there (it is the end of the @code), if I remove it I >> get a makeinfo error. > > Sorry, you are right. That was a long day. No worries, thanks for your comments. I have pushed the three patches after addressing what you pointed out. Simon ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2018-09-13 19:45 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-09-13 2:36 [PATCH v2 1/3] python: Add Inferior.progspace property Simon Marchi 2018-09-13 2:37 ` [PATCH v2 3/3] python: Fix erroneous doc about gdb.objfiles() Simon Marchi 2018-09-13 13:49 ` Eli Zaretskii 2018-09-13 2:37 ` [PATCH v2 2/3] python: Add Progspace.objfiles method Simon Marchi 2018-09-13 13:49 ` Eli Zaretskii 2018-09-13 13:46 ` [PATCH v2 1/3] python: Add Inferior.progspace property Eli Zaretskii 2018-09-13 13:50 ` Simon Marchi 2018-09-13 14:20 ` Eli Zaretskii 2018-09-13 19:45 ` Simon Marchi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox