1// A hand-crafted object with AT_name fields for the function and the variable commented out. 2 3// REQUIRES: aarch64-registered-target 4 5// RUN: llvm-mc -filetype=obj -triple=aarch64-linux-android -o %t.o %s 6// RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s 7 8// CHECK: ?? 9// CHECK-NEXT: ?? 10// CHECK-NEXT: {{.*}}dbg.cc:2 11// CHECK-NEXT: ?? ?? ?? 12 13 .text 14 .file "dbg.cc" 15 .globl func // -- Begin function func 16 .p2align 2 17 .type func,@function 18func: // @func 19.Lfunc_begin0: 20 .file 1 "/tmp" "dbg.cc" 21 .loc 1 1 0 // /tmp/dbg.cc:1:0 22 .cfi_sections .debug_frame 23 .cfi_startproc 24// %bb.0: // %entry 25 .loc 1 3 1 prologue_end // /tmp/dbg.cc:3:1 26 ret 27.Ltmp0: 28.Lfunc_end0: 29 .size func, .Lfunc_end0-func 30 .cfi_endproc 31 // -- End function 32 .section .debug_str,"MS",@progbits,1 33.Linfo_string0: 34 .asciz "clang version 10.0.0 (git@github.com:llvm/llvm-project.git 2102f157f2d1ca6e7e4432b91d75f04e5023172f)" // string offset=0 35.Linfo_string1: 36 .asciz "/tmp/dbg.cc" // string offset=101 37.Linfo_string2: 38 .asciz "/code/build-llvm-cmake" // string offset=113 39.Linfo_string3: 40 .asciz "func" // string offset=136 41.Linfo_string4: 42 .asciz "x" // string offset=141 43.Linfo_string5: 44 .asciz "int" // string offset=143 45 .section .debug_abbrev,"",@progbits 46 .byte 1 // Abbreviation Code 47 .byte 17 // DW_TAG_compile_unit 48 .byte 1 // DW_CHILDREN_yes 49 .byte 37 // DW_AT_producer 50 .byte 14 // DW_FORM_strp 51 .byte 19 // DW_AT_language 52 .byte 5 // DW_FORM_data2 53 .byte 3 // DW_AT_name 54 .byte 14 // DW_FORM_strp 55 .byte 16 // DW_AT_stmt_list 56 .byte 23 // DW_FORM_sec_offset 57 .byte 27 // DW_AT_comp_dir 58 .byte 14 // DW_FORM_strp 59 .byte 17 // DW_AT_low_pc 60 .byte 1 // DW_FORM_addr 61 .byte 18 // DW_AT_high_pc 62 .byte 6 // DW_FORM_data4 63 .byte 0 // EOM(1) 64 .byte 0 // EOM(2) 65 .byte 2 // Abbreviation Code 66 .byte 46 // DW_TAG_subprogram 67 .byte 1 // DW_CHILDREN_yes 68 .byte 17 // DW_AT_low_pc 69 .byte 1 // DW_FORM_addr 70 .byte 18 // DW_AT_high_pc 71 .byte 6 // DW_FORM_data4 72 .byte 64 // DW_AT_frame_base 73 .byte 24 // DW_FORM_exprloc 74 .ascii "\227B" // DW_AT_GNU_all_call_sites 75 .byte 25 // DW_FORM_flag_present 76// .byte 3 // DW_AT_name 77// .byte 14 // DW_FORM_strp 78 .byte 58 // DW_AT_decl_file 79 .byte 11 // DW_FORM_data1 80 .byte 59 // DW_AT_decl_line 81 .byte 11 // DW_FORM_data1 82 .byte 63 // DW_AT_external 83 .byte 25 // DW_FORM_flag_present 84 .byte 0 // EOM(1) 85 .byte 0 // EOM(2) 86 .byte 3 // Abbreviation Code 87 .byte 52 // DW_TAG_variable 88 .byte 0 // DW_CHILDREN_no 89// .byte 3 // DW_AT_name 90// .byte 14 // DW_FORM_strp 91 .byte 58 // DW_AT_decl_file 92 .byte 11 // DW_FORM_data1 93 .byte 59 // DW_AT_decl_line 94 .byte 11 // DW_FORM_data1 95 .byte 73 // DW_AT_type 96 .byte 19 // DW_FORM_ref4 97 .byte 0 // EOM(1) 98 .byte 0 // EOM(2) 99 .byte 4 // Abbreviation Code 100 .byte 36 // DW_TAG_base_type 101 .byte 0 // DW_CHILDREN_no 102 .byte 3 // DW_AT_name 103 .byte 14 // DW_FORM_strp 104 .byte 62 // DW_AT_encoding 105 .byte 11 // DW_FORM_data1 106 .byte 11 // DW_AT_byte_size 107 .byte 11 // DW_FORM_data1 108 .byte 0 // EOM(1) 109 .byte 0 // EOM(2) 110 .byte 0 // EOM(3) 111 .section .debug_info,"",@progbits 112.Lcu_begin0: 113 .word .Ldebug_info_end0-.Ldebug_info_start0 // Length of Unit 114.Ldebug_info_start0: 115 .hword 4 // DWARF version number 116 .word .debug_abbrev // Offset Into Abbrev. Section 117 .byte 8 // Address Size (in bytes) 118 .byte 1 // Abbrev [1] 0xb:0x48 DW_TAG_compile_unit 119 .word .Linfo_string0 // DW_AT_producer 120 .hword 33 // DW_AT_language 121 .word .Linfo_string1 // DW_AT_name 122 .word .Lline_table_start0 // DW_AT_stmt_list 123 .word .Linfo_string2 // DW_AT_comp_dir 124 .xword .Lfunc_begin0 // DW_AT_low_pc 125 .word .Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc 126 .byte 2 // Abbrev [2] 0x2a:0x21 DW_TAG_subprogram 127 .xword .Lfunc_begin0 // DW_AT_low_pc 128 .word .Lfunc_end0-.Lfunc_begin0 // DW_AT_high_pc 129 .byte 1 // DW_AT_frame_base 130 .byte 111 131 // DW_AT_GNU_all_call_sites 132// .word .Linfo_string3 // DW_AT_name 133 .byte 1 // DW_AT_decl_file 134 .byte 1 // DW_AT_decl_line 135 // DW_AT_external 136 .byte 3 // Abbrev [3] 0x3f:0xb DW_TAG_variable 137// .word .Linfo_string4 // DW_AT_name 138 .byte 1 // DW_AT_decl_file 139 .byte 2 // DW_AT_decl_line 140 .word 75 // DW_AT_type 141 .byte 0 // End Of Children Mark 142 .byte 4 // Abbrev [4] 0x4b:0x7 DW_TAG_base_type 143 .word .Linfo_string5 // DW_AT_name 144 .byte 5 // DW_AT_encoding 145 .byte 4 // DW_AT_byte_size 146 .byte 0 // End Of Children Mark 147.Ldebug_info_end0: 148 .ident "clang version 10.0.0 (git@github.com:llvm/llvm-project.git 2102f157f2d1ca6e7e4432b91d75f04e5023172f)" 149 .section ".note.GNU-stack","",@progbits 150 .section .debug_line,"",@progbits 151.Lline_table_start0: 152