56ad193 [PATCH v3 2/8] Commonise tdesc_reg

Authored and Committed by Alan Hayward 6 years ago
    [PATCH v3 2/8] Commonise tdesc_reg
    
    This patch commonises tdesc_reg and makes use of it in gdbserver tdesc.
    
    gdbserver tdesc_create_reg is changed to create a tdesc_reg instead of
    a reg_defs entry. The vector of tdesc_reg is held inside tdesc_feature.
    
    However, other modules in gdbserver directly access the reg_defs structure.
    To work around this, init_target_desc fills in reg_defs by parsing the
    tdesc_reg vector.
    The long term goal is to remove reg_defs, replacing with accessor funcs.
    
    I wanted to make tdesc_create_reg common, but I cannot do that until
    the next patch.
    
    I also had to commonise tdesc_element_visitor and tdesc_element.
    
    2018-03-01  Alan Hayward  <alan.hayward@arm.com>
    
    gdb/
    	* Makefile.in: Add arch/tdesc.c
    	* common/tdesc.c: New file.
    	* common/tdesc.h (tdesc_element_visitor): Move to here.
    	(tdesc_element): Likewise.
    	(tdesc_reg): Likewise.
    	(tdesc_reg_up): Likewise.
    	* target-descriptions.c: (tdesc_element_visitor): Move from here.
    	(tdesc_element): Likewise.
    	(tdesc_reg): Likewise.
    	(tdesc_reg_up): Likewise.
    
    gdbserver/
    	* Makefile.in: Add common/tdesc.c
    	* tdesc.c (init_target_desc): init all reg_defs from register vector.
    	(tdesc_create_reg): Create tdesc_reg.
    	* tdesc.h (tdesc_feature): Add register vector.
    
        
file modified
+2 -0
file added
+40
file modified
+111 -0
file modified
+3 -0
file modified
+22 -17
file modified
+4 -1
file modified
+0 -116