brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · 9c96583 Raw
173 lines · plain
1# RUN: llvm-mc -triple x86_64-pc-linux %s -filetype=obj -o - | not llvm-dwarfdump -verify --verify-json=%t.json -2# RUN: FileCheck %s --input-file %t.json3 4# CHECK: {"error-categories":{"Name Index DIE entry missing name":{"count":10,"details":{"DW_TAG_inlined_subroutine":1,"DW_TAG_label":1,"DW_TAG_namespace":2,"DW_TAG_subprogram":2,"DW_TAG_variable":4}}},"error-count":10}5# CHECK-NOT: error: Name Index @ 0x0: Entry for DIE @ {{.*}} (DW_TAG_variable) with name var_block_addr missing.6 7        .section        .debug_loc,"",@progbits8.Ldebug_loc0:9        .quad   010        .quad   111        .short  .Lloc0_end-.Lloc0_start # Loc expr size12.Lloc0_start:13        .byte   3                       # DW_OP_addr14        .quad 0x4715.Lloc0_end:16        .quad   017        .quad   018 19        .section        .debug_abbrev,"",@progbits20        .byte   1                       # Abbreviation Code21        .byte   17                      # DW_TAG_compile_unit22        .byte   1                       # DW_CHILDREN_yes23        .byte   37                      # DW_AT_producer24        .byte   8                       # DW_FORM_string25        .byte   17                      # DW_AT_low_pc26        .byte   1                       # DW_FORM_addr27        .byte   18                      # DW_AT_high_pc28        .byte   6                       # DW_FORM_data429        .byte   0                       # EOM(1)30        .byte   0                       # EOM(2)31 32        .byte   2                       # Abbreviation Code33        .byte   52                      # DW_TAG_variable34        .byte   0                       # DW_CHILDREN_no35        .byte   3                       # DW_AT_name36        .byte   8                       # DW_FORM_string37        .byte   2                       # DW_AT_location38        .byte   24                      # DW_FORM_exprloc39        .byte   0                       # EOM(1)40        .byte   0                       # EOM(2)41 42        .byte   3                       # Abbreviation Code43        .byte   46                      # DW_TAG_subprogram44        .byte   1                       # DW_CHILDREN_yes45        .byte   3                       # DW_AT_name46        .byte   8                       # DW_FORM_string47        .byte   110                     # DW_AT_linkage_name48        .byte   8                       # DW_FORM_string49        .byte   82                      # DW_AT_entry_pc50        .byte   1                       # DW_FORM_addr51        .byte   0                       # EOM(1)52        .byte   0                       # EOM(2)53 54        .byte   4                       # Abbreviation Code55        .byte   57                      # DW_TAG_namespace56        .byte   1                       # DW_CHILDREN_yes57        .byte   3                       # DW_AT_name58        .byte   8                       # DW_FORM_string59        .byte   0                       # EOM(1)60        .byte   0                       # EOM(2)61 62        .byte   5                       # Abbreviation Code63        .byte   52                      # DW_TAG_variable64        .byte   0                       # DW_CHILDREN_no65        .byte   3                       # DW_AT_name66        .byte   8                       # DW_FORM_string67        .byte   2                       # DW_AT_location68        .byte   23                      # DW_FORM_sec_offset69        .byte   0                       # EOM(1)70        .byte   0                       # EOM(2)71 72        .byte   6                       # Abbreviation Code73        .byte   57                      # DW_TAG_namespace74        .byte   1                       # DW_CHILDREN_yes75        .byte   0                       # EOM(1)76        .byte   0                       # EOM(2)77 78        .byte   7                       # Abbreviation Code79        .byte   29                      # DW_TAG_inlined_subroutine80        .byte   0                       # DW_CHILDREN_no81        .byte   3                       # DW_AT_name82        .byte   8                       # DW_FORM_string83        .byte   17                      # DW_AT_low_pc84        .byte   1                       # DW_FORM_addr85        .byte   18                      # DW_AT_high_pc86        .byte   1                       # DW_FORM_addr87        .byte   0                       # EOM(1)88        .byte   0                       # EOM(2)89 90        .byte   8                       # Abbreviation Code91        .byte   10                      # DW_TAG_label92        .byte   0                       # DW_CHILDREN_no93        .byte   3                       # DW_AT_name94        .byte   8                       # DW_FORM_string95        .byte   82                      # DW_AT_entry_pc96        .byte   1                       # DW_FORM_addr97        .byte   0                       # EOM(1)98        .byte   0                       # EOM(2)99 100        .byte   0                       # EOM(3)101        .section        .debug_info,"",@progbits102 103.Lcu_begin0:104        .long   .Lcu_end0-.Lcu_start0   # Length of Unit105.Lcu_start0:106        .short  4                       # DWARF version number107        .long   .debug_abbrev           # Offset Into Abbrev. Section108        .byte   8                       # Address Size (in bytes)109        .byte   1                       # Abbrev [1] DW_TAG_compile_unit110        .asciz  "hand-written DWARF"    # DW_AT_producer111        .quad   0x0                     # DW_AT_low_pc112        .long   0x100                   # DW_AT_high_pc113 114        .byte   4                       # Abbrev [4] DW_TAG_namespace115        .asciz  "namesp"                # DW_AT_name116        .byte   2                       # Abbrev [2] DW_TAG_variable117        .asciz  "var_block_addr"        # DW_AT_name118        .byte   9                       # DW_AT_location119        .byte   3                       # DW_OP_addr120        .quad   0x47121        .byte   0                       # End Of Children Mark122 123        .byte   6                       # Abbrev [6] DW_TAG_namespace124        .byte   5                       # Abbrev [5] DW_TAG_variable125        .asciz  "var_loc_addr"          # DW_AT_name126        .long   .Ldebug_loc0            # DW_AT_location127        .byte   0                       # End Of Children Mark128 129        .byte   2                       # Abbrev [2] DW_TAG_variable130        .asciz  "var_loc_tls"           # DW_AT_name131        .byte   1                       # DW_AT_location132        .byte   0x9b                    # DW_OP_form_tls_address133 134        .byte   2                       # Abbrev [2] DW_TAG_variable135        .asciz  "var_loc_gnu_tls"       # DW_AT_name136        .byte   1                       # DW_AT_location137        .byte   0xe0                    # DW_OP_GNU_push_tls_address138 139        .byte   3                       # Abbrev [3] DW_TAG_subprogram140        .asciz  "fun_name"              # DW_AT_name141        .asciz  "_Z8fun_name"           # DW_AT_linkage_name142        .quad   0x47                    # DW_AT_entry_pc143        .byte   7                       # Abbrev [7] DW_TAG_inlined_subroutine144        .asciz  "fun_inline"            # DW_AT_name145        .quad   0x48                    # DW_AT_low_pc146        .quad   0x49                    # DW_AT_high_pc147        .byte   8                       # Abbrev [8] DW_TAG_label148        .asciz  "label"                 # DW_AT_name149        .quad   0x4a                    # DW_AT_entry_pc150        .byte   0                       # End Of Children Mark151 152        .byte   0                       # End Of Children Mark153.Lcu_end0:154 155        .section        .debug_names,"",@progbits156        .long   .Lnames_end0-.Lnames_start0 # Header: contribution length157.Lnames_start0:158        .short  5                       # Header: version159        .short  0                       # Header: padding160        .long   1                       # Header: compilation unit count161        .long   0                       # Header: local type unit count162        .long   0                       # Header: foreign type unit count163        .long   0                       # Header: bucket count164        .long   0                       # Header: name count165        .long   .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size166        .long   0                       # Header: augmentation length167        .long   .Lcu_begin0             # Compilation unit 0168.Lnames_abbrev_start0:169        .byte   0                       # End of abbrev list170.Lnames_abbrev_end0:171.Lnames_entries0:172.Lnames_end0:173