OSDN Git Service

2019/05/09(Thr) 05:29
authorKoine Yuusuke(koinec) <koinec@users.osdn.me>
Wed, 8 May 2019 20:28:45 +0000 (05:28 +0900)
committerKoine Yuusuke(koinec) <koinec@users.osdn.me>
Wed, 8 May 2019 20:28:45 +0000 (05:28 +0900)
 (LibGoblin)
  * Refine: dwarf_abbrev

libgoblin/drd64_libgoblin_dwarf_abbrev.c
libgoblin/drd64_libgoblin_dwarf_common.c
libgoblin/drd64_libgoblin_dwarf_common.h
libgoblin/drd64_libgoblin_dwarf_info.c
libgoblin/drd64_libgoblin_dwarf_line.c
libgoblin/drd64_libgoblin_elf.c

index ad33387..f017b35 100644 (file)
@@ -101,8 +101,7 @@ Byte *
        memset( p_entry, 0x00, sizeof( LibGoblin_Dwarf_AbbrevEntry ) );
 
        /* Read Abbrev Number */
-       pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                       &qw_temp, pb_src, pqw_remain );
+       pb_src  = DWARF_Common_DecodeULEB128( &qw_temp, pb_src, pqw_remain );
 
        p_entry->dw_id  = (DWord)qw_temp;
        if( 0x00000000 == p_entry->dw_id )      {
@@ -110,8 +109,7 @@ Byte *
        }
 
        /* Read TAG */
-       pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                       &qw_temp, pb_src, pqw_remain );
+       pb_src  = DWARF_Common_DecodeULEB128( &qw_temp, pb_src, pqw_remain );
        p_entry->dw_tag = (DWord)qw_temp;
 
        /* Read IsChildren */
@@ -126,14 +124,12 @@ Byte *
 
        do      {
                /* Read Attribute */
-               pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                               &qw_temp, pb_src, pqw_remain );
+               pb_src  = DWARF_Common_DecodeULEB128( &qw_temp, pb_src, pqw_remain );
                dw_attribute    = (DWord)qw_temp;
                p_entry->dw_attribute[i_items]  = dw_attribute;
        
                /* Read Format */
-               pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                               &qw_temp, pb_src, pqw_remain );
+               pb_src  = DWARF_Common_DecodeULEB128( &qw_temp, pb_src, pqw_remain );
                dw_format               = (DWord)qw_temp;
                p_entry->dw_format[i_items]     = dw_format;
 
@@ -190,13 +186,11 @@ int
 
        do      {
                // Read Abbrev Number ---
-               pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                                       &qw_temp, pb_data, &qw_remain );
+               pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_remain );
                dw_abbrev_num   = (DWord)qw_temp;
 
                /* Read TAG */
-               pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                                       &qw_temp, pb_data, &qw_remain );
+               pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_remain );
                dw_tag  = (DWord)qw_temp;
 
                /* Read IsChildren */
@@ -212,13 +206,11 @@ int
                        i_items++;
 
                        /* Read Attribute */
-                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                               &qw_temp, pb_data, &qw_remain );
+                       pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_remain );
                        dw_attribute    = (DWord)qw_temp;
        
                        /* Read Format */
-                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                               &qw_temp, pb_data, &qw_remain );
+                       pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_remain );
                        dw_format       = (DWord)qw_temp;
 
                        p_arvnow->dw_attribute[ i_items ]       = dw_attribute;
@@ -277,13 +269,11 @@ int
                (*pi_abbrevs)++;
 
                /* Read Abbrev Number */
-               pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                       &qw_temp, pb_data, &qw_size );
+               pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_size );
                dw_abbrev_num   = (DWord)qw_temp;
 
                /* Read TAG */
-               pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                       &qw_temp, pb_data, &qw_size );
+               pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_size );
                dw_tag  = (DWord)qw_temp;
                if( DW_TAG_compile_unit == dw_tag )             {
                        (*pi_filenum)++;
@@ -295,13 +285,11 @@ int
 
                do      {
                        /* Read Attribute */
-                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                               &qw_temp, pb_data, &qw_size );
+                       pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_size );
                        dw_attribute    = (DWord)qw_temp;
        
                        /* Read Format */
-                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
-                                               &qw_temp, pb_data, &qw_size );
+                       pb_data = DWARF_Common_DecodeULEB128( &qw_temp, pb_data, &qw_size );
                        dw_format       = (DWord)qw_temp;
 
                }while((0x00 != dw_attribute) && (0x00 != dw_format)
index 525fb45..dc21d1d 100644 (file)
@@ -192,7 +192,7 @@ Byte *
 ----------------------------------------------------------------------*/
 LIBGOBLIN_DWARF_COMMON_EXTERN
 Byte *
-       LibGoblin_DwarfCommon_Decode_ULEB128(
+       DWARF_Common_DecodeULEB128(
                QWord   *qw_result,
                Byte    *pb_data,
                QWord   *pqw_remain )
@@ -218,7 +218,7 @@ Byte *
 ----------------------------------------------------------------------*/
 LIBGOBLIN_DWARF_COMMON_EXTERN
 Byte *
-       LibGoblin_DwarfCommon_Decode_LEB128(
+       DWARF_Common_DecodeLEB128(
                Int64   *ii_result, 
                Byte    *pb_data,
                QWord   *pqw_remain )
index 8bf1874..3cb4101 100644 (file)
@@ -91,14 +91,14 @@ LIBGOBLIN_DWARF_COMMON_EXTERN
 
 LIBGOBLIN_DWARF_COMMON_EXTERN
 Byte *
-       LibGoblin_DwarfCommon_Decode_ULEB128(
+       DWARF_Common_DecodeULEB128(
                QWord   *qw_result,
                Byte    *pb_data,
                QWord   *pqw_remain );
 
 LIBGOBLIN_DWARF_COMMON_EXTERN
 Byte *
-       LibGoblin_DwarfCommon_Decode_LEB128(
+       DWARF_Common_DecodeLEB128(
                Int64   *ii_result,
                Byte    *pb_data,
                QWord   *pqw_remain );
index bb7f6d9..ed0fe8a 100644 (file)
@@ -77,7 +77,7 @@ Byte *
                                                &qw_size, pb_src, pqw_remain );
        }
        else    {
-               pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
+               pb_src  = DWARF_Common_DecodeULEB128(
                                        &qw_size, pb_src, pqw_remain );
        }
        if( NULL == pb_src )    { return NULL; }
@@ -127,7 +127,7 @@ Byte *
                                                &qw_size, pb_src, pqw_remain );
        }
        else    {
-               pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
+               pb_src  = DWARF_Common_DecodeULEB128(
                                        &qw_size, pb_src, pqw_remain );
        }
 
@@ -264,7 +264,7 @@ Byte *
 
        //printf(" pnt: %p  ", pb_src);
        /* Read Reference Abbrev-ID */
-       pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
+       pb_src  = DWARF_Common_DecodeULEB128(
                 &qw_temp, pb_src, pqw_remains );
        dw_abbrev       = (DWord)qw_temp;
 
@@ -356,7 +356,7 @@ Byte *
                                b_type  = LIBGOBLIN_DWARF_INFO_TYPE_BYTE;
                                break;
                        case DW_FORM_sdata:             /* 0x0d: sdata */
-                               pb_src  = LibGoblin_DwarfCommon_Decode_LEB128(
+                               pb_src  = DWARF_Common_DecodeLEB128(
                                                        &(p_die->t_value[i_cnt].ii_value),
                                                        pb_src, pqw_remains );
                                b_type  = LIBGOBLIN_DWARF_INFO_TYPE_INT64;
@@ -369,7 +369,7 @@ Byte *
                                // XXX  reference for .debug_str
                                break;
                        case DW_FORM_udata:             /* 0x0f: const. */
-                               pb_src  = LibGoblin_DwarfCommon_Decode_ULEB128(
+                               pb_src  = DWARF_Common_DecodeULEB128(
                                                        &(p_die->t_value[i_cnt].qw_value),
                                                        pb_src, pqw_remains );
                                b_type  = LIBGOBLIN_DWARF_INFO_TYPE_QWORD;
index 73fb128..74aec6c 100644 (file)
@@ -60,19 +60,19 @@ Byte *
        }
 
        /* Read Directory Index */
-       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+       pb_data = DWARF_Common_DecodeULEB128(
                                        &qw_qword, pb_data, pqw_remain );
        if( NULL == pb_data )   { return NULL; }
        pt_line->t_filename[ i_files ].dw_dirindex      = (DWord)qw_qword;
 
        /* Read File-Date */
-       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+       pb_data = DWARF_Common_DecodeULEB128(
                                        &qw_qword, pb_data, pqw_remain );
        if( NULL == pb_data )   { return NULL; }
        pt_line->t_filename[ i_files ].qw_date  = qw_qword;
 
        /* Read File-Size */
-       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+       pb_data = DWARF_Common_DecodeULEB128(
                                        &qw_qword, pb_data, pqw_remain );
        if( NULL == pb_data )   { return NULL; }
        pt_line->t_filename[ i_files ].qw_filesize      = qw_qword;
@@ -111,19 +111,19 @@ Byte *
                }
 */
                /* Read Directory Index */
-               /*pb_data       = LibGoblin_DwarfCommon_Decode_ULEB128(
+               /*pb_data       = DWARF_Common_DecodeULEB128(
                                                &qw_qword, pb_data, pqw_remain );
                if( NULL == pb_data )   { return NULL; }
                pt_line->t_filename[ i_files ].dw_dirindex      = (DWord)qw_qword;
 */
                /* Read File-Date */
-               /*pb_data       = LibGoblin_DwarfCommon_Decode_ULEB128(
+               /*pb_data       = DWARF_Common_DecodeULEB128(
                                                &qw_qword, pb_data, pqw_remain );
                if( NULL == pb_data )   { return NULL; }
                pt_line->t_filename[ i_files ].qw_date  = qw_qword;
 */
                /* Read File-Size */
-               /*pb_data       = LibGoblin_DwarfCommon_Decode_ULEB128(
+               /*pb_data       = DWARF_Common_DecodeULEB128(
                                                &qw_qword, pb_data, pqw_remain );
                if( NULL == pb_data )   { return NULL; }
                pt_line->t_filename[ i_files ].qw_filesize      = qw_qword;
@@ -275,7 +275,7 @@ Byte *
 
        /* Read Operand length of the Standard Opecode */
        for( i_cnt = 1; i_cnt < (pt_line->b_opcode_base); i_cnt++)      {
-               pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+               pb_data = DWARF_Common_DecodeULEB128(
                                                &qw_qword, pb_data, &qw_remain );
                pt_line->dw_stdoperand_length[i_cnt]    = (int)((DWord)qw_qword);
        }
@@ -433,7 +433,7 @@ Byte *
                /* Read & Proc. by Opcode */
                if( 0x00 == b_opcode )          {
                        /* Extended Opcode */
-                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+                       pb_data = DWARF_Common_DecodeULEB128(
                                                        &qw_qword, pb_data, pqw_remain );
                        pb_temp = pb_data + qw_qword;
 
@@ -491,7 +491,7 @@ Byte *
 
                                case DW_LNS_advance_pc:                 /* 0x02 */
                                        /* Operand: uLEB128 */
-                                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+                                       pb_data = DWARF_Common_DecodeULEB128(
                                                                        &qw_qword, pb_data, pqw_remain );
                                        t_reg.qw_address
                                                += pt_line->b_minimum_inst_length * qw_qword;
@@ -501,7 +501,7 @@ Byte *
 
                                case DW_LNS_advance_line:               /* 0x03 */
                                        /* Operand: sLEB128 */
-                                       pb_data = LibGoblin_DwarfCommon_Decode_LEB128(
+                                       pb_data = DWARF_Common_DecodeLEB128(
                                                                        &ii_value, pb_data, pqw_remain );
                                        t_reg.qw_line
                                                = (QWord)((Int64)(t_reg.qw_line) + ii_value);
@@ -510,7 +510,7 @@ Byte *
 
                                case DW_LNS_set_file:                   /* 0x04 */
                                        /* Operand: uLEB128 */
-                                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+                                       pb_data = DWARF_Common_DecodeULEB128(
                                                                        &qw_qword, pb_data, pqw_remain );
                                        t_reg.dw_file   = (DWord)qw_qword;
                                        printf("  DW_LNS_set_file %ld\n", qw_qword);
@@ -518,7 +518,7 @@ Byte *
 
                                case DW_LNS_set_column:                 /* 0x05 */
                                        /* Operand: uLEB128 */
-                                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+                                       pb_data = DWARF_Common_DecodeULEB128(
                                                                        &qw_qword, pb_data, pqw_remain );
                                        t_reg.qw_column = qw_qword;
                                        printf("  DW_LNS_set_column %ld\n", qw_qword);
@@ -564,7 +564,7 @@ Byte *
 
                                case DW_LNS_set_isa:                    /* 0x0c */
                                        /* Operand: uLEB128 */
-                                       pb_data = LibGoblin_DwarfCommon_Decode_ULEB128(
+                                       pb_data = DWARF_Common_DecodeULEB128(
                                                                        &qw_qword, pb_data, pqw_remain );
                                        t_reg.qw_isa    += qw_qword;
                                        printf("  DW_LNS_set_isa %08lx\n", qw_qword);
index 71a652b..fbbb03a 100644 (file)
@@ -192,7 +192,7 @@ int
                return i_result;
        }
 
-       Debug_ObjectInfo_Print_AllGroupLink( p_pginfo, 0xff );
+       //Debug_ObjectInfo_Print_AllGroupLink( p_pginfo, 0xff );
 
 
        /* Analyze Dwarf-Debug Info. */