#! /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