OSDN Git Service

2019/05/20(Mon) 20:17
authorKoine Yuusuke(koinec) <koinec@users.osdn.me>
Mon, 20 May 2019 11:17:21 +0000 (20:17 +0900)
committerKoine Yuusuke(koinec) <koinec@users.osdn.me>
Mon, 20 May 2019 11:17:21 +0000 (20:17 +0900)
 (LibGoblin)
  * WorkBackup

libgoblin/drd64_libgoblin_dwarf_info.c

index bf0ba53..6b7e751 100644 (file)
@@ -277,6 +277,7 @@ Byte *
                LibGoblin_BinaryInfo    *p_binfo,
                LibGoblin_DWARF_Info_CUHeader   *p_cuheader )
 {
+       QWord   qw_cnt;
 
        switch( dw_format )     {
                case DW_FORM_addr:              // 0x01: address
@@ -373,6 +374,28 @@ Byte *
                case LIBGOBLIN_DWARF_INFO_TYPE_STRING:
                        printf( "[Str] %s\n", p_val->value.pstr_value );
                        break;
+               case LIBGOBLIN_DWARF_INFO_TYPE_WORD:
+                       printf( "[Word] %d\n", p_val->value.w_value );
+                       break;
+               case LIBGOBLIN_DWARF_INFO_TYPE_DWORD:
+                       printf( "[DWord] %d\n", p_val->value.dw_value );
+                       break;
+               case LIBGOBLIN_DWARF_INFO_TYPE_QWORD:
+                       printf( "[QWord] %ld\n", p_val->value.qw_value );
+                       break;
+               case LIBGOBLIN_DWARF_INFO_TYPE_BYTE:
+                       printf( "[Byte] %d\n", p_val->value.b_value );
+                       break;
+               case LIBGOBLIN_DWARF_INFO_TYPE_LINK:
+                       printf( "[LINK] %p\n", p_val->value.pb_link );
+                       break;
+               case LIBGOBLIN_DWARF_INFO_TYPE_BLOCK:
+                       printf( "[Block] Size= %ld\n            ", p_val->qw_size );
+                       for( qw_cnt = 0; qw_cnt < p_val->qw_size; qw_cnt++ )    {
+                               printf("%0xh ", *(p_val->value.pb_data + qw_cnt) );
+                       }
+                       puts("");
+                       break;
                default:
                        break;
        }