• R/O
  • HTTP
  • SSH
  • HTTPS

drdeamon64: Commit

Dr.Deamon64 Git-Repository
(2014/03/01- Main-Repository: migrate from cvs)


Commit MetaInfo

Révisionaa9f5bdb28e794a7ea2d0420b752713020e39723 (tree)
l'heure2019-10-16 21:23:44
AuteurKoine Yuusuke(koinec) <koinec@user...>
CommiterKoine Yuusuke(koinec)

Message de Log

(LibGoblin)
  • WorkBackup

Change Summary

Modification

--- a/libgoblin/drd64_libgoblin_debug_objinfo.c
+++ b/libgoblin/drd64_libgoblin_debug_objinfo.c
@@ -47,12 +47,12 @@ static char gstr_type[256][9] = {
4747 "TYPE:MUL", // 0x06
4848 "TYPE:SIG", // 0x07
4949
50- "FUNCTION", // 0x08
51- "OBJECT", // 0x09
52- "COMMON", // 0x0a
53- "TLS", // 0x0b
50+ "TYPEDEF", // 0x08
51+ "FUNCTION", // 0x09
52+ "OBJECT", // 0x0a
53+ "COMMON", // 0x0b
54+ "TLS", // 0x0c
5455 "REL", // 0x0d
55- "", // 0x0d
5656 "", // 0x0e
5757 "", // 0x0f
5858 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
@@ -505,6 +505,22 @@ void
505505 return;
506506 }
507507
508+/*--------------------------------------------------------------------*/
509+void
510+ Debug_ObjectInfo_Print_Typedef(
511+ LibGoblin_ObjectInfo *p_obj,
512+ char *pstr_space,
513+ Byte b_level )
514+{
515+ printf(" %s\t\t[OBJINFO] Addr.Link(%3d <-> %3d) .debug_info=%8ph\n",
516+ pstr_space, p_obj->addrlink.i_prev_id, p_obj->addrlink.i_next_id,
517+ p_obj->dwarf.pb_info );
518+ printf(" %s\t\t[TYPEDEF] Link Addr= %8ph -> ObjID= %d\n",
519+ pstr_space, p_obj->info.type.p_dwtype, p_obj->info.type.i_objid_type );
520+
521+ return;
522+}
523+
508524 /*====================================================================*/
509525 /*--------------------------------------------------------------------*/
510526 void
@@ -566,6 +582,10 @@ void
566582 Debug_ObjectInfo_Print_Type_Multi( p_obj, pstr_space, b_level );
567583 break;
568584
585+ case OBJINFO_TYPE_TYPEDEF:
586+ Debug_ObjectInfo_Print_Typedef( p_obj, pstr_space, b_level );
587+ break;
588+
569589 case OBJINFO_TYPE_FUNCTION:
570590 Debug_ObjectInfo_Print_Function( p_obj, pstr_space, b_level );
571591 break;
--- a/libgoblin/drd64_libgoblin_dwarf_tag_function.c
+++ b/libgoblin/drd64_libgoblin_dwarf_tag_function.c
@@ -222,7 +222,7 @@ int
222222 }
223223 //p_obj->i_srcid = p_srcfile->i_id;
224224 }
225-
225+
226226 /*
227227 p_bfile = BinaryFile_GetBinaryFile( p_binfo->i_binfile );
228228 assert( NULL != p_bfile );
--- a/libgoblin/drd64_libgoblin_dwarf_tag_type.c
+++ b/libgoblin/drd64_libgoblin_dwarf_tag_type.c
@@ -109,7 +109,7 @@ int
109109
110110 pobj_now = ObjectInfo_InsetObject(
111111 p_pginfo, ptrval_start, (QWord)0, pobj_parent,
112- OBJINFO_INSETMODE_ADOPT, OBJINFO_TYPE_TYPE_SINGLE, NULL );
112+ OBJINFO_INSETMODE_ADOPT, OBJINFO_TYPE_TYPEDEF, NULL );
113113 if( NULL == pobj_now ) {
114114 return -0x03;
115115 }
--- a/libgoblin/drd64_libgoblin_objinfo.c
+++ b/libgoblin/drd64_libgoblin_objinfo.c
@@ -398,14 +398,10 @@ LibGoblin_ObjectInfo *
398398 }
399399
400400 if( ptr_value == p_objnow->addr.ptr_addr.value ) {
401-//printf("DEBUG: %s (%x) : size= %lxh, obj= %lxh (%s)\n", pstr_name, dw_hash, qw_size, p_objnow->addr.qw_size, p_objnow->pstr_name );
402401 if( qw_size > p_objnow->addr.qw_size )
403402 { break; }
404- else if( qw_size < p_objnow->addr.qw_size ) {
405- if( b_type < p_objnow->b_type ) { break; }
406- }
407- else { // qw_size == p_objnow->addr.qw_size
408-//printf("DEBUG: %s (%x) <=> %s (%x) is chkmode.\n", pstr_name, dw_hash, p_objnow->pstr_name, p_objnow->dw_hash );
403+
404+ else if( qw_size == p_objnow->addr.qw_size ) {
409405 if( b_type < p_objnow->b_type ) { break; }
410406
411407 if( OBJINFO_INSETMODE_CHKNAME & b_mode ) {
--- a/libgoblin/drd64_libgoblin_type.h
+++ b/libgoblin/drd64_libgoblin_type.h
@@ -98,11 +98,12 @@ typedef struct {
9898 #define OBJINFO_TYPE_OBJFILE 0x05
9999 #define OBJINFO_TYPE_TYPE_MULTI 0x06
100100 #define OBJINFO_TYPE_TYPE_SINGLE 0x07
101-#define OBJINFO_TYPE_FUNCTION 0x08
102-#define OBJINFO_TYPE_OBJECT 0x09
103-#define OBJINFO_TYPE_COMMON 0x0a
104-#define OBJINFO_TYPE_TLS 0x0b
105-#define OBJINFO_TYPE_REL 0x0c
101+#define OBJINFO_TYPE_TYPEDEF 0x08
102+#define OBJINFO_TYPE_FUNCTION 0x09
103+#define OBJINFO_TYPE_OBJECT 0x0a
104+#define OBJINFO_TYPE_COMMON 0x0b
105+#define OBJINFO_TYPE_TLS 0x0c
106+#define OBJINFO_TYPE_REL 0x0d
106107 #define OBJINFO_TYPE_NONE 0x7f
107108
108109 typedef struct {
Afficher sur ancien navigateur de dépôt.