xref: /llvm-project/llvm/test/DebugInfo/X86/dwarfdump-infinite-loop.s (revision 9a1544277e8a9336c98fe8e1f3d6fdde9d2f2bcf)
1*9a154427SAlex Yermolovich# Test object to verify that dwarfdump does not go into infinite recursion due
2*9a154427SAlex Yermolovich# to trying to print fully resolved name.
3*9a154427SAlex Yermolovich# RUN: llvm-mc -triple x86_64-unknown-linux %s -filetype=obj -o %t.o
4*9a154427SAlex Yermolovich# RUN: llvm-dwarfdump --debug-info=0x62 %t.o | FileCheck %s
5*9a154427SAlex Yermolovich
6*9a154427SAlex Yermolovich# CHECK: DW_TAG_formal_parameter
7*9a154427SAlex Yermolovich# CHECK-NEXT: DW_AT_type
8*9a154427SAlex Yermolovich# CHECK-SAME: "t2 *"
9*9a154427SAlex Yermolovich
10*9a154427SAlex Yermolovich# gcc -g -gdwarf-4 -std=gnu++17 -c -gz=none -S reproSmall.cpp -o reproSmall.s
11*9a154427SAlex Yermolovich# struct t1;
12*9a154427SAlex Yermolovich# void f1() {
13*9a154427SAlex Yermolovich#   using t2 = t1;
14*9a154427SAlex Yermolovich#   void (t2::* __fn)();
15*9a154427SAlex Yermolovich# }
16*9a154427SAlex Yermolovich
17*9a154427SAlex Yermolovich.section	.debug_info,"",@progbits
18*9a154427SAlex Yermolovich.Ldebug_info0:
19*9a154427SAlex Yermolovich	.long	0x88
20*9a154427SAlex Yermolovich	.value	0x4
21*9a154427SAlex Yermolovich	.long	.Ldebug_abbrev0
22*9a154427SAlex Yermolovich	.byte	0x8
23*9a154427SAlex Yermolovich	.uleb128 0x1
24*9a154427SAlex Yermolovich	.long	.LASF0
25*9a154427SAlex Yermolovich	.byte	0x4
26*9a154427SAlex Yermolovich	.long	.LASF1
27*9a154427SAlex Yermolovich	.long	.LASF2
28*9a154427SAlex Yermolovich	.quad	0
29*9a154427SAlex Yermolovich	.quad	0
30*9a154427SAlex Yermolovich	.long	.Ldebug_line0
31*9a154427SAlex Yermolovich	.uleb128 0x2
32*9a154427SAlex Yermolovich	.string	"f1"
33*9a154427SAlex Yermolovich	.byte	0x1
34*9a154427SAlex Yermolovich	.byte	0x3
35*9a154427SAlex Yermolovich	.byte	0x6
36*9a154427SAlex Yermolovich	.long	.LASF3
37*9a154427SAlex Yermolovich	.quad	0
38*9a154427SAlex Yermolovich	.quad	0
39*9a154427SAlex Yermolovich	.uleb128 0x1
40*9a154427SAlex Yermolovich	.byte	0x9c
41*9a154427SAlex Yermolovich	.long	0x87
42*9a154427SAlex Yermolovich	.uleb128 0x3
43*9a154427SAlex Yermolovich	.string	"t2"
44*9a154427SAlex Yermolovich	.byte	0x1
45*9a154427SAlex Yermolovich	.byte	0x4
46*9a154427SAlex Yermolovich	.byte	0x9
47*9a154427SAlex Yermolovich	.long	0x87
48*9a154427SAlex Yermolovich	.uleb128 0x4
49*9a154427SAlex Yermolovich	.long	0x62
50*9a154427SAlex Yermolovich	.long	0x6e
51*9a154427SAlex Yermolovich	.uleb128 0x5
52*9a154427SAlex Yermolovich	.long	0x67
53*9a154427SAlex Yermolovich	.uleb128 0x6
54*9a154427SAlex Yermolovich	.byte	0x8
55*9a154427SAlex Yermolovich	.long	0x4e
56*9a154427SAlex Yermolovich	.byte	0
57*9a154427SAlex Yermolovich	.uleb128 0x7
58*9a154427SAlex Yermolovich	.long	0x87
59*9a154427SAlex Yermolovich	.long	0x59
60*9a154427SAlex Yermolovich	.uleb128 0x8
61*9a154427SAlex Yermolovich	.long	.LASF4
62*9a154427SAlex Yermolovich	.byte	0x1
63*9a154427SAlex Yermolovich	.byte	0x5
64*9a154427SAlex Yermolovich	.byte	0xf
65*9a154427SAlex Yermolovich	.long	0x6e
66*9a154427SAlex Yermolovich	.uleb128 0x2
67*9a154427SAlex Yermolovich	.byte	0x91
68*9a154427SAlex Yermolovich	.sleb128 -32
69*9a154427SAlex Yermolovich	.byte	0
70*9a154427SAlex Yermolovich	.uleb128 0x9
71*9a154427SAlex Yermolovich	.string	"t1"
72*9a154427SAlex Yermolovich	.byte	0
73*9a154427SAlex Yermolovich	.section	.debug_abbrev,"",@progbits
74*9a154427SAlex Yermolovich.Ldebug_abbrev0:
75*9a154427SAlex Yermolovich	.uleb128 0x1
76*9a154427SAlex Yermolovich	.uleb128 0x11
77*9a154427SAlex Yermolovich	.byte	0x1
78*9a154427SAlex Yermolovich	.uleb128 0x25
79*9a154427SAlex Yermolovich	.uleb128 0xe
80*9a154427SAlex Yermolovich	.uleb128 0x13
81*9a154427SAlex Yermolovich	.uleb128 0xb
82*9a154427SAlex Yermolovich	.uleb128 0x3
83*9a154427SAlex Yermolovich	.uleb128 0xe
84*9a154427SAlex Yermolovich	.uleb128 0x1b
85*9a154427SAlex Yermolovich	.uleb128 0xe
86*9a154427SAlex Yermolovich	.uleb128 0x11
87*9a154427SAlex Yermolovich	.uleb128 0x1
88*9a154427SAlex Yermolovich	.uleb128 0x12
89*9a154427SAlex Yermolovich	.uleb128 0x7
90*9a154427SAlex Yermolovich	.uleb128 0x10
91*9a154427SAlex Yermolovich	.uleb128 0x17
92*9a154427SAlex Yermolovich	.byte	0
93*9a154427SAlex Yermolovich	.byte	0
94*9a154427SAlex Yermolovich	.uleb128 0x2
95*9a154427SAlex Yermolovich	.uleb128 0x2e
96*9a154427SAlex Yermolovich	.byte	0x1
97*9a154427SAlex Yermolovich	.uleb128 0x3f
98*9a154427SAlex Yermolovich	.uleb128 0x19
99*9a154427SAlex Yermolovich	.uleb128 0x3
100*9a154427SAlex Yermolovich	.uleb128 0x8
101*9a154427SAlex Yermolovich	.uleb128 0x3a
102*9a154427SAlex Yermolovich	.uleb128 0xb
103*9a154427SAlex Yermolovich	.uleb128 0x3b
104*9a154427SAlex Yermolovich	.uleb128 0xb
105*9a154427SAlex Yermolovich	.uleb128 0x39
106*9a154427SAlex Yermolovich	.uleb128 0xb
107*9a154427SAlex Yermolovich	.uleb128 0x6e
108*9a154427SAlex Yermolovich	.uleb128 0xe
109*9a154427SAlex Yermolovich	.uleb128 0x11
110*9a154427SAlex Yermolovich	.uleb128 0x1
111*9a154427SAlex Yermolovich	.uleb128 0x12
112*9a154427SAlex Yermolovich	.uleb128 0x7
113*9a154427SAlex Yermolovich	.uleb128 0x40
114*9a154427SAlex Yermolovich	.uleb128 0x18
115*9a154427SAlex Yermolovich	.uleb128 0x2117
116*9a154427SAlex Yermolovich	.uleb128 0x19
117*9a154427SAlex Yermolovich	.uleb128 0x1
118*9a154427SAlex Yermolovich	.uleb128 0x13
119*9a154427SAlex Yermolovich	.byte	0
120*9a154427SAlex Yermolovich	.byte	0
121*9a154427SAlex Yermolovich	.uleb128 0x3
122*9a154427SAlex Yermolovich	.uleb128 0x16
123*9a154427SAlex Yermolovich	.byte	0
124*9a154427SAlex Yermolovich	.uleb128 0x3
125*9a154427SAlex Yermolovich	.uleb128 0x8
126*9a154427SAlex Yermolovich	.uleb128 0x3a
127*9a154427SAlex Yermolovich	.uleb128 0xb
128*9a154427SAlex Yermolovich	.uleb128 0x3b
129*9a154427SAlex Yermolovich	.uleb128 0xb
130*9a154427SAlex Yermolovich	.uleb128 0x39
131*9a154427SAlex Yermolovich	.uleb128 0xb
132*9a154427SAlex Yermolovich	.uleb128 0x49
133*9a154427SAlex Yermolovich	.uleb128 0x13
134*9a154427SAlex Yermolovich	.byte	0
135*9a154427SAlex Yermolovich	.byte	0
136*9a154427SAlex Yermolovich	.uleb128 0x4
137*9a154427SAlex Yermolovich	.uleb128 0x15
138*9a154427SAlex Yermolovich	.byte	0x1
139*9a154427SAlex Yermolovich	.uleb128 0x64
140*9a154427SAlex Yermolovich	.uleb128 0x13
141*9a154427SAlex Yermolovich	.uleb128 0x1
142*9a154427SAlex Yermolovich	.uleb128 0x13
143*9a154427SAlex Yermolovich	.byte	0
144*9a154427SAlex Yermolovich	.byte	0
145*9a154427SAlex Yermolovich	.uleb128 0x5
146*9a154427SAlex Yermolovich	.uleb128 0x5
147*9a154427SAlex Yermolovich	.byte	0
148*9a154427SAlex Yermolovich	.uleb128 0x49
149*9a154427SAlex Yermolovich	.uleb128 0x13
150*9a154427SAlex Yermolovich	.uleb128 0x34
151*9a154427SAlex Yermolovich	.uleb128 0x19
152*9a154427SAlex Yermolovich	.byte	0
153*9a154427SAlex Yermolovich	.byte	0
154*9a154427SAlex Yermolovich	.uleb128 0x6
155*9a154427SAlex Yermolovich	.uleb128 0xf
156*9a154427SAlex Yermolovich	.byte	0
157*9a154427SAlex Yermolovich	.uleb128 0xb
158*9a154427SAlex Yermolovich	.uleb128 0xb
159*9a154427SAlex Yermolovich	.uleb128 0x49
160*9a154427SAlex Yermolovich	.uleb128 0x13
161*9a154427SAlex Yermolovich	.byte	0
162*9a154427SAlex Yermolovich	.byte	0
163*9a154427SAlex Yermolovich	.uleb128 0x7
164*9a154427SAlex Yermolovich	.uleb128 0x1f
165*9a154427SAlex Yermolovich	.byte	0
166*9a154427SAlex Yermolovich	.uleb128 0x1d
167*9a154427SAlex Yermolovich	.uleb128 0x13
168*9a154427SAlex Yermolovich	.uleb128 0x49
169*9a154427SAlex Yermolovich	.uleb128 0x13
170*9a154427SAlex Yermolovich	.byte	0
171*9a154427SAlex Yermolovich	.byte	0
172*9a154427SAlex Yermolovich	.uleb128 0x8
173*9a154427SAlex Yermolovich	.uleb128 0x34
174*9a154427SAlex Yermolovich	.byte	0
175*9a154427SAlex Yermolovich	.uleb128 0x3
176*9a154427SAlex Yermolovich	.uleb128 0xe
177*9a154427SAlex Yermolovich	.uleb128 0x3a
178*9a154427SAlex Yermolovich	.uleb128 0xb
179*9a154427SAlex Yermolovich	.uleb128 0x3b
180*9a154427SAlex Yermolovich	.uleb128 0xb
181*9a154427SAlex Yermolovich	.uleb128 0x39
182*9a154427SAlex Yermolovich	.uleb128 0xb
183*9a154427SAlex Yermolovich	.uleb128 0x49
184*9a154427SAlex Yermolovich	.uleb128 0x13
185*9a154427SAlex Yermolovich	.uleb128 0x2
186*9a154427SAlex Yermolovich	.uleb128 0x18
187*9a154427SAlex Yermolovich	.byte	0
188*9a154427SAlex Yermolovich	.byte	0
189*9a154427SAlex Yermolovich	.uleb128 0x9
190*9a154427SAlex Yermolovich	.uleb128 0x13
191*9a154427SAlex Yermolovich	.byte	0
192*9a154427SAlex Yermolovich	.uleb128 0x3
193*9a154427SAlex Yermolovich	.uleb128 0x8
194*9a154427SAlex Yermolovich	.uleb128 0x3c
195*9a154427SAlex Yermolovich	.uleb128 0x19
196*9a154427SAlex Yermolovich	.byte	0
197*9a154427SAlex Yermolovich	.byte	0
198*9a154427SAlex Yermolovich	.byte	0
199*9a154427SAlex Yermolovich	.section	.debug_aranges,"",@progbits
200*9a154427SAlex Yermolovich	.long	0x2c
201*9a154427SAlex Yermolovich	.value	0x2
202*9a154427SAlex Yermolovich	.long	.Ldebug_info0
203*9a154427SAlex Yermolovich	.byte	0x8
204*9a154427SAlex Yermolovich	.byte	0
205*9a154427SAlex Yermolovich	.value	0
206*9a154427SAlex Yermolovich	.value	0
207*9a154427SAlex Yermolovich	.quad	0
208*9a154427SAlex Yermolovich	.quad	0
209*9a154427SAlex Yermolovich	.quad	0
210*9a154427SAlex Yermolovich	.quad	0
211*9a154427SAlex Yermolovich	.section	.debug_line,"",@progbits
212*9a154427SAlex Yermolovich.Ldebug_line0:
213*9a154427SAlex Yermolovich	.section	.debug_str,"MS",@progbits,1
214*9a154427SAlex Yermolovich.LASF0:
215*9a154427SAlex Yermolovich	.string	"GNU C++17 11.x -mtune=generic -march=x86-64 -g -gdwarf-4 -gz=none -std=gnu++17"
216*9a154427SAlex Yermolovich.LASF4:
217*9a154427SAlex Yermolovich	.string	"__fn"
218*9a154427SAlex Yermolovich.LASF2:
219*9a154427SAlex Yermolovich	.string	"."
220*9a154427SAlex Yermolovich.LASF1:
221*9a154427SAlex Yermolovich	.string	"reproSmall.cpp"
222*9a154427SAlex Yermolovich.LASF3:
223*9a154427SAlex Yermolovich	.string	"_Z2f1v"
224*9a154427SAlex Yermolovich	.ident	"GCC: (GNU) 11.x"
225