1*7ae4b8e9SBenjamin Kramer# RUN: llvm-mc --triple=x86_64-unknown-linux --filetype=obj -dwarf-version=4 %s -o %t.o 2*7ae4b8e9SBenjamin Kramer# RUN: llvm-dwp -e %t.o -o %t.dwp 2>&1 | FileCheck %s --check-prefix=CHECK-WARNING 3d7cd41e5SJinjie Huang 4d7cd41e5SJinjie Huang# CHECK-WARNING: warning: executable file does not contain any references to dwo files 5d7cd41e5SJinjie Huang 6d7cd41e5SJinjie Huang.ifdef GEN 7d7cd41e5SJinjie Huang;--- main.c 8d7cd41e5SJinjie Huangint main() { 9d7cd41e5SJinjie Huang return 0; 10d7cd41e5SJinjie Huang} 11d7cd41e5SJinjie Huang;--- gen 12d7cd41e5SJinjie Huangclang -g -S -gdwarf-4 main.c -o - 13d7cd41e5SJinjie Huang.endif 14d7cd41e5SJinjie Huang .text 15d7cd41e5SJinjie Huang .file "main.c" 16d7cd41e5SJinjie Huang .globl main # -- Begin function main 17d7cd41e5SJinjie Huang .p2align 4, 0x90 18d7cd41e5SJinjie Huang .type main,@function 19d7cd41e5SJinjie Huangmain: # @main 20d7cd41e5SJinjie Huang.Lfunc_begin0: 21d7cd41e5SJinjie Huang .file 1 "/proc/self/cwd" "main.c" 22d7cd41e5SJinjie Huang .loc 1 8 0 # main.c:8:0 23d7cd41e5SJinjie Huang .cfi_startproc 24d7cd41e5SJinjie Huang# %bb.0: # %entry 25d7cd41e5SJinjie Huang pushq %rbp 26d7cd41e5SJinjie Huang .cfi_def_cfa_offset 16 27d7cd41e5SJinjie Huang .cfi_offset %rbp, -16 28d7cd41e5SJinjie Huang movq %rsp, %rbp 29d7cd41e5SJinjie Huang .cfi_def_cfa_register %rbp 30d7cd41e5SJinjie Huang xorl %eax, %eax 31d7cd41e5SJinjie Huang movl $0, -4(%rbp) 32d7cd41e5SJinjie Huang.Ltmp0: 33d7cd41e5SJinjie Huang .loc 1 9 5 prologue_end # main.c:9:5 34d7cd41e5SJinjie Huang popq %rbp 35d7cd41e5SJinjie Huang .cfi_def_cfa %rsp, 8 36d7cd41e5SJinjie Huang retq 37d7cd41e5SJinjie Huang.Ltmp1: 38d7cd41e5SJinjie Huang.Lfunc_end0: 39d7cd41e5SJinjie Huang .size main, .Lfunc_end0-main 40d7cd41e5SJinjie Huang .cfi_endproc 41d7cd41e5SJinjie Huang # -- End function 42d7cd41e5SJinjie Huang .section .debug_abbrev,"",@progbits 43d7cd41e5SJinjie Huang .byte 1 # Abbreviation Code 44d7cd41e5SJinjie Huang .byte 17 # DW_TAG_compile_unit 45d7cd41e5SJinjie Huang .byte 1 # DW_CHILDREN_yes 46d7cd41e5SJinjie Huang .byte 37 # DW_AT_producer 47d7cd41e5SJinjie Huang .byte 14 # DW_FORM_strp 48d7cd41e5SJinjie Huang .byte 19 # DW_AT_language 49d7cd41e5SJinjie Huang .byte 5 # DW_FORM_data2 50d7cd41e5SJinjie Huang .byte 3 # DW_AT_name 51d7cd41e5SJinjie Huang .byte 14 # DW_FORM_strp 52d7cd41e5SJinjie Huang .byte 16 # DW_AT_stmt_list 53d7cd41e5SJinjie Huang .byte 23 # DW_FORM_sec_offset 54d7cd41e5SJinjie Huang .byte 27 # DW_AT_comp_dir 55d7cd41e5SJinjie Huang .byte 14 # DW_FORM_strp 56d7cd41e5SJinjie Huang .byte 17 # DW_AT_low_pc 57d7cd41e5SJinjie Huang .byte 1 # DW_FORM_addr 58d7cd41e5SJinjie Huang .byte 18 # DW_AT_high_pc 59d7cd41e5SJinjie Huang .byte 6 # DW_FORM_data4 60d7cd41e5SJinjie Huang .byte 0 # EOM(1) 61d7cd41e5SJinjie Huang .byte 0 # EOM(2) 62d7cd41e5SJinjie Huang .byte 2 # Abbreviation Code 63d7cd41e5SJinjie Huang .byte 46 # DW_TAG_subprogram 64d7cd41e5SJinjie Huang .byte 0 # DW_CHILDREN_no 65d7cd41e5SJinjie Huang .byte 17 # DW_AT_low_pc 66d7cd41e5SJinjie Huang .byte 1 # DW_FORM_addr 67d7cd41e5SJinjie Huang .byte 18 # DW_AT_high_pc 68d7cd41e5SJinjie Huang .byte 6 # DW_FORM_data4 69d7cd41e5SJinjie Huang .byte 64 # DW_AT_frame_base 70d7cd41e5SJinjie Huang .byte 24 # DW_FORM_exprloc 71d7cd41e5SJinjie Huang .byte 3 # DW_AT_name 72d7cd41e5SJinjie Huang .byte 14 # DW_FORM_strp 73d7cd41e5SJinjie Huang .byte 58 # DW_AT_decl_file 74d7cd41e5SJinjie Huang .byte 11 # DW_FORM_data1 75d7cd41e5SJinjie Huang .byte 59 # DW_AT_decl_line 76d7cd41e5SJinjie Huang .byte 11 # DW_FORM_data1 77d7cd41e5SJinjie Huang .byte 73 # DW_AT_type 78d7cd41e5SJinjie Huang .byte 19 # DW_FORM_ref4 79d7cd41e5SJinjie Huang .byte 63 # DW_AT_external 80d7cd41e5SJinjie Huang .byte 25 # DW_FORM_flag_present 81d7cd41e5SJinjie Huang .byte 0 # EOM(1) 82d7cd41e5SJinjie Huang .byte 0 # EOM(2) 83d7cd41e5SJinjie Huang .byte 3 # Abbreviation Code 84d7cd41e5SJinjie Huang .byte 36 # DW_TAG_base_type 85d7cd41e5SJinjie Huang .byte 0 # DW_CHILDREN_no 86d7cd41e5SJinjie Huang .byte 3 # DW_AT_name 87d7cd41e5SJinjie Huang .byte 14 # DW_FORM_strp 88d7cd41e5SJinjie Huang .byte 62 # DW_AT_encoding 89d7cd41e5SJinjie Huang .byte 11 # DW_FORM_data1 90d7cd41e5SJinjie Huang .byte 11 # DW_AT_byte_size 91d7cd41e5SJinjie Huang .byte 11 # DW_FORM_data1 92d7cd41e5SJinjie Huang .byte 0 # EOM(1) 93d7cd41e5SJinjie Huang .byte 0 # EOM(2) 94d7cd41e5SJinjie Huang .byte 0 # EOM(3) 95d7cd41e5SJinjie Huang .section .debug_info,"",@progbits 96d7cd41e5SJinjie Huang.Lcu_begin0: 97d7cd41e5SJinjie Huang .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 98d7cd41e5SJinjie Huang.Ldebug_info_start0: 99d7cd41e5SJinjie Huang .short 4 # DWARF version number 100d7cd41e5SJinjie Huang .long .debug_abbrev # Offset Into Abbrev. Section 101d7cd41e5SJinjie Huang .byte 8 # Address Size (in bytes) 102d7cd41e5SJinjie Huang .byte 1 # Abbrev [1] 0xb:0x40 DW_TAG_compile_unit 103d7cd41e5SJinjie Huang .long .Linfo_string0 # DW_AT_producer 104d7cd41e5SJinjie Huang .short 12 # DW_AT_language 105d7cd41e5SJinjie Huang .long .Linfo_string1 # DW_AT_name 106d7cd41e5SJinjie Huang .long .Lline_table_start0 # DW_AT_stmt_list 107d7cd41e5SJinjie Huang .long .Linfo_string2 # DW_AT_comp_dir 108d7cd41e5SJinjie Huang .quad .Lfunc_begin0 # DW_AT_low_pc 109d7cd41e5SJinjie Huang .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 110d7cd41e5SJinjie Huang .byte 2 # Abbrev [2] 0x2a:0x19 DW_TAG_subprogram 111d7cd41e5SJinjie Huang .quad .Lfunc_begin0 # DW_AT_low_pc 112d7cd41e5SJinjie Huang .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 113d7cd41e5SJinjie Huang .byte 1 # DW_AT_frame_base 114d7cd41e5SJinjie Huang .byte 86 115d7cd41e5SJinjie Huang .long .Linfo_string3 # DW_AT_name 116d7cd41e5SJinjie Huang .byte 1 # DW_AT_decl_file 117d7cd41e5SJinjie Huang .byte 8 # DW_AT_decl_line 118d7cd41e5SJinjie Huang .long 67 # DW_AT_type 119d7cd41e5SJinjie Huang # DW_AT_external 120d7cd41e5SJinjie Huang .byte 3 # Abbrev [3] 0x43:0x7 DW_TAG_base_type 121d7cd41e5SJinjie Huang .long .Linfo_string4 # DW_AT_name 122d7cd41e5SJinjie Huang .byte 5 # DW_AT_encoding 123d7cd41e5SJinjie Huang .byte 4 # DW_AT_byte_size 124d7cd41e5SJinjie Huang .byte 0 # End Of Children Mark 125d7cd41e5SJinjie Huang.Ldebug_info_end0: 126d7cd41e5SJinjie Huang .section .debug_str,"MS",@progbits,1 127d7cd41e5SJinjie Huang.Linfo_string0: 128d7cd41e5SJinjie Huang .byte 0 # string offset=0 129d7cd41e5SJinjie Huang.Linfo_string1: 130d7cd41e5SJinjie Huang .asciz "main.c" # string offset=1 131d7cd41e5SJinjie Huang.Linfo_string2: 132d7cd41e5SJinjie Huang .asciz "/proc/self/cwd" # string offset=8 133d7cd41e5SJinjie Huang.Linfo_string3: 134d7cd41e5SJinjie Huang .asciz "main" # string offset=23 135d7cd41e5SJinjie Huang.Linfo_string4: 136d7cd41e5SJinjie Huang .asciz "int" # string offset=28 137d7cd41e5SJinjie Huang .section .GCC.command.line,"MS",@progbits,1 138d7cd41e5SJinjie Huang .zero 1 139d7cd41e5SJinjie Huang .ascii "/usr/local/bin/clang-11 -Qn -g -S -gdwarf-4 main.c -o -" 140d7cd41e5SJinjie Huang .zero 1 141d7cd41e5SJinjie Huang .section .debug_str,"MS",@progbits,1 142d7cd41e5SJinjie Huang .section ".note.GNU-stack","",@progbits 143d7cd41e5SJinjie Huang .addrsig 144d7cd41e5SJinjie Huang .section .debug_line,"",@progbits 145d7cd41e5SJinjie Huang.Lline_table_start0: 146