221 lines · plain
1# The code below is the reduced version of the output2# from the following invocation and source:3#4# // test.cpp:5#void f1() {}6#void f2() {}7#8# clang -gdwarf-5 -ffunction-sections test.cpp -o test.s -S9 10# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux -dwarf-version=5 %s -o %t.o11# RUN: llvm-objdump -d --line-numbers -r -s --section-headers -t %t.o | FileCheck %s12 13 14# CHECK: 0000000000000000 <_Z2f1v>15# CHECK-NOT: test.cpp:216# CHECK: test.cpp:117# CHECK-NOT: test.cpp:218# CHECK: 0000000000000000 <_Z2f2v>19# CHECK-NOT: test.cpp:120# CHECK: test.cpp:221# CHECK-NOT: test.cpp:122 23 24 .text25 .file "test.cpp"26 .section .text._Z2f1v,"ax",@progbits27 .globl _Z2f1v # -- Begin function _Z2f1v28 .p2align 4, 0x9029 .type _Z2f1v,@function30_Z2f1v: # @_Z2f1v31.Lfunc_begin0:32 .file 0 "/home/avl" "test.cpp" md5 0xefae234cc05b45384d782316d3a5d33833 .loc 0 1 0 # test.cpp:1:034 .cfi_startproc35# %bb.0: # %entry36 pushq %rbp37 .cfi_def_cfa_offset 1638 .cfi_offset %rbp, -1639 movq %rsp, %rbp40 .cfi_def_cfa_register %rbp41.Ltmp0:42 .loc 0 1 12 prologue_end # test.cpp:1:1243 popq %rbp44 .cfi_def_cfa %rsp, 845 retq46.Ltmp1:47.Lfunc_end0:48 .size _Z2f1v, .Lfunc_end0-_Z2f1v49 .cfi_endproc50 # -- End function51 .section .text._Z2f2v,"ax",@progbits52 .globl _Z2f2v # -- Begin function _Z2f2v53 .p2align 4, 0x9054 .type _Z2f2v,@function55_Z2f2v: # @_Z2f2v56.Lfunc_begin1:57 .loc 0 2 0 # test.cpp:2:058 .cfi_startproc59# %bb.0: # %entry60 pushq %rbp61 .cfi_def_cfa_offset 1662 .cfi_offset %rbp, -1663 movq %rsp, %rbp64 .cfi_def_cfa_register %rbp65.Ltmp2:66 .loc 0 2 12 prologue_end # test.cpp:2:1267 popq %rbp68 .cfi_def_cfa %rsp, 869 retq70.Ltmp3:71.Lfunc_end1:72 .size _Z2f2v, .Lfunc_end1-_Z2f2v73 .cfi_endproc74 # -- End function75 .section .debug_str_offsets,"",@progbits76 .long 3277 .short 578 .short 079.Lstr_offsets_base0:80 .section .debug_str,"MS",@progbits,181.Linfo_string0:82 .asciz "clang version 9.0.0 (https://github.com/llvm/llvm-project.git ebfc1e5af7a65381d858612517e6414ef58df482)" # string offset=083.Linfo_string1:84 .asciz "test.cpp" # string offset=10485.Linfo_string2:86 .asciz "/home/avl" # string offset=11387.Linfo_string3:88 .asciz "_Z2f1v" # string offset=12389.Linfo_string4:90 .asciz "f1" # string offset=13091.Linfo_string5:92 .asciz "_Z2f2v" # string offset=13393.Linfo_string6:94 .asciz "f2" # string offset=14095 .section .debug_str_offsets,"",@progbits96 .long .Linfo_string097 .long .Linfo_string198 .long .Linfo_string299 .long .Linfo_string3100 .long .Linfo_string4101 .long .Linfo_string5102 .long .Linfo_string6103 .section .debug_abbrev,"",@progbits104 .byte 1 # Abbreviation Code105 .byte 17 # DW_TAG_compile_unit106 .byte 1 # DW_CHILDREN_yes107 .byte 37 # DW_AT_producer108 .byte 37 # DW_FORM_strx1109 .byte 19 # DW_AT_language110 .byte 5 # DW_FORM_data2111 .byte 3 # DW_AT_name112 .byte 37 # DW_FORM_strx1113 .byte 114 # DW_AT_str_offsets_base114 .byte 23 # DW_FORM_sec_offset115 .byte 16 # DW_AT_stmt_list116 .byte 23 # DW_FORM_sec_offset117 .byte 27 # DW_AT_comp_dir118 .byte 37 # DW_FORM_strx1119 .byte 115 # DW_AT_addr_base120 .byte 23 # DW_FORM_sec_offset121 .byte 17 # DW_AT_low_pc122 .byte 1 # DW_FORM_addr123 .byte 85 # DW_AT_ranges124 .byte 35 # DW_FORM_rnglistx125 .byte 116 # DW_AT_rnglists_base126 .byte 23 # DW_FORM_sec_offset127 .byte 0 # EOM(1)128 .byte 0 # EOM(2)129 .byte 2 # Abbreviation Code130 .byte 46 # DW_TAG_subprogram131 .byte 0 # DW_CHILDREN_no132 .byte 17 # DW_AT_low_pc133 .byte 27 # DW_FORM_addrx134 .byte 18 # DW_AT_high_pc135 .byte 6 # DW_FORM_data4136 .byte 64 # DW_AT_frame_base137 .byte 24 # DW_FORM_exprloc138 .byte 110 # DW_AT_linkage_name139 .byte 37 # DW_FORM_strx1140 .byte 3 # DW_AT_name141 .byte 37 # DW_FORM_strx1142 .byte 58 # DW_AT_decl_file143 .byte 11 # DW_FORM_data1144 .byte 59 # DW_AT_decl_line145 .byte 11 # DW_FORM_data1146 .byte 63 # DW_AT_external147 .byte 25 # DW_FORM_flag_present148 .byte 0 # EOM(1)149 .byte 0 # EOM(2)150 .byte 0 # EOM(3)151 .section .debug_info,"",@progbits152.Lcu_begin0:153 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit154.Ldebug_info_start0:155 .short 5 # DWARF version number156 .byte 1 # DWARF Unit Type157 .byte 8 # Address Size (in bytes)158 .long .debug_abbrev # Offset Into Abbrev. Section159 .byte 1 # Abbrev [1] 0xc:0x38 DW_TAG_compile_unit160 .byte 0 # DW_AT_producer161 .short 4 # DW_AT_language162 .byte 1 # DW_AT_name163 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base164 .long .Lline_table_start0 # DW_AT_stmt_list165 .byte 2 # DW_AT_comp_dir166 .long .Laddr_table_base0 # DW_AT_addr_base167 .quad 0 # DW_AT_low_pc168 .byte 0 # DW_AT_ranges169 .long .Lrnglists_table_base0 # DW_AT_rnglists_base170 .byte 2 # Abbrev [2] 0x2b:0xc DW_TAG_subprogram171 .byte 0 # DW_AT_low_pc172 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc173 .byte 1 # DW_AT_frame_base174 .byte 86175 .byte 3 # DW_AT_linkage_name176 .byte 4 # DW_AT_name177 .byte 1 # DW_AT_decl_file178 .byte 1 # DW_AT_decl_line179 # DW_AT_external180 .byte 2 # Abbrev [2] 0x37:0xc DW_TAG_subprogram181 .byte 1 # DW_AT_low_pc182 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc183 .byte 1 # DW_AT_frame_base184 .byte 86185 .byte 5 # DW_AT_linkage_name186 .byte 6 # DW_AT_name187 .byte 1 # DW_AT_decl_file188 .byte 2 # DW_AT_decl_line189 # DW_AT_external190 .byte 0 # End Of Children Mark191.Ldebug_info_end0:192 .section .debug_rnglists,"",@progbits193 .long .Ldebug_rnglist_table_end0-.Ldebug_rnglist_table_start0 # Length194.Ldebug_rnglist_table_start0:195 .short 5 # Version196 .byte 8 # Address size197 .byte 0 # Segment selector size198 .long 1 # Offset entry count199.Lrnglists_table_base0:200 .long .Ldebug_ranges0-.Lrnglists_table_base0201.Ldebug_ranges0:202 .byte 3 # DW_RLE_startx_length203 .byte 0 # start index204 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length205 .byte 3 # DW_RLE_startx_length206 .byte 1 # start index207 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length208 .byte 0 # DW_RLE_end_of_list209.Ldebug_rnglist_table_end0:210.Ldebug_addr_start0:211 .short 5 # DWARF version number212 .byte 8 # Address size213 .byte 0 # Segment selector size214.Laddr_table_base0:215 .quad .Lfunc_begin0216 .quad .Lfunc_begin1217.Ldebug_addr_end0:218 219 .section .debug_line,"",@progbits220.Lline_table_start0:221