summaryrefslogtreecommitdiff
path: root/tests/run-readelf-str.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-readelf-str.sh')
-rwxr-xr-xtests/run-readelf-str.sh211
1 files changed, 211 insertions, 0 deletions
diff --git a/tests/run-readelf-str.sh b/tests/run-readelf-str.sh
new file mode 100755
index 00000000..8b894e8d
--- /dev/null
+++ b/tests/run-readelf-str.sh
@@ -0,0 +1,211 @@
+#! /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