summaryrefslogtreecommitdiff
path: root/test/DebugInfo/llvm-symbolizer.test
blob: 20d3dda21ab0d79a67bd164e080349433c058658 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400559" > %t.input
RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64.debuglink 0x400559" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400436" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400528" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400586" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004e8" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004f4" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x710" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x7d1" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x785" >> %t.input
RUN: echo "%p/Inputs/dwarfdump-inl-test.high_pc.elf-x86-64 0x568" >> %t.input
RUN: echo "\"%p/Inputs/dwarfdump-test3.elf-x86-64 space\" 0x640" >> %t.input
RUN: echo "\"%p/Inputs/dwarfdump-test3.elf-x86-64 space\" 0x633" >> %t.input
RUN: echo "\"%p/Inputs/dwarfdump-test3.elf-x86-64 space\" 0x62d" >> %t.input
RUN: echo "%p/Inputs/macho-universal 0x1f84" >> %t.input
RUN: echo "%p/Inputs/macho-universal:i386 0x1f67" >> %t.input
RUN: echo "%p/Inputs/macho-universal:x86_64 0x100000f05" >> %t.input
RUN: echo "%p/Inputs/llvm-symbolizer-dwo-test 0x400514" >> %t.input
RUN: echo "%p/Inputs/fission-ranges.elf-x86_64 0x720" >> %t.input
RUN: echo "%p/Inputs/arange-overlap.elf-x86_64 0x714" >> %t.input

RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
RUN:    --default-arch=i386 < %t.input | FileCheck %s

CHECK:       main
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16

CHECK:       main
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16

CHECK:      _start

CHECK: _Z1fii
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:11

CHECK: DummyClass
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:4

CHECK: a
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test2-helper.cc:2

CHECK: main
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test2-main.cc:4

CHECK:      _Z1cv
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test4-part1.cc:2

CHECK:      inlined_h
CHECK-NEXT: dwarfdump-inl-test.h:2
CHECK-NEXT: inlined_g
CHECK-NEXT: dwarfdump-inl-test.h:7
CHECK-NEXT: inlined_f
CHECK-NEXT: dwarfdump-inl-test.cc:3
CHECK-NEXT: main
CHECK-NEXT: dwarfdump-inl-test.cc:8

CHECK:      inlined_g
CHECK-NEXT: dwarfdump-inl-test.h:7
CHECK-NEXT: inlined_f
CHECK-NEXT: dwarfdump-inl-test.cc:3
CHECK-NEXT: main
CHECK-NEXT: dwarfdump-inl-test.cc:8

CHECK:      inlined_f
CHECK-NEXT: dwarfdump-inl-test.cc:3
CHECK-NEXT: main
CHECK-NEXT: dwarfdump-inl-test.cc:8

CHECK:      inlined_h
CHECK-NEXT: dwarfdump-inl-test.h:3
CHECK-NEXT: inlined_g
CHECK-NEXT: dwarfdump-inl-test.h:7
CHECK-NEXT: inlined_f
CHECK-NEXT: dwarfdump-inl-test.cc:3
CHECK-NEXT: main
CHECK-NEXT: dwarfdump-inl-test.cc:8

CHECK: C
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test3.cc:3

CHECK: _Z3do1v
CHECK-NEXT: /tmp/include{{[/\\]}}dwarfdump-test3-decl.h:7

CHECK: _Z3do2v
CHECK-NEXT: /tmp/dbginfo{{[/\\]}}include{{[/\\]}}dwarfdump-test3-decl2.h:1

CHECK:      main
CHECK:      _Z3inci
CHECK:      _Z3inci

CHECK: main
CHECK-NEXT: llvm-symbolizer-dwo-test.cc:11

CHECK: main
CHECK-NEXT: {{.*}}fission-ranges.cc:6

CHECK: _ZN1S3bazEv
CHECK-NEXT: {{.*}}arange-overlap.cc:6

RUN: echo "unexisting-file 0x1234" > %t.input2
RUN: llvm-symbolizer < %t.input2

RUN: echo "%p/Inputs/macho-universal 0x1f84" > %t.input3
RUN: llvm-symbolizer < %t.input3 | FileCheck %s --check-prefix=UNKNOWN-ARCH

UNKNOWN-ARCH-NOT: main
UNKNOWN-ARCH: ??
UNKNOWN-ARCH-NOT: main

RUN: echo "0x400559" > %t.input4
RUN: echo "0x400436" >> %t.input4
RUN: llvm-symbolizer --obj %p/Inputs/dwarfdump-test.elf-x86-64 < %t.input4 \
RUN:   | FileCheck %s --check-prefix=BINARY

BINARY:       main
BINARY-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16
BINARY:      _start

RUN: echo "0x400720" > %t.input5
RUN: echo "0x4004a0" >> %t.input5
RUN: echo "0x4006f0" >> %t.input5
RUN: llvm-symbolizer --obj %p/Inputs/llvm-symbolizer-test.elf-x86-64 < %t.input5 \
RUN:   | FileCheck %s --check-prefix=BINARY_C

BINARY_C:       main
BINARY_C-NEXT: /tmp/dbginfo{{[/\\]}}llvm-symbolizer-test.c:10
BINARY_C:      _start
BINARY_C:      {{g$}}

RUN: echo "0x1f1" > %t.input6
RUN: llvm-symbolizer --obj %p/Inputs/shared-object-stripped.elf-i386 < %t.input6 \
RUN:   | FileCheck %s --check-prefix=STRIPPED

STRIPPED:  global_func

RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" > %t.input7
RUN: llvm-symbolizer --functions=short --use-symbol-table=false --demangle=false < %t.input7 \
RUN:    | FileCheck %s --check-prefix=SHORT_FUNCTION_NAME

SHORT_FUNCTION_NAME-NOT: _Z1cv