xref: /llvm-project/bolt/test/X86/dwarf5-debug-info-dwarf4-debug-line.s (revision 11791ae7b0b05b8bd8d806331ff51da618912cf8)
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