diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9239665feab..07bc5d20dc1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2016-05-23 Tom Tromey + + PR python/19438, PR python/18393: + * python/py-objfile.c (objfpy_initialize): Initialize self->dict. + * python/py-progspace.c (pspy_initialize): Initialize self->dict. + 2016-05-23 Gary Benson * nat/gdb_thread_db.h (td_thr_validate_ftype): Remove typedef. diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c index cd26c5b49cd..82df4b20199 100644 --- a/gdb/python/py-objfile.c +++ b/gdb/python/py-objfile.c @@ -196,7 +196,10 @@ static int objfpy_initialize (objfile_object *self) { self->objfile = NULL; - self->dict = NULL; + + self->dict = PyDict_New (); + if (self->dict == NULL) + return 0; self->printers = PyList_New (0); if (self->printers == NULL) diff --git a/gdb/python/py-progspace.c b/gdb/python/py-progspace.c index e1258c76254..6fc53cb95d3 100644 --- a/gdb/python/py-progspace.c +++ b/gdb/python/py-progspace.c @@ -97,7 +97,10 @@ static int pspy_initialize (pspace_object *self) { self->pspace = NULL; - self->dict = NULL; + + self->dict = PyDict_New (); + if (self->dict == NULL) + return 0; self->printers = PyList_New (0); if (self->printers == NULL) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2aadae090ae..1f0e3f99f59 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2016-05-23 Tom Tromey + + PR python/19438, PR python/18393: + * gdb.python/py-progspace.exp: Add "dir" test. + * gdb.python/py-objfile.exp: Add "dir" test. + 2016-05-23 Yao Qi * gdb.arch/thumb-prologue.exp: Use standard_testfile. diff --git a/gdb/testsuite/gdb.python/py-objfile.exp b/gdb/testsuite/gdb.python/py-objfile.exp index 1bbb4cf20ba..62ca3091983 100644 --- a/gdb/testsuite/gdb.python/py-objfile.exp +++ b/gdb/testsuite/gdb.python/py-objfile.exp @@ -45,6 +45,8 @@ gdb_test "python print (objfile.filename)" "${testfile}" \ gdb_test "python print (objfile.username)" "${testfile}" \ "Get objfile user name" +gdb_test_no_output "python dir(objfile)" + gdb_test "python print (gdb.lookup_objfile (\"${testfile}\").filename)" \ "${testfile}" "print lookup_objfile filename" gdb_test "python print (gdb.lookup_objfile (\"junk\"))" \ diff --git a/gdb/testsuite/gdb.python/py-progspace.exp b/gdb/testsuite/gdb.python/py-progspace.exp index 5c1db1c645d..396d0f2957c 100644 --- a/gdb/testsuite/gdb.python/py-progspace.exp +++ b/gdb/testsuite/gdb.python/py-progspace.exp @@ -37,6 +37,8 @@ gdb_test "python print (gdb.current_progspace().filename)" "None" \ "current progspace filename (None)" gdb_test "python print (gdb.progspaces())" "\\\[\\\]" +gdb_test_no_output "python dir(gdb.current_progspace())" + gdb_load ${binfile} gdb_py_test_silent_cmd "python progspace = gdb.current_progspace()" \