Blame tests/run-addrname-test.sh

Packit Service 97d2fb
#! /bin/sh
Packit Service 97d2fb
# Copyright (C) 2007, 2008 Red Hat, Inc.
Packit Service 97d2fb
# This file is part of elfutils.
Packit Service 97d2fb
#
Packit Service 97d2fb
# This file is free software; you can redistribute it and/or modify
Packit Service 97d2fb
# it under the terms of the GNU General Public License as published by
Packit Service 97d2fb
# the Free Software Foundation; either version 3 of the License, or
Packit Service 97d2fb
# (at your option) any later version.
Packit Service 97d2fb
#
Packit Service 97d2fb
# elfutils is distributed in the hope that it will be useful, but
Packit Service 97d2fb
# WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 97d2fb
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 97d2fb
# GNU General Public License for more details.
Packit Service 97d2fb
#
Packit Service 97d2fb
# You should have received a copy of the GNU General Public License
Packit Service 97d2fb
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
Packit Service 97d2fb
Packit Service 97d2fb
. $srcdir/test-subr.sh
Packit Service 97d2fb
Packit Service 97d2fb
testfiles testfile34 testfile38 testfile41 testfile49
Packit Service 97d2fb
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -f -e testfile34 \
Packit Service 97d2fb
				 0x08048074 0x08048075 0x08048076 \
Packit Service 97d2fb
				 0x08049078 0x08048080 0x08049080 <<\EOF
Packit Service 97d2fb
foo
Packit Service 97d2fb
??:0
Packit Service 97d2fb
bar
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_etext
Packit Service 97d2fb
??:0
Packit Service 97d2fb
data1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
??
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_end
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile38 0x02 0x10a 0x211 0x31a <<\EOF
Packit Service 97d2fb
t1_global_outer+0x2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
t2_global_symbol+0x2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
t3_global_after_0+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
(.text)+0x31a
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile41 0x1 0x104 <<\EOF
Packit Service 97d2fb
small_global_at_large_global+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
small_global_first_at_large_global+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testfiles testfile12 testfile14
Packit Service 97d2fb
tempfiles testmaps
Packit Service 97d2fb
Packit Service 97d2fb
cat > testmaps <
Packit Service 97d2fb
00400000-00401000 r-xp 00000000 fd:01 4006812                            `pwd`/testfile14
Packit Service 97d2fb
00500000-00501000 rw-p 00000000 fd:01 4006812                            `pwd`/testfile14
Packit Service 97d2fb
01000000-01001000 r-xp 00000000 fd:01 1234567				 `pwd`/testfile12
Packit Service 97d2fb
01100000-01011000 rw-p 00000000 fd:01 1234567				 `pwd`/testfile12
Packit Service 97d2fb
2aaaaaaab000-2aaaaaaad000 rw-p 2aaaaaaab000 00:00 0 
Packit Service 97d2fb
2aaaaaae2000-2aaaaaae3000 rw-p 2aaaaaae2000 00:00 0 
Packit Service 97d2fb
7fff61068000-7fff6107d000 rw-p 7ffffffea000 00:00 0                      [stack]
Packit Service 97d2fb
7fff611fe000-7fff61200000 r-xp 7fff611fe000 00:00 0                      [vdso]
Packit Service 97d2fb
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -M testmaps 0x40047c 0x10009db <<\EOF
Packit Service 97d2fb
caller+0x14
Packit Service 97d2fb
/home/drepper/local/elfutils-build/20050425/v.c:11
Packit Service 97d2fb
foo+0xb
Packit Service 97d2fb
/home/drepper/local/elfutils-build/20030710/u.c:5
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
#	.section .text
Packit Service 97d2fb
#	nop #0
Packit Service 97d2fb
#sizeless_foo:
Packit Service 97d2fb
#	nop #1
Packit Service 97d2fb
#	nop #2
Packit Service 97d2fb
#sized_bar:
Packit Service 97d2fb
#	nop #3
Packit Service 97d2fb
#	nop #4
Packit Service 97d2fb
#sizeless_baz:
Packit Service 97d2fb
#	nop #5
Packit Service 97d2fb
#	nop #6
Packit Service 97d2fb
#	.size sized_bar, . - sized_bar
Packit Service 97d2fb
#	nop #7
Packit Service 97d2fb
#	nop #8
Packit Service 97d2fb
#sizeless_x:
Packit Service 97d2fb
#	nop #9
Packit Service 97d2fb
#	.org 0x100
Packit Service 97d2fb
#	nop #0
Packit Service 97d2fb
#	.globl global_outer
Packit Service 97d2fb
#global_outer:
Packit Service 97d2fb
#	nop #1
Packit Service 97d2fb
#	nop #2
Packit Service 97d2fb
#	.globl global_in_global
Packit Service 97d2fb
#global_in_global:
Packit Service 97d2fb
#	nop #3
Packit Service 97d2fb
#	nop #4
Packit Service 97d2fb
#	.size global_in_global, . - global_in_global
Packit Service 97d2fb
#local_in_global:
Packit Service 97d2fb
#	nop #5 
Packit Service 97d2fb
#	nop #6 
Packit Service 97d2fb
#	.size local_in_global, . - local_in_global
Packit Service 97d2fb
#	nop #7
Packit Service 97d2fb
#	nop #8
Packit Service 97d2fb
#.Lsizeless1:
Packit Service 97d2fb
#	nop #9
Packit Service 97d2fb
#	nop #10
Packit Service 97d2fb
#	.size global_outer, . - global_outer
Packit Service 97d2fb
#	nop #11
Packit Service 97d2fb
#	.org 0x200
Packit Service 97d2fb
#	nop #0
Packit Service 97d2fb
#local_outer:
Packit Service 97d2fb
#	nop #1
Packit Service 97d2fb
#	nop #2
Packit Service 97d2fb
#	.globl global_in_local
Packit Service 97d2fb
#global_in_local:
Packit Service 97d2fb
#	nop #3
Packit Service 97d2fb
#	nop #4
Packit Service 97d2fb
#	.size global_in_local, . - global_in_local
Packit Service 97d2fb
#local_in_local:
Packit Service 97d2fb
#	nop #5 
Packit Service 97d2fb
#	nop #6 
Packit Service 97d2fb
#	.size local_in_local, . - local_in_local
Packit Service 97d2fb
#	nop #7
Packit Service 97d2fb
#	nop #8
Packit Service 97d2fb
#.Lsizeless2:
Packit Service 97d2fb
#	nop #9
Packit Service 97d2fb
#	nop #10
Packit Service 97d2fb
#	.size local_outer, . - local_outer
Packit Service 97d2fb
#	nop #11
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile49 \
Packit Service 97d2fb
    		0 1 2 3 4 5 6 7 8 9 \
Packit Service 97d2fb
		0x100 0x101 0x102 0x103 0x104 0x105 \
Packit Service 97d2fb
		0x106 0x107 0x108 0x109 0x10a 0x10b \
Packit Service 97d2fb
		0x200 0x201 0x202 0x203 0x204 0x205 \
Packit Service 97d2fb
		0x206 0x207 0x208 0x209 0x20a 0x20b <<\EOF
Packit Service 97d2fb
(.text)+0
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sizeless_foo
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sizeless_foo+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sized_bar
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sized_bar+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sized_bar+0x2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sized_bar+0x3
Packit Service 97d2fb
??:0
Packit Service 97d2fb
(.text)+0x7
Packit Service 97d2fb
??:0
Packit Service 97d2fb
(.text)+0x8
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sizeless_x
Packit Service 97d2fb
??:0
Packit Service 97d2fb
sizeless_x+0xf7
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_in_global
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_in_global+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x4
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x5
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x6
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x7
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x8
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_outer+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
(.text)+0x10b
Packit Service 97d2fb
??:0
Packit Service 97d2fb
(.text)+0x200
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_outer
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_outer+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_in_local
Packit Service 97d2fb
??:0
Packit Service 97d2fb
global_in_local+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_in_local
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_in_local+0x1
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_outer+0x6
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_outer+0x7
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_outer+0x8
Packit Service 97d2fb
??:0
Packit Service 97d2fb
local_outer+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
(.text)+0x20b
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
#	.macro global label size
Packit Service 97d2fb
#\label:	.globl \label
Packit Service 97d2fb
#	.size \label, \size
Packit Service 97d2fb
#	.endm
Packit Service 97d2fb
#	.macro weak label size
Packit Service 97d2fb
#\label:	.weak \label
Packit Service 97d2fb
#	.size \label, \size
Packit Service 97d2fb
#	.endm
Packit Service 97d2fb
#	.macro local label size
Packit Service 97d2fb
#\label:	.size \label, \size
Packit Service 97d2fb
#	.endm
Packit Service 97d2fb
#	.macro offset val
Packit Service 97d2fb
#	.ifne (. - _start) - \val
Packit Service 97d2fb
#	.err
Packit Service 97d2fb
#	.endif
Packit Service 97d2fb
#	.byte \val
Packit Service 97d2fb
#	.endm
Packit Service 97d2fb
#
Packit Service 97d2fb
#_start:
Packit Service 97d2fb
#	offset 0
Packit Service 97d2fb
#
Packit Service 97d2fb
#	local glocal, 1
Packit Service 97d2fb
#	weak gweak, 1
Packit Service 97d2fb
#	global gglobal1, 2
Packit Service 97d2fb
#	global gglobal2, 1
Packit Service 97d2fb
#	global gglobal3, 1
Packit Service 97d2fb
#	offset 1
Packit Service 97d2fb
#	/* Symbols end here.  */
Packit Service 97d2fb
#	offset 2
Packit Service 97d2fb
#	/* gglobal1 ends here.  */
Packit Service 97d2fb
#	offset 3
Packit Service 97d2fb
#
Packit Service 97d2fb
#	local g0local, 0
Packit Service 97d2fb
#	weak g0weak, 0
Packit Service 97d2fb
#	global g0global1, 0
Packit Service 97d2fb
#	global g0global2, 0
Packit Service 97d2fb
#	offset 4
Packit Service 97d2fb
#
Packit Service 97d2fb
#	local wlocal, 1
Packit Service 97d2fb
#	weak wweak1, 2
Packit Service 97d2fb
#	weak wweak2, 1
Packit Service 97d2fb
#	weak wweak3, 1
Packit Service 97d2fb
#	offset 5
Packit Service 97d2fb
#	/* Symbols end here.  */
Packit Service 97d2fb
#	offset 6
Packit Service 97d2fb
#	/* wweak1 ends here.  */
Packit Service 97d2fb
#	offset 7
Packit Service 97d2fb
#
Packit Service 97d2fb
#	local w0local, 0
Packit Service 97d2fb
#	weak w0weak1, 0
Packit Service 97d2fb
#	weak w0weak2, 0
Packit Service 97d2fb
#	offset 8
Packit Service 97d2fb
#
Packit Service 97d2fb
#	local llocal1, 2
Packit Service 97d2fb
#	local llocal2, 1
Packit Service 97d2fb
#	local llocal3, 1
Packit Service 97d2fb
#	offset 9
Packit Service 97d2fb
#	/* Symbols end here.  */
Packit Service 97d2fb
#	offset 10
Packit Service 97d2fb
#	/* llocal1 ends here.  */
Packit Service 97d2fb
#	offset 11
Packit Service 97d2fb
#
Packit Service 97d2fb
#	local l0local1, 0
Packit Service 97d2fb
#	local l0local2, 0
Packit Service 97d2fb
#	offset 12
Packit Service 97d2fb
testfiles testfile64
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile64 1 4 5 8 9 c <<\EOF
Packit Service 97d2fb
gglobal2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
g0global2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
wweak2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
w0weak2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
llocal2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
l0local2
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testfiles testfile65
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S --core=testfile65 0x7fff94bffa30 <<\EOF
Packit Service 97d2fb
__vdso_time
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
#	.section	".text"
Packit Service 97d2fb
#	.globl _start
Packit Service 97d2fb
#	.section	".opd","aw"
Packit Service 97d2fb
#_start:	.quad	.L._start,.TOC.@tocbase
Packit Service 97d2fb
#	.previous
Packit Service 97d2fb
#	.type	_start, @function
Packit Service 97d2fb
#.L._start:
Packit Service 97d2fb
#	.byte	0x7d, 0x82, 0x10, 0x08
Packit Service 97d2fb
#	.size	_start,.-.L._start
Packit Service 97d2fb
testfiles testfile66 testfile66.core
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -x -e testfile66 _start 0x2d8 0x2db 0x2dc 0x103d0 0x103d3 0x103d4<
Packit Service 97d2fb
_start (.text)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_start (.text)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_start+0x3 (.text)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
()+0x2dc
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_start (.opd)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_start+0x3 (.opd)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
()+0x103d4
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -x -e testfile66 --core=testfile66.core _start 0x461b02d8 0x461c03d0<<\EOF
Packit Service 97d2fb
_start (.text)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_start (.text)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
_start (.opd)
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testfiles testfile69.core testfile69.so
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line --core=./testfile69.core -S 0x7f0bc6a33535 0x7f0bc6a33546 <<\EOF
Packit Service 97d2fb
libstatic+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
libglobal+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testfiles testfile70.exec testfile70.core
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -e testfile70.exec --core=testfile70.core 0x7ff2cfe9b6b5 <<\EOF
Packit Service 97d2fb
main+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S --core=testfile70.core -e testfile70.exec 0x7ff2cfe9b6b5 <<\EOF
Packit Service 97d2fb
main+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
testfiles test-core-lib.so test-core.core test-core.exec
Packit Service 97d2fb
testrun_compare ${abs_top_builddir}/src/addr2line -S -e test-core.exec --core=test-core.core 0x7f67f2aaf619 <<\EOF
Packit Service 97d2fb
libfunc+0x9
Packit Service 97d2fb
??:0
Packit Service 97d2fb
EOF
Packit Service 97d2fb
Packit Service 97d2fb
exit 0