1014cd37fSAlexander Yermolovich# REQUIRES: system-linux 2014cd37fSAlexander Yermolovich 3014cd37fSAlexander Yermolovich# RUN: llvm-mc -dwarf-version=4 -filetype=obj -triple x86_64-unknown-linux %s -o %t1.o 4014cd37fSAlexander Yermolovich# RUN: %clang %cflags -dwarf-5 %t1.o -o %t.exe -Wl,-q 5d648aa1bSMaksim Panchenko# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections 6014cd37fSAlexander Yermolovich# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.exe | FileCheck --check-prefix=PRECHECK %s 7014cd37fSAlexander Yermolovich# RUN: llvm-dwarfdump --show-form --verbose --debug-line %t.bolt | FileCheck --check-prefix=POSTCHECK %s 8014cd37fSAlexander Yermolovich 9*11791ae7SSayhaan Siddiqui## This test checks that .debug_line gets generated correctly when .debug_info is DWARF5, and .debug_line is DWARF4. 10014cd37fSAlexander Yermolovich 11014cd37fSAlexander Yermolovich# PRECHECK: version: 4 12014cd37fSAlexander Yermolovich# PRECHECK: file_names[ 1]: 13014cd37fSAlexander Yermolovich# PRECHECK-NEXT: name: "main.cpp" 14014cd37fSAlexander Yermolovich# PRECHECK-NEXT: dir_index: 0 15014cd37fSAlexander Yermolovich# PRECHECK-NEXT: mod_time: 0x00000000 16014cd37fSAlexander Yermolovich# PRECHECK-NEXT: length: 0x00000000 17014cd37fSAlexander Yermolovich 18014cd37fSAlexander Yermolovich# POSTCHECK: version: 4 19014cd37fSAlexander Yermolovich# POSTCHECK: file_names[ 1]: 20014cd37fSAlexander Yermolovich# POSTCHECK-NEXT: name: "main.cpp" 21014cd37fSAlexander Yermolovich# POSTCHECK-NEXT: dir_index: 0 22014cd37fSAlexander Yermolovich# POSTCHECK-NEXT: mod_time: 0x00000000 23014cd37fSAlexander Yermolovich# POSTCHECK-NEXT: length: 0x00000000 24014cd37fSAlexander Yermolovich 25014cd37fSAlexander Yermolovich# int main() { 26014cd37fSAlexander Yermolovich# return 0; 27014cd37fSAlexander Yermolovich# } 28014cd37fSAlexander Yermolovich 29014cd37fSAlexander Yermolovich 30014cd37fSAlexander Yermolovich .file "main.cpp" 31014cd37fSAlexander Yermolovich .text 32014cd37fSAlexander Yermolovich.Ltext0: 33014cd37fSAlexander Yermolovich .globl main 34014cd37fSAlexander Yermolovich .type main, @function 35014cd37fSAlexander Yermolovichmain: 36014cd37fSAlexander Yermolovich.LFB0: 37014cd37fSAlexander Yermolovich .file 1 "main.cpp" 38014cd37fSAlexander Yermolovich .loc 1 1 12 39014cd37fSAlexander Yermolovich .cfi_startproc 40014cd37fSAlexander Yermolovich pushq %rbp 41014cd37fSAlexander Yermolovich .cfi_def_cfa_offset 16 42014cd37fSAlexander Yermolovich .cfi_offset 6, -16 43014cd37fSAlexander Yermolovich movq %rsp, %rbp 44014cd37fSAlexander Yermolovich .cfi_def_cfa_register 6 45014cd37fSAlexander Yermolovich .loc 1 2 10 46014cd37fSAlexander Yermolovich movl $0, %eax 47014cd37fSAlexander Yermolovich .loc 1 3 1 48014cd37fSAlexander Yermolovich popq %rbp 49014cd37fSAlexander Yermolovich .cfi_def_cfa 7, 8 50014cd37fSAlexander Yermolovich ret 51014cd37fSAlexander Yermolovich .cfi_endproc 52014cd37fSAlexander Yermolovich.LFE0: 53014cd37fSAlexander Yermolovich .size main, .-main 54014cd37fSAlexander Yermolovich.Letext0: 55014cd37fSAlexander Yermolovich .section .debug_info,"",@progbits 56014cd37fSAlexander Yermolovich.Ldebug_info0: 57014cd37fSAlexander Yermolovich .long 0x50 58014cd37fSAlexander Yermolovich .value 0x5 59014cd37fSAlexander Yermolovich .byte 0x1 60014cd37fSAlexander Yermolovich .byte 0x8 61014cd37fSAlexander Yermolovich .long .Ldebug_abbrev0 62014cd37fSAlexander Yermolovich .uleb128 0x1 63014cd37fSAlexander Yermolovich .long .LASF0 64014cd37fSAlexander Yermolovich .byte 0x21 65014cd37fSAlexander Yermolovich .long .LASF1 66014cd37fSAlexander Yermolovich .long .LASF2 67014cd37fSAlexander Yermolovich .quad .Ltext0 68014cd37fSAlexander Yermolovich .quad .Letext0-.Ltext0 69014cd37fSAlexander Yermolovich .long .Ldebug_line0 70014cd37fSAlexander Yermolovich .uleb128 0x2 71014cd37fSAlexander Yermolovich .long .LASF3 72014cd37fSAlexander Yermolovich .byte 0x1 73014cd37fSAlexander Yermolovich .byte 0x1 74014cd37fSAlexander Yermolovich .byte 0x5 75014cd37fSAlexander Yermolovich .long 0x4c 76014cd37fSAlexander Yermolovich .quad .LFB0 77014cd37fSAlexander Yermolovich .quad .LFE0-.LFB0 78014cd37fSAlexander Yermolovich .uleb128 0x1 79014cd37fSAlexander Yermolovich .byte 0x9c 80014cd37fSAlexander Yermolovich .uleb128 0x3 81014cd37fSAlexander Yermolovich .byte 0x4 82014cd37fSAlexander Yermolovich .byte 0x5 83014cd37fSAlexander Yermolovich .string "int" 84014cd37fSAlexander Yermolovich .byte 0 85014cd37fSAlexander Yermolovich .section .debug_abbrev,"",@progbits 86014cd37fSAlexander Yermolovich.Ldebug_abbrev0: 87014cd37fSAlexander Yermolovich .uleb128 0x1 88014cd37fSAlexander Yermolovich .uleb128 0x11 89014cd37fSAlexander Yermolovich .byte 0x1 90014cd37fSAlexander Yermolovich .uleb128 0x25 91014cd37fSAlexander Yermolovich .uleb128 0xe 92014cd37fSAlexander Yermolovich .uleb128 0x13 93014cd37fSAlexander Yermolovich .uleb128 0xb 94014cd37fSAlexander Yermolovich .uleb128 0x3 95014cd37fSAlexander Yermolovich .uleb128 0xe 96014cd37fSAlexander Yermolovich .uleb128 0x1b 97014cd37fSAlexander Yermolovich .uleb128 0xe 98014cd37fSAlexander Yermolovich .uleb128 0x11 99014cd37fSAlexander Yermolovich .uleb128 0x1 100014cd37fSAlexander Yermolovich .uleb128 0x12 101014cd37fSAlexander Yermolovich .uleb128 0x7 102014cd37fSAlexander Yermolovich .uleb128 0x10 103014cd37fSAlexander Yermolovich .uleb128 0x17 104014cd37fSAlexander Yermolovich .byte 0 105014cd37fSAlexander Yermolovich .byte 0 106014cd37fSAlexander Yermolovich .uleb128 0x2 107014cd37fSAlexander Yermolovich .uleb128 0x2e 108014cd37fSAlexander Yermolovich .byte 0 109014cd37fSAlexander Yermolovich .uleb128 0x3f 110014cd37fSAlexander Yermolovich .uleb128 0x19 111014cd37fSAlexander Yermolovich .uleb128 0x3 112014cd37fSAlexander Yermolovich .uleb128 0xe 113014cd37fSAlexander Yermolovich .uleb128 0x3a 114014cd37fSAlexander Yermolovich .uleb128 0xb 115014cd37fSAlexander Yermolovich .uleb128 0x3b 116014cd37fSAlexander Yermolovich .uleb128 0xb 117014cd37fSAlexander Yermolovich .uleb128 0x39 118014cd37fSAlexander Yermolovich .uleb128 0xb 119014cd37fSAlexander Yermolovich .uleb128 0x49 120014cd37fSAlexander Yermolovich .uleb128 0x13 121014cd37fSAlexander Yermolovich .uleb128 0x11 122014cd37fSAlexander Yermolovich .uleb128 0x1 123014cd37fSAlexander Yermolovich .uleb128 0x12 124014cd37fSAlexander Yermolovich .uleb128 0x7 125014cd37fSAlexander Yermolovich .uleb128 0x40 126014cd37fSAlexander Yermolovich .uleb128 0x18 127014cd37fSAlexander Yermolovich .uleb128 0x7a 128014cd37fSAlexander Yermolovich .uleb128 0x19 129014cd37fSAlexander Yermolovich .byte 0 130014cd37fSAlexander Yermolovich .byte 0 131014cd37fSAlexander Yermolovich .uleb128 0x3 132014cd37fSAlexander Yermolovich .uleb128 0x24 133014cd37fSAlexander Yermolovich .byte 0 134014cd37fSAlexander Yermolovich .uleb128 0xb 135014cd37fSAlexander Yermolovich .uleb128 0xb 136014cd37fSAlexander Yermolovich .uleb128 0x3e 137014cd37fSAlexander Yermolovich .uleb128 0xb 138014cd37fSAlexander Yermolovich .uleb128 0x3 139014cd37fSAlexander Yermolovich .uleb128 0x8 140014cd37fSAlexander Yermolovich .byte 0 141014cd37fSAlexander Yermolovich .byte 0 142014cd37fSAlexander Yermolovich .byte 0 143014cd37fSAlexander Yermolovich .section .debug_aranges,"",@progbits 144014cd37fSAlexander Yermolovich .long 0x2c 145014cd37fSAlexander Yermolovich .value 0x2 146014cd37fSAlexander Yermolovich .long .Ldebug_info0 147014cd37fSAlexander Yermolovich .byte 0x8 148014cd37fSAlexander Yermolovich .byte 0 149014cd37fSAlexander Yermolovich .value 0 150014cd37fSAlexander Yermolovich .value 0 151014cd37fSAlexander Yermolovich .quad .Ltext0 152014cd37fSAlexander Yermolovich .quad .Letext0-.Ltext0 153014cd37fSAlexander Yermolovich .quad 0 154014cd37fSAlexander Yermolovich .quad 0 155014cd37fSAlexander Yermolovich .section .debug_line,"",@progbits 156014cd37fSAlexander Yermolovich.Ldebug_line0: 157014cd37fSAlexander Yermolovich .section .debug_str,"MS",@progbits,1 158014cd37fSAlexander Yermolovich.LASF0: 159014cd37fSAlexander Yermolovich .string "GNU C++14 8.5.0 20210514 (Red Hat 8.5.0-3) -mtune=generic -march=x86-64 -g2 -gdwarf-5" 160014cd37fSAlexander Yermolovich.LASF1: 161014cd37fSAlexander Yermolovich .string "main.cpp" 162014cd37fSAlexander Yermolovich.LASF3: 163014cd37fSAlexander Yermolovich .string "main" 164014cd37fSAlexander Yermolovich.LASF2: 165014cd37fSAlexander Yermolovich .string "." 166014cd37fSAlexander Yermolovich .ident "GCC: (GNU) 8.5.0 20210514 (Red Hat 8.5.0-3)" 167014cd37fSAlexander Yermolovich .section .note.GNU-stack,"",@progbits 168