gdb: fix field names of GDB's type main_type structure

In commit:

  commit 5b7d941b90
  Date:   Fri Jan 22 12:21:09 2021 -0500

      gdb: add owner-related methods to struct type

two fields of struct maint_type were renamed.  'flag_objfile_owned'
became 'm_flag_objfile_owned' and 'owner' became 'm_owner'.  Update
our python helper script to take this into account.

I've added a basic test that uses the self-test framework to load the
pretty printers, and print a type.

The test relies on stopping in GDB's `value_print` function.

gdb/ChangeLog:

	* gdb-gdb.py.in (StructMainTypePrettyPrinter) <owner_to_string>:
	Updated fields names flag_objfile_owned to m_flag_objfile_owned,
	and owner to m_owner.

gdb/testsuite/ChangeLog:

	* gdb.gdb/python-helper.exp: New file.
This commit is contained in:
Andrew Burgess 2021-02-08 21:24:52 +00:00
parent 611aa09d99
commit fbb1aaceba
4 changed files with 155 additions and 3 deletions

View file

@ -142,10 +142,10 @@ class StructMainTypePrettyPrinter:
def owner_to_string(self):
"""Return an image of component "owner".
"""
if self.val['flag_objfile_owned'] != 0:
return "%s (objfile)" % self.val['owner']['objfile']
if self.val['m_flag_objfile_owned'] != 0:
return "%s (objfile)" % self.val['m_owner']['objfile']
else:
return "%s (gdbarch)" % self.val['owner']['gdbarch']
return "%s (gdbarch)" % self.val['m_owner']['gdbarch']
def struct_field_location_img(self, field_val):
"""Return an image of the loc component inside the given field