Dr.Deamon64 Git-Repository
(2014/03/01- Main-Repository: migrate from cvs)
Révision | 6c3df1fc714063a8e238b5cc8829ca5f9a2e9e8a (tree) |
---|---|
l'heure | 2019-10-29 21:43:05 |
Auteur | Koine Yuusuke(koinec) <koinec@user...> |
Commiter | Koine Yuusuke(koinec) |
@@ -81,45 +81,31 @@ int | ||
81 | 81 | LibGoblin_DWARF_Info_Ancestry *p_ancestry, |
82 | 82 | LibGoblin_DWARF_Info_CUHeader *p_cuheader ) |
83 | 83 | { |
84 | - LibGoblin_DWARF_DIEValue *pval_name; | |
85 | - LibGoblin_DWARF_DIEValue *pval_declfile; | |
86 | - LibGoblin_DWARF_DIEValue *pval_declline; | |
87 | - LibGoblin_DWARF_DIEValue *pval_byte_size; | |
88 | - | |
89 | - // Data Extract | |
90 | - pval_name = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_name ); | |
91 | - pval_declfile = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_file ); | |
92 | - pval_declline = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_line ); | |
93 | - pval_byte_size = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_byte_size ); | |
94 | - | |
95 | - | |
96 | -/* | |
97 | - Byte *pb_link = NULL; | |
98 | 84 | int i_obj_parent; |
85 | + //Byte *pb_link = NULL; | |
99 | 86 | PtrValue ptrval_start; |
100 | 87 | LibGoblin_ObjectInfo *pobj_now; |
101 | 88 | LibGoblin_ObjectInfo *pobj_parent; |
102 | 89 | LibGoblin_ProgramInfo *p_pginfo; |
103 | 90 | LibGoblin_DWARF_DIEValue *pval_name; |
104 | - LibGoblin_DWARF_DIEValue *pval_type; | |
105 | 91 | LibGoblin_DWARF_DIEValue *pval_declfile; |
106 | 92 | LibGoblin_DWARF_DIEValue *pval_declline; |
107 | 93 | LibGoblin_DWARF_DIEValue *pval_byte_size; |
94 | + LibGoblin_DWARF_DIEValue *pval_declaration; | |
95 | + LibGoblin_DWARF_DIEValue *pval_specification; | |
96 | + LibGoblin_DWARF_DIEValue *pval_start_scope; | |
108 | 97 | |
109 | 98 | // Data Extract |
110 | - pval_type = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_type ); | |
111 | - pval_name = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_name ); | |
112 | - pval_declfile = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_file ); | |
113 | - pval_declline = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_line ); | |
114 | - pval_byte_size = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_byte_size ); | |
115 | - | |
116 | - | |
117 | - if( NULL != pval_type ) | |
118 | - { pb_link = pval_type->value.pb_link; } | |
99 | + pval_name = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_name ); | |
100 | + pval_declfile = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_file ); | |
101 | + pval_declline = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_decl_line ); | |
102 | + pval_byte_size = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_byte_size ); | |
103 | + pval_declaration = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_declaration ); | |
104 | + pval_specification = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_specification ); | |
105 | + pval_start_scope = DWARF_AttrForm_GetDIEValue( p_binfo, DW_AT_start_scope ); | |
119 | 106 | |
120 | 107 | i_obj_parent = p_ancestry[i_childlv - 1].i_objid; |
121 | - | |
122 | - p_pginfo = ProgInfo_GetProgInfo( p_binfo->i_pginfo ); | |
108 | + p_pginfo = ProgInfo_GetProgInfo( p_binfo->i_pginfo ); | |
123 | 109 | assert( NULL != p_pginfo ); |
124 | 110 | |
125 | 111 | pobj_parent = ObjectInfo_GetObjectInfo( p_pginfo, i_obj_parent ); |
@@ -127,7 +113,7 @@ int | ||
127 | 113 | |
128 | 114 | pobj_now = ObjectInfo_InsetObject( |
129 | 115 | p_pginfo, ptrval_start, (QWord)0, pobj_parent, |
130 | - OBJINFO_INSETMODE_ADOPT, OBJINFO_TYPE_TYPEDEF, NULL ); | |
116 | + OBJINFO_INSETMODE_ADOPT, OBJINFO_TYPE_TYPE_MULTI, NULL ); | |
131 | 117 | if( NULL == pobj_now ) { |
132 | 118 | return -0x03; |
133 | 119 | } |
@@ -148,6 +134,12 @@ int | ||
148 | 134 | else |
149 | 135 | { pobj_now->pstr_name = NULL; } |
150 | 136 | |
137 | +/* | |
138 | + | |
139 | + | |
140 | + if( NULL != pval_type ) | |
141 | + { pb_link = pval_type->value.pb_link; } | |
142 | + | |
151 | 143 | pobj_now->dwarf.i_objid_type = NO_OBJ; |
152 | 144 | pobj_now->dwarf.pb_dwinfo_type = pb_link; |
153 | 145 | pobj_now->info.type.dw_size = 0; |