212 lines
6.6 KiB
Bash
212 lines
6.6 KiB
Bash
|
#! /bin/sh
|
||
|
# Copyright (C) 2018 Red Hat, Inc.
|
||
|
# This file is part of elfutils.
|
||
|
#
|
||
|
# This file is free software; you can redistribute it and/or modify
|
||
|
# it under the terms of the GNU General Public License as published by
|
||
|
# the Free Software Foundation; either version 3 of the License, or
|
||
|
# (at your option) any later version.
|
||
|
#
|
||
|
# elfutils is distributed in the hope that it will be useful, but
|
||
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
# GNU General Public License for more details.
|
||
|
#
|
||
|
# You should have received a copy of the GNU General Public License
|
||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
|
||
|
. $srcdir/test-subr.sh
|
||
|
|
||
|
# See tests/testfile-dwarf-45.source
|
||
|
testfiles testfile-splitdwarf-4 testfile-splitdwarf-5
|
||
|
testfiles testfile-hello4.dwo testfile-hello5.dwo
|
||
|
testfiles testfile-world4.dwo testfile-world5.dwo
|
||
|
|
||
|
# DWARF4 GNU DebugFission No real table header.
|
||
|
# We don't really need the skeleton, but we don't want any Warnings.
|
||
|
testrun_compare ${abs_top_builddir}/src/readelf --dwarf-skeleton testfile-splitdwarf-4 --debug-dump=str testfile-hello4.dwo testfile-world4.dwo<<\EOF
|
||
|
|
||
|
testfile-hello4.dwo:
|
||
|
|
||
|
|
||
|
DWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x335:
|
||
|
Table at offset 0
|
||
|
Offsets start at 0x0:
|
||
|
[ 0] [ 0] "long long int"
|
||
|
[ 1] [ e] "frob"
|
||
|
[ 2] [ 13] "long unsigned int"
|
||
|
[ 3] [ 25] "/home/mark/src/elfutils/tests"
|
||
|
[ 4] [ 43] "wchar_t"
|
||
|
[ 5] [ 4b] "main"
|
||
|
[ 6] [ 50] "long int"
|
||
|
[ 7] [ 59] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-4 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ 8] [ e9] "long double"
|
||
|
[ 9] [ f5] "hello.c"
|
||
|
|
||
|
|
||
|
DWARF section [ 6] '.debug_str.dwo' at offset 0x35d:
|
||
|
Offset String
|
||
|
[ 0] "long long int"
|
||
|
[ e] "frob"
|
||
|
[ 13] "long unsigned int"
|
||
|
[ 25] "/home/mark/src/elfutils/tests"
|
||
|
[ 43] "wchar_t"
|
||
|
[ 4b] "main"
|
||
|
[ 50] "long int"
|
||
|
[ 59] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-4 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ e9] "long double"
|
||
|
[ f5] "hello.c"
|
||
|
|
||
|
testfile-world4.dwo:
|
||
|
|
||
|
|
||
|
DWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x2e7:
|
||
|
Table at offset 0
|
||
|
Offsets start at 0x0:
|
||
|
[ 0] [ 0] "long long unsigned int"
|
||
|
[ 1] [ 17] "/home/mark/src/elfutils/tests"
|
||
|
[ 2] [ 35] "long long int"
|
||
|
[ 3] [ 43] "signed char"
|
||
|
[ 4] [ 4f] "long int"
|
||
|
[ 5] [ 58] "world.c"
|
||
|
[ 6] [ 60] "unsigned int"
|
||
|
[ 7] [ 6d] "long unsigned int"
|
||
|
[ 8] [ 7f] "short unsigned int"
|
||
|
[ 9] [ 92] "frob"
|
||
|
[10] [ 97] "calc"
|
||
|
[11] [ 9c] "unsigned char"
|
||
|
[12] [ aa] "short int"
|
||
|
[13] [ b4] "exit"
|
||
|
[14] [ b9] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-4 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[15] [ 149] "char"
|
||
|
[16] [ 14e] "word"
|
||
|
[17] [ 153] "argv"
|
||
|
[18] [ 158] "argc"
|
||
|
[19] [ 15d] "main"
|
||
|
|
||
|
|
||
|
DWARF section [ 6] '.debug_str.dwo' at offset 0x337:
|
||
|
Offset String
|
||
|
[ 0] "long long unsigned int"
|
||
|
[ 17] "/home/mark/src/elfutils/tests"
|
||
|
[ 35] "long long int"
|
||
|
[ 43] "signed char"
|
||
|
[ 4f] "long int"
|
||
|
[ 58] "world.c"
|
||
|
[ 60] "unsigned int"
|
||
|
[ 6d] "long unsigned int"
|
||
|
[ 7f] "short unsigned int"
|
||
|
[ 92] "frob"
|
||
|
[ 97] "calc"
|
||
|
[ 9c] "unsigned char"
|
||
|
[ aa] "short int"
|
||
|
[ b4] "exit"
|
||
|
[ b9] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-4 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ 149] "char"
|
||
|
[ 14e] "word"
|
||
|
[ 153] "argv"
|
||
|
[ 158] "argc"
|
||
|
[ 15d] "main"
|
||
|
EOF
|
||
|
|
||
|
# DWARF5 Real table header.
|
||
|
# We don't really need the skeleton, but we don't want any Warnings.
|
||
|
testrun_compare ${abs_top_builddir}/src/readelf --dwarf-skeleton testfile-splitdwarf-5 --debug-dump=str testfile-hello5.dwo testfile-world5.dwo<<\EOF
|
||
|
|
||
|
testfile-hello5.dwo:
|
||
|
|
||
|
|
||
|
DWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x353:
|
||
|
Table at offset 0
|
||
|
|
||
|
Length: 44
|
||
|
Offset size: 4
|
||
|
DWARF version: 5
|
||
|
Padding: 0
|
||
|
|
||
|
Offsets start at 0x8:
|
||
|
[ 0] [ 0] "long long int"
|
||
|
[ 1] [ e] "frob"
|
||
|
[ 2] [ 13] "long unsigned int"
|
||
|
[ 3] [ 25] "/home/mark/src/elfutils/tests"
|
||
|
[ 4] [ 43] "wchar_t"
|
||
|
[ 5] [ 4b] "main"
|
||
|
[ 6] [ 50] "long int"
|
||
|
[ 7] [ 59] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-5 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ 8] [ e9] "long double"
|
||
|
[ 9] [ f5] "hello.c"
|
||
|
|
||
|
|
||
|
DWARF section [ 6] '.debug_str.dwo' at offset 0x383:
|
||
|
Offset String
|
||
|
[ 0] "long long int"
|
||
|
[ e] "frob"
|
||
|
[ 13] "long unsigned int"
|
||
|
[ 25] "/home/mark/src/elfutils/tests"
|
||
|
[ 43] "wchar_t"
|
||
|
[ 4b] "main"
|
||
|
[ 50] "long int"
|
||
|
[ 59] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-5 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ e9] "long double"
|
||
|
[ f5] "hello.c"
|
||
|
|
||
|
testfile-world5.dwo:
|
||
|
|
||
|
|
||
|
DWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x313:
|
||
|
Table at offset 0
|
||
|
|
||
|
Length: 84
|
||
|
Offset size: 4
|
||
|
DWARF version: 5
|
||
|
Padding: 0
|
||
|
|
||
|
Offsets start at 0x8:
|
||
|
[ 0] [ 0] "long long unsigned int"
|
||
|
[ 1] [ 17] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-5 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ 2] [ a7] "/home/mark/src/elfutils/tests"
|
||
|
[ 3] [ c5] "long long int"
|
||
|
[ 4] [ d3] "signed char"
|
||
|
[ 5] [ df] "long int"
|
||
|
[ 6] [ e8] "world.c"
|
||
|
[ 7] [ f0] "unsigned int"
|
||
|
[ 8] [ fd] "long unsigned int"
|
||
|
[ 9] [ 10f] "short unsigned int"
|
||
|
[10] [ 122] "frob"
|
||
|
[11] [ 127] "calc"
|
||
|
[12] [ 12c] "unsigned char"
|
||
|
[13] [ 13a] "short int"
|
||
|
[14] [ 144] "exit"
|
||
|
[15] [ 149] "char"
|
||
|
[16] [ 14e] "word"
|
||
|
[17] [ 153] "argv"
|
||
|
[18] [ 158] "argc"
|
||
|
[19] [ 15d] "main"
|
||
|
|
||
|
|
||
|
DWARF section [ 6] '.debug_str.dwo' at offset 0x36b:
|
||
|
Offset String
|
||
|
[ 0] "long long unsigned int"
|
||
|
[ 17] "GNU C17 9.0.0 20180515 (experimental) -mtune=generic -march=x86-64 -gdwarf-5 -gsplit-dwarf -gno-as-loc-support -gno-variable-location-views -O2"
|
||
|
[ a7] "/home/mark/src/elfutils/tests"
|
||
|
[ c5] "long long int"
|
||
|
[ d3] "signed char"
|
||
|
[ df] "long int"
|
||
|
[ e8] "world.c"
|
||
|
[ f0] "unsigned int"
|
||
|
[ fd] "long unsigned int"
|
||
|
[ 10f] "short unsigned int"
|
||
|
[ 122] "frob"
|
||
|
[ 127] "calc"
|
||
|
[ 12c] "unsigned char"
|
||
|
[ 13a] "short int"
|
||
|
[ 144] "exit"
|
||
|
[ 149] "char"
|
||
|
[ 14e] "word"
|
||
|
[ 153] "argv"
|
||
|
[ 158] "argc"
|
||
|
[ 15d] "main"
|
||
|
EOF
|
||
|
|
||
|
exit 0
|