OSDN Git Service

(LibGoblin)
authorKoine Yuusuke(koinec) <koinec@users.osdn.me>
Tue, 11 Jun 2019 20:25:25 +0000 (05:25 +0900)
committerKoine Yuusuke(koinec) <koinec@users.osdn.me>
Tue, 11 Jun 2019 20:25:25 +0000 (05:25 +0900)
  * p_infoval struct-val move from BinaryFile to BinaryInfo.

libgoblin/drd64_libgoblin_binaryfile.c
libgoblin/drd64_libgoblin_debug_dwarf.c
libgoblin/drd64_libgoblin_debug_dwarf.h
libgoblin/drd64_libgoblin_dwarf_abbrev.c
libgoblin/drd64_libgoblin_dwarf_info.c
libgoblin/drd64_libgoblin_type.h

index 3a988d4..3f5a331 100644 (file)
@@ -97,12 +97,6 @@ void
                p_binfile->dwarf.i_abbrevs_max          = 0;
        }
 
-       if( NULL != p_binfile->dwarf.p_infoval )        {
-               free( p_binfile->dwarf.p_infoval );
-               p_binfile->dwarf.p_infoval              = NULL;
-               p_binfile->dwarf.i_maxvals              = 0;
-       }
-
        memset( p_binfile, 0x00, sizeof( LibGoblin_BinaryFile ) );
 
        p_binfile->i_id = -0x01;
@@ -170,7 +164,6 @@ goto_BinaryFile_AllocBinaryFile_dataset:
 
        p_binfile->srcfile.p_srcfile    = NULL;
        p_binfile->dwarf.p_abbrev               = NULL;
-       p_binfile->dwarf.p_infoval              = NULL;
        BinaryFile_ClearBinaryFile( p_binfile );
 
        p_binfile->i_id                 = i_id_now;
@@ -336,7 +329,6 @@ int
                p_binfile       = BINFILE( i_cnt );
                p_binfile->srcfile.p_srcfile    = NULL;
                p_binfile->dwarf.p_abbrev               = NULL;
-               p_binfile->dwarf.p_infoval              = NULL;
                BinaryFile_ClearBinaryFile( p_binfile );
        }
 
index 021c845..3ac5226 100644 (file)
@@ -43,7 +43,7 @@ Comment:
 LIBGOBLIN_DEBUG_DWARF_EXTERN
 void
        Debug_DWARF_PrintDIE(
-                       LibGoblin_BinaryFile    *p_bfile,
+                       LibGoblin_BinaryInfo    *p_binfo,
                        DWARF_AbbrevEntry               *p_abbrev,
                        DWord   dw_abbrevid,
                        int             i_childlv )
@@ -60,7 +60,7 @@ void
        str_space[i_end]        = '\0';
 
        p_arvnow        = p_abbrev + (dw_abbrevid - 1);
-       p_val           = p_bfile->dwarf.p_infoval;
+       p_val           = p_binfo->dwarf.p_infoval;
 
        printf( "%s<%2d>: Abbrev Number: %2d (%s [%02xh])\n",
                                str_space, i_childlv, dw_abbrevid,
index fcf95c6..fee69d6 100644 (file)
@@ -47,7 +47,7 @@ Comment:
 
 LIBGOBLIN_DEBUG_DWARF_EXTERN
        void Debug_DWARF_PrintDIE(
-                       LibGoblin_BinaryFile *p_bfile, DWARF_AbbrevEntry *p_abbrev,
+                       LibGoblin_BinaryInfo *p_binfo, DWARF_AbbrevEntry *p_abbrev,
                        DWord dw_abbrevid, int i_childlv );
 
 #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */
index 9b4a140..5eb3503 100644 (file)
@@ -382,7 +382,9 @@ int
                return 0x03;
        }
        p_bfile->dwarf.i_maxvals        = i_maxitems;
-       p_bfile->dwarf.p_infoval        = p_dievalue;
+
+       p_binfo->dwarf.i_maxvals        = i_maxitems;
+       p_binfo->dwarf.p_infoval        = p_dievalue;
 
        return 0x00;
 }
index 3142b8c..0b15e11 100644 (file)
@@ -555,7 +555,7 @@ LibGoblin_SrcFile *
        assert( NULL != p_binfo );
        assert( NULL != p_bfile );
 
-       p_infoval       = p_bfile->dwarf.p_infoval;
+       p_infoval       = p_binfo->dwarf.p_infoval;
        i_childlv       = 0;
        do      {
                // Read Reference Abbrev-ID ---
@@ -592,7 +592,7 @@ LibGoblin_SrcFile *
                return NULL;
        }
 
-       p_val   = p_bfile->dwarf.p_infoval;
+       p_val   = p_binfo->dwarf.p_infoval;
        for( i_cnt = 0; i_cnt < p_arvnow->i_items; i_cnt++, p_val++ )   {
                if( DW_AT_name == p_arvnow->dw_attribute[ i_cnt ] )     {
                        pstr_srcpath    = p_val->value.pstr_value;
@@ -652,7 +652,7 @@ int
 
        i_srcfiles      = p_bfile->dwarf.i_srcfiles;
 
-       p_infoval       = p_bfile->dwarf.p_infoval;
+       p_infoval       = p_binfo->dwarf.p_infoval;
 
        // Get section Info ---
        psec_info       = Section_GetSectionInfo( p_binfo, LIBGOBLIN_SECTION_ID_DEBUG_INFO );
@@ -728,7 +728,7 @@ int
                        // Dispatch for generate Rapid-Access Table by DIE-tag
                        i_result        = DWARF_Tag_Dispatch( p_binfo, p_bfile, p_srcfile, p_arvnow );
 
-                       Debug_DWARF_PrintDIE( p_bfile, p_abbrev, dw_arvid, i_childlv );
+                       Debug_DWARF_PrintDIE( p_binfo, p_abbrev, dw_arvid, i_childlv );
 
                }while( 0 != qw_size_cu ); 
                qw_size_info    -= t_cuheader.qw_unitsize;
index f5b04c4..715474e 100644 (file)
@@ -312,7 +312,6 @@ typedef struct      {
                int                                     i_srcfiles;
 
                int                                     i_maxvals;
-               LibGoblin_DWARF_DIEValue        *p_infoval;
        } dwarf;
 
        /* Binary-Format Depending Info. (ELF)*/