182 lines · plain
1# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -dwarf-version=5 -o %t.o2# RUN: llvm-dwarfdump %t.o | FileCheck %s3# RUN: llvm-dwarfdump -verify %t.o4 5# CHECK: DW_AT_location (DW_OP_constu 0x7b, DW_OP_convert 0x0, DW_OP_stack_value)6 7 .text8 .file "const.ll"9 .globl foo # -- Begin function foo10 .p2align 4, 0x9011 .type foo,@function12foo: # @foo13.Lfoo$local:14.Lfunc_begin0:15 .file 0 "/const.c"16 .loc 0 1 0 # const.c:1:017 .cfi_startproc18# %bb.0: # %entry19 .loc 0 3 1 prologue_end # const.c:3:120 retq21.Ltmp0:22.Lfunc_end0:23 .size foo, .Lfunc_end0-foo24 .cfi_endproc25 # -- End function26 .section .debug_abbrev,"",@progbits27 .byte 1 # Abbreviation Code28 .byte 17 # DW_TAG_compile_unit29 .byte 1 # DW_CHILDREN_yes30 .byte 37 # DW_AT_producer31 .byte 37 # DW_FORM_strx132 .byte 19 # DW_AT_language33 .byte 5 # DW_FORM_data234 .byte 3 # DW_AT_name35 .byte 37 # DW_FORM_strx136 .byte 114 # DW_AT_str_offsets_base37 .byte 23 # DW_FORM_sec_offset38 .byte 16 # DW_AT_stmt_list39 .byte 23 # DW_FORM_sec_offset40 .byte 27 # DW_AT_comp_dir41 .byte 37 # DW_FORM_strx142 .byte 17 # DW_AT_low_pc43 .byte 27 # DW_FORM_addrx44 .byte 18 # DW_AT_high_pc45 .byte 6 # DW_FORM_data446 .byte 115 # DW_AT_addr_base47 .byte 23 # DW_FORM_sec_offset48 .byte 0 # EOM(1)49 .byte 0 # EOM(2)50 .byte 2 # Abbreviation Code51 .byte 46 # DW_TAG_subprogram52 .byte 1 # DW_CHILDREN_yes53 .byte 17 # DW_AT_low_pc54 .byte 27 # DW_FORM_addrx55 .byte 18 # DW_AT_high_pc56 .byte 6 # DW_FORM_data457 .byte 64 # DW_AT_frame_base58 .byte 24 # DW_FORM_exprloc59 .byte 122 # DW_AT_call_all_calls60 .byte 25 # DW_FORM_flag_present61 .byte 3 # DW_AT_name62 .byte 37 # DW_FORM_strx163 .byte 58 # DW_AT_decl_file64 .byte 11 # DW_FORM_data165 .byte 59 # DW_AT_decl_line66 .byte 11 # DW_FORM_data167 .byte 63 # DW_AT_external68 .byte 25 # DW_FORM_flag_present69 .byte 0 # EOM(1)70 .byte 0 # EOM(2)71 .byte 3 # Abbreviation Code72 .byte 52 # DW_TAG_variable73 .byte 0 # DW_CHILDREN_no74 .byte 2 # DW_AT_location75 .byte 24 # DW_FORM_exprloc76 .byte 3 # DW_AT_name77 .byte 37 # DW_FORM_strx178 .byte 58 # DW_AT_decl_file79 .byte 11 # DW_FORM_data180 .byte 59 # DW_AT_decl_line81 .byte 11 # DW_FORM_data182 .byte 73 # DW_AT_type83 .byte 19 # DW_FORM_ref484 .byte 0 # EOM(1)85 .byte 0 # EOM(2)86 .byte 4 # Abbreviation Code87 .byte 36 # DW_TAG_base_type88 .byte 0 # DW_CHILDREN_no89 .byte 3 # DW_AT_name90 .byte 37 # DW_FORM_strx191 .byte 62 # DW_AT_encoding92 .byte 11 # DW_FORM_data193 .byte 11 # DW_AT_byte_size94 .byte 11 # DW_FORM_data195 .byte 0 # EOM(1)96 .byte 0 # EOM(2)97 .byte 0 # EOM(3)98 .section .debug_info,"",@progbits99.Lcu_begin0:100 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit101.Ldebug_info_start0:102 .short 5 # DWARF version number103 .byte 1 # DWARF Unit Type104 .byte 8 # Address Size (in bytes)105 .long .debug_abbrev # Offset Into Abbrev. Section106 .byte 1 # Abbrev [1] 0xc:0x36 DW_TAG_compile_unit107 .byte 0 # DW_AT_producer108 .short 12 # DW_AT_language109 .byte 1 # DW_AT_name110 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base111 .long .Lline_table_start0 # DW_AT_stmt_list112 .byte 2 # DW_AT_comp_dir113 .byte 0 # DW_AT_low_pc114 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc115 .long .Laddr_table_base0 # DW_AT_addr_base116 .byte 2 # Abbrev [2] 0x23:0x1a DW_TAG_subprogram117 .byte 0 # DW_AT_low_pc118 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc119 .byte 1 # DW_AT_frame_base120 .byte 87121 # DW_AT_call_all_calls122 .byte 3 # DW_AT_name123 .byte 0 # DW_AT_decl_file124 .byte 1 # DW_AT_decl_line125 # DW_AT_external126 .byte 3 # Abbrev [3] 0x2e:0xe DW_TAG_variable127 .byte 5 # DW_AT_location128 .byte 16129 .byte 123130 .byte 168131 .byte 0132 .byte 159133 .byte 4 # DW_AT_name134 .byte 0 # DW_AT_decl_file135 .byte 2 # DW_AT_decl_line136 .long 61 # DW_AT_type137 .byte 0 # End Of Children Mark138 .byte 4 # Abbrev [4] 0x3d:0x4 DW_TAG_base_type139 .byte 5 # DW_AT_name140 .byte 5 # DW_AT_encoding141 .byte 4 # DW_AT_byte_size142 .byte 0 # End Of Children Mark143.Ldebug_info_end0:144 .section .debug_str_offsets,"",@progbits145 .long 28146 .short 5147 .short 0148.Lstr_offsets_base0:149 .section .debug_str,"MS",@progbits,1150.Linfo_string0:151 .asciz "clang version 11.0.0" # string offset=0152.Linfo_string1:153 .asciz "const.c" # string offset=21154.Linfo_string2:155 .asciz "/" # string offset=29156.Linfo_string3:157 .asciz "foo" # string offset=31158.Linfo_string4:159 .asciz "local" # string offset=35160.Linfo_string5:161 .asciz "int" # string offset=41162 .section .debug_str_offsets,"",@progbits163 .long .Linfo_string0164 .long .Linfo_string1165 .long .Linfo_string2166 .long .Linfo_string3167 .long .Linfo_string4168 .long .Linfo_string5169 .section .debug_addr,"",@progbits170 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution171.Ldebug_addr_start0:172 .short 5 # DWARF version number173 .byte 8 # Address size174 .byte 0 # Segment selector size175.Laddr_table_base0:176 .quad .Lfunc_begin0177.Ldebug_addr_end0:178 .ident "clang version 11.0.0"179 .section ".note.GNU-stack","",@progbits180 .section .debug_line,"",@progbits181.Lline_table_start0:182