brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.3 KiB · b303e8c Raw
136 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux -dwarf-version=5 %s -o %t.o3# RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s4 5# Check we do not crash and able to report the source location.6 7# CHECK:      error: undefined symbol: foo()8# CHECK-NEXT: >>> referenced by test.cpp:39# CHECK-NEXT: >>>               {{.*}}.o:(.text+0x1)10 11# The code below is the reduced version of the output12# from the following invocation and source:13#14# // test.cpp:15# int foo();16# int main() {17#   return foo();18# }19#20# clang -gdwarf-5 test.cpp -o test.s -S21# clang version 8.0.0 (trunk 343487)22 23.text24.file "test.cpp"25.globl main26.type main,@function27main:28.Lfunc_begin0:29 .file 0 "/home/path" "test.cpp" md5 0x8ed32099ab837bd13543fd3e8102739f30 .loc 0 3 10 prologue_end31 jmp _Z3foov32.Lfunc_end0:33 34.Lstr_offsets_base0:35.section .debug_str,"MS",@progbits,136 .asciz "stub"37 38.section .debug_str_offsets,"",@progbits39 .long 040 41.section .debug_abbrev,"",@progbits42 .byte 1                           # Abbreviation Code43 .byte 17                          # DW_TAG_compile_unit44 .byte 0                           # DW_CHILDREN_yes45 .byte 37                          # DW_AT_producer46 .byte 37                          # DW_FORM_strx147 .byte 19                          # DW_AT_language48 .byte 5                           # DW_FORM_data249 .byte 3                           # DW_AT_name50 .byte 37                          # DW_FORM_strx151 .byte 114                         # DW_AT_str_offsets_base52 .byte 23                          # DW_FORM_sec_offset53 .byte 16                          # DW_AT_stmt_list54 .byte 23                          # DW_FORM_sec_offset55 .byte 27                          # DW_AT_comp_dir56 .byte 37                          # DW_FORM_strx157 .byte 17                          # DW_AT_low_pc58 .byte 1                           # DW_FORM_addr59 .byte 18                          # DW_AT_high_pc60 .byte 6                           # DW_FORM_data461 .byte 0                           # EOM(1)62 .byte 0                           # EOM(2)63 64 .byte 2                           # Abbreviation Code65 .byte 46                          # DW_TAG_subprogram66 .byte 0                           # DW_CHILDREN_no67 .byte 17                          # DW_AT_low_pc68 .byte 1                           # DW_FORM_addr69 .byte 18                          # DW_AT_high_pc70 .byte 6                           # DW_FORM_data471 .byte 64                          # DW_AT_frame_base72 .byte 24                          # DW_FORM_exprloc73 .byte 3                           # DW_AT_name74 .byte 37                          # DW_FORM_strx175 .byte 58                          # DW_AT_decl_file76 .byte 11                          # DW_FORM_data177 .byte 59                          # DW_AT_decl_line78 .byte 11                          # DW_FORM_data179 .byte 73                          # DW_AT_type80 .byte 19                          # DW_FORM_ref481 .byte 63                          # DW_AT_external82 .byte 25                          # DW_FORM_flag_present83 .byte 0                           # EOM(1)84 .byte 0                           # EOM(2)85 86 .byte 3                           # 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 99.section .debug_info,"",@progbits100.Lcu_begin0:101 .long 61                         # Length of Unit102 .short 5                         # DWARF version number103 .byte  1                         # DWARF Unit Type104 .byte  8                         # Address Size (in bytes)105 .long  .debug_abbrev             # Offset Into Abbrev. Section106 107 .byte  1                         # Abbrev [1] 0xc:0x35 DW_TAG_compile_unit108 .byte  0                         # DW_AT_producer109 .short 0                         # DW_AT_language110 .byte  0                         # DW_AT_name111 .long  .Lstr_offsets_base0       # DW_AT_str_offsets_base112 .long  .Lline_table_start0       # DW_AT_stmt_list113 .byte  0                         # DW_AT_comp_dir114 .quad  .Lfunc_begin0             # DW_AT_low_pc115 .long  .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc116 117 .byte  2                         # Abbrev [2] 0x26:0x16 DW_TAG_subprogram118 .quad  .Lfunc_begin0             # DW_AT_low_pc119 .long  .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc120 .byte  1                         # DW_AT_frame_base121 .byte  87122 .byte  0                         # DW_AT_name123 .byte  1                         # DW_AT_decl_file124 .byte  2                         # DW_AT_decl_line125 .long  60                        # DW_AT_type126                                  # DW_AT_external127 128 .byte  3                         # Abbrev [3] 0x3c:0x4 DW_TAG_base_type129 .byte  0                         # DW_AT_name130 .byte  5                         # DW_AT_encoding131 .byte  4                         # DW_AT_byte_size132 .byte  0                         # End Of Children Mark133 134.section .debug_line,"",@progbits135.Lline_table_start0:136