Imported Upstream version 0.153
[platform/upstream/elfutils.git] / tests / run-addrname-test.sh
1 #! /bin/sh
2 # Copyright (C) 2007, 2008 Red Hat, Inc.
3 # This file is part of Red Hat elfutils.
4 #
5 # Red Hat elfutils is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by the
7 # Free Software Foundation; version 2 of the License.
8 #
9 # Red Hat elfutils is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License along
15 # with Red Hat elfutils; if not, write to the Free Software Foundation,
16 # Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
17 #
18 # Red Hat elfutils is an included package of the Open Invention Network.
19 # An included package of the Open Invention Network is a package for which
20 # Open Invention Network licensees cross-license their patents.  No patent
21 # license is granted, either expressly or impliedly, by designation as an
22 # included package.  Should you wish to participate in the Open Invention
23 # Network licensing program, please visit www.openinventionnetwork.com
24 # <http://www.openinventionnetwork.com>.
25
26 . $srcdir/test-subr.sh
27
28 testfiles testfile34 testfile38 testfile41 testfile49
29
30 testrun_compare ../src/addr2line -f -e testfile34 \
31                                  0x08048074 0x08048075 0x08048076 \
32                                  0x08049078 0x08048080 0x08049080 <<\EOF
33 foo
34 ??:0
35 bar
36 ??:0
37 _etext
38 ??:0
39 data1
40 ??:0
41 ??
42 ??:0
43 _end
44 ??:0
45 EOF
46
47 testrun_compare ../src/addr2line -S -e testfile38 0x02 0x10a 0x211 0x31a <<\EOF
48 t1_global_outer+0x2
49 ??:0
50 t2_global_symbol+0x2
51 ??:0
52 t3_global_after_0+0x1
53 ??:0
54 (.text)+0x31a
55 ??:0
56 EOF
57
58 testrun_compare ../src/addr2line -S -e testfile41 0x1 0x104 <<\EOF
59 small_global_at_large_global+0x1
60 ??:0
61 small_global_first_at_large_global+0x1
62 ??:0
63 EOF
64
65 testfiles testfile12 testfile14
66 tempfiles testmaps
67
68 cat > testmaps <<EOF
69 00400000-00401000 r-xp 00000000 fd:01 4006812                            `pwd`/testfile14
70 00500000-00501000 rw-p 00000000 fd:01 4006812                            `pwd`/testfile14
71 01000000-01001000 r-xp 00000000 fd:01 1234567                            `pwd`/testfile12
72 01100000-01011000 rw-p 00000000 fd:01 1234567                            `pwd`/testfile12
73 2aaaaaaab000-2aaaaaaad000 rw-p 2aaaaaaab000 00:00 0 
74 2aaaaaae2000-2aaaaaae3000 rw-p 2aaaaaae2000 00:00 0 
75 7fff61068000-7fff6107d000 rw-p 7ffffffea000 00:00 0                      [stack]
76 7fff611fe000-7fff61200000 r-xp 7fff611fe000 00:00 0                      [vdso]
77 ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
78 EOF
79
80 testrun_compare ../src/addr2line -S -M testmaps 0x40047c 0x10009db <<\EOF
81 caller+0x14
82 /home/drepper/local/elfutils-build/20050425/v.c:11
83 foo+0xb
84 /home/drepper/local/elfutils-build/20030710/u.c:5
85 EOF
86
87 #       .section .text
88 #       nop #0
89 #sizeless_foo:
90 #       nop #1
91 #       nop #2
92 #sized_bar:
93 #       nop #3
94 #       nop #4
95 #sizeless_baz:
96 #       nop #5
97 #       nop #6
98 #       .size sized_bar, . - sized_bar
99 #       nop #7
100 #       nop #8
101 #sizeless_x:
102 #       nop #9
103 #       .org 0x100
104 #       nop #0
105 #       .globl global_outer
106 #global_outer:
107 #       nop #1
108 #       nop #2
109 #       .globl global_in_global
110 #global_in_global:
111 #       nop #3
112 #       nop #4
113 #       .size global_in_global, . - global_in_global
114 #local_in_global:
115 #       nop #5 
116 #       nop #6 
117 #       .size local_in_global, . - local_in_global
118 #       nop #7
119 #       nop #8
120 #.Lsizeless1:
121 #       nop #9
122 #       nop #10
123 #       .size global_outer, . - global_outer
124 #       nop #11
125 #       .org 0x200
126 #       nop #0
127 #local_outer:
128 #       nop #1
129 #       nop #2
130 #       .globl global_in_local
131 #global_in_local:
132 #       nop #3
133 #       nop #4
134 #       .size global_in_local, . - global_in_local
135 #local_in_local:
136 #       nop #5 
137 #       nop #6 
138 #       .size local_in_local, . - local_in_local
139 #       nop #7
140 #       nop #8
141 #.Lsizeless2:
142 #       nop #9
143 #       nop #10
144 #       .size local_outer, . - local_outer
145 #       nop #11
146 testrun_compare ../src/addr2line -S -e testfile49 \
147                 0 1 2 3 4 5 6 7 8 9 \
148                 0x100 0x101 0x102 0x103 0x104 0x105 \
149                 0x106 0x107 0x108 0x109 0x10a 0x10b \
150                 0x200 0x201 0x202 0x203 0x204 0x205 \
151                 0x206 0x207 0x208 0x209 0x20a 0x20b <<\EOF
152 (.text)+0
153 ??:0
154 sizeless_foo
155 ??:0
156 sizeless_foo+0x1
157 ??:0
158 sized_bar
159 ??:0
160 sized_bar+0x1
161 ??:0
162 sized_bar+0x2
163 ??:0
164 sized_bar+0x3
165 ??:0
166 (.text)+0x7
167 ??:0
168 (.text)+0x8
169 ??:0
170 sizeless_x
171 ??:0
172 sizeless_x+0xf7
173 ??:0
174 global_outer
175 ??:0
176 global_outer+0x1
177 ??:0
178 global_in_global
179 ??:0
180 global_in_global+0x1
181 ??:0
182 global_outer+0x4
183 ??:0
184 global_outer+0x5
185 ??:0
186 global_outer+0x6
187 ??:0
188 global_outer+0x7
189 ??:0
190 global_outer+0x8
191 ??:0
192 global_outer+0x9
193 ??:0
194 (.text)+0x10b
195 ??:0
196 (.text)+0x200
197 ??:0
198 local_outer
199 ??:0
200 local_outer+0x1
201 ??:0
202 global_in_local
203 ??:0
204 global_in_local+0x1
205 ??:0
206 local_in_local
207 ??:0
208 local_in_local+0x1
209 ??:0
210 local_outer+0x6
211 ??:0
212 local_outer+0x7
213 ??:0
214 local_outer+0x8
215 ??:0
216 local_outer+0x9
217 ??:0
218 (.text)+0x20b
219 ??:0
220 EOF
221
222 exit 0