Skip to content
Snippets Groups Projects
  • Andrew Burgess's avatar
    64cb3757
    gdb/python: New method to access list of register groups · 64cb3757
    Andrew Burgess authored
    Add a new method gdb.Architecture.register_groups which returns a new
    object of type gdb.RegisterGroupsIterator.  This new iterator then
    returns objects of type gdb.RegisterGroup.
    
    Each gdb.RegisterGroup object just wraps a single reggroup pointer,
    and (currently) has just one read-only property 'name' that is a
    string, the name of the register group.
    
    As with the previous commit (adding gdb.RegisterDescriptor) I made
    gdb.RegisterGroup an object rather than just a string in case we want
    to add additional properties in the future.
    
    gdb/ChangeLog:
    
    	* NEWS: Mention additions to Python API.
    	* python/py-arch.c (archpy_register_groups): New function.
    	(arch_object_methods): Add 'register_groups' method.
    	* python/py-registers.c (reggroup_iterator_object): New struct.
    	(reggroup_object): New struct.
    	(gdbpy_new_reggroup): New function.
    	(gdbpy_reggroup_to_string): New function.
    	(gdbpy_reggroup_name): New function.
    	(gdbpy_reggroup_iter): New function.
    	(gdbpy_reggroup_iter_next): New function.
    	(gdbpy_new_reggroup_iterator): New function
    	(gdbpy_initialize_registers): Register new types.
    	(reggroup_iterator_object_type): Define new Python type.
    	(gdbpy_reggroup_getset): New static global.
    	(reggroup_object_type): Define new Python type.
    	* python/python-internal.h
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-arch-reg-groups.exp: New file.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texi (Registers): Add @anchor for 'info registers
    	<reggroup>' command.
    	* python.texi (Architectures In Python): Document new
    	register_groups method.
    	(Registers In Python): Document two new object types related to
    	register groups.
    64cb3757
    History
    gdb/python: New method to access list of register groups
    Andrew Burgess authored
    Add a new method gdb.Architecture.register_groups which returns a new
    object of type gdb.RegisterGroupsIterator.  This new iterator then
    returns objects of type gdb.RegisterGroup.
    
    Each gdb.RegisterGroup object just wraps a single reggroup pointer,
    and (currently) has just one read-only property 'name' that is a
    string, the name of the register group.
    
    As with the previous commit (adding gdb.RegisterDescriptor) I made
    gdb.RegisterGroup an object rather than just a string in case we want
    to add additional properties in the future.
    
    gdb/ChangeLog:
    
    	* NEWS: Mention additions to Python API.
    	* python/py-arch.c (archpy_register_groups): New function.
    	(arch_object_methods): Add 'register_groups' method.
    	* python/py-registers.c (reggroup_iterator_object): New struct.
    	(reggroup_object): New struct.
    	(gdbpy_new_reggroup): New function.
    	(gdbpy_reggroup_to_string): New function.
    	(gdbpy_reggroup_name): New function.
    	(gdbpy_reggroup_iter): New function.
    	(gdbpy_reggroup_iter_next): New function.
    	(gdbpy_new_reggroup_iterator): New function
    	(gdbpy_initialize_registers): Register new types.
    	(reggroup_iterator_object_type): Define new Python type.
    	(gdbpy_reggroup_getset): New static global.
    	(reggroup_object_type): Define new Python type.
    	* python/python-internal.h
    
    gdb/testsuite/ChangeLog:
    
    	* gdb.python/py-arch-reg-groups.exp: New file.
    
    gdb/doc/ChangeLog:
    
    	* gdb.texi (Registers): Add @anchor for 'info registers
    	<reggroup>' command.
    	* python.texi (Architectures In Python): Document new
    	register_groups method.
    	(Registers In Python): Document two new object types related to
    	register groups.