1da0c48c4Sopenharmony_ci#! /bin/sh
2da0c48c4Sopenharmony_ci# Copyright (C) 2018 Red Hat, Inc.
3da0c48c4Sopenharmony_ci# This file is part of elfutils.
4da0c48c4Sopenharmony_ci#
5da0c48c4Sopenharmony_ci# This file is free software; you can redistribute it and/or modify
6da0c48c4Sopenharmony_ci# it under the terms of the GNU General Public License as published by
7da0c48c4Sopenharmony_ci# the Free Software Foundation; either version 3 of the License, or
8da0c48c4Sopenharmony_ci# (at your option) any later version.
9da0c48c4Sopenharmony_ci#
10da0c48c4Sopenharmony_ci# elfutils is distributed in the hope that it will be useful, but
11da0c48c4Sopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of
12da0c48c4Sopenharmony_ci# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13da0c48c4Sopenharmony_ci# GNU General Public License for more details.
14da0c48c4Sopenharmony_ci#
15da0c48c4Sopenharmony_ci# You should have received a copy of the GNU General Public License
16da0c48c4Sopenharmony_ci# along with this program.  If not, see <http://www.gnu.org/licenses/>.
17da0c48c4Sopenharmony_ci
18da0c48c4Sopenharmony_ci. $srcdir/test-subr.sh
19da0c48c4Sopenharmony_ci
20da0c48c4Sopenharmony_ci# See tests/testfile-dwarf-45.source
21da0c48c4Sopenharmony_citestfiles testfile-splitdwarf-4 testfile-splitdwarf-5
22da0c48c4Sopenharmony_citestfiles testfile-hello4.dwo testfile-hello5.dwo
23da0c48c4Sopenharmony_citestfiles testfile-world4.dwo testfile-world5.dwo
24da0c48c4Sopenharmony_ci
25da0c48c4Sopenharmony_ci# DWARF4 GNU DebugFission No real table header.
26da0c48c4Sopenharmony_ci# We don't really need the skeleton, but we don't want any Warnings.
27da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --dwarf-skeleton testfile-splitdwarf-4 --debug-dump=str testfile-hello4.dwo testfile-world4.dwo<<\EOF
28da0c48c4Sopenharmony_ci
29da0c48c4Sopenharmony_citestfile-hello4.dwo:
30da0c48c4Sopenharmony_ci
31da0c48c4Sopenharmony_ci
32da0c48c4Sopenharmony_ciDWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x335:
33da0c48c4Sopenharmony_ciTable at offset 0 
34da0c48c4Sopenharmony_ci Offsets start at 0x0:
35da0c48c4Sopenharmony_ci [ 0] [       0]  "long long int"
36da0c48c4Sopenharmony_ci [ 1] [       e]  "frob"
37da0c48c4Sopenharmony_ci [ 2] [      13]  "long unsigned int"
38da0c48c4Sopenharmony_ci [ 3] [      25]  "/home/mark/src/elfutils/tests"
39da0c48c4Sopenharmony_ci [ 4] [      43]  "wchar_t"
40da0c48c4Sopenharmony_ci [ 5] [      4b]  "main"
41da0c48c4Sopenharmony_ci [ 6] [      50]  "long int"
42da0c48c4Sopenharmony_ci [ 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"
43da0c48c4Sopenharmony_ci [ 8] [      e9]  "long double"
44da0c48c4Sopenharmony_ci [ 9] [      f5]  "hello.c"
45da0c48c4Sopenharmony_ci
46da0c48c4Sopenharmony_ci
47da0c48c4Sopenharmony_ciDWARF section [ 6] '.debug_str.dwo' at offset 0x35d:
48da0c48c4Sopenharmony_ci Offset  String
49da0c48c4Sopenharmony_ci [   0]  "long long int"
50da0c48c4Sopenharmony_ci [   e]  "frob"
51da0c48c4Sopenharmony_ci [  13]  "long unsigned int"
52da0c48c4Sopenharmony_ci [  25]  "/home/mark/src/elfutils/tests"
53da0c48c4Sopenharmony_ci [  43]  "wchar_t"
54da0c48c4Sopenharmony_ci [  4b]  "main"
55da0c48c4Sopenharmony_ci [  50]  "long int"
56da0c48c4Sopenharmony_ci [  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"
57da0c48c4Sopenharmony_ci [  e9]  "long double"
58da0c48c4Sopenharmony_ci [  f5]  "hello.c"
59da0c48c4Sopenharmony_ci
60da0c48c4Sopenharmony_citestfile-world4.dwo:
61da0c48c4Sopenharmony_ci
62da0c48c4Sopenharmony_ci
63da0c48c4Sopenharmony_ciDWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x2e7:
64da0c48c4Sopenharmony_ciTable at offset 0 
65da0c48c4Sopenharmony_ci Offsets start at 0x0:
66da0c48c4Sopenharmony_ci [ 0] [       0]  "long long unsigned int"
67da0c48c4Sopenharmony_ci [ 1] [      17]  "/home/mark/src/elfutils/tests"
68da0c48c4Sopenharmony_ci [ 2] [      35]  "long long int"
69da0c48c4Sopenharmony_ci [ 3] [      43]  "signed char"
70da0c48c4Sopenharmony_ci [ 4] [      4f]  "long int"
71da0c48c4Sopenharmony_ci [ 5] [      58]  "world.c"
72da0c48c4Sopenharmony_ci [ 6] [      60]  "unsigned int"
73da0c48c4Sopenharmony_ci [ 7] [      6d]  "long unsigned int"
74da0c48c4Sopenharmony_ci [ 8] [      7f]  "short unsigned int"
75da0c48c4Sopenharmony_ci [ 9] [      92]  "frob"
76da0c48c4Sopenharmony_ci [10] [      97]  "calc"
77da0c48c4Sopenharmony_ci [11] [      9c]  "unsigned char"
78da0c48c4Sopenharmony_ci [12] [      aa]  "short int"
79da0c48c4Sopenharmony_ci [13] [      b4]  "exit"
80da0c48c4Sopenharmony_ci [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"
81da0c48c4Sopenharmony_ci [15] [     149]  "char"
82da0c48c4Sopenharmony_ci [16] [     14e]  "word"
83da0c48c4Sopenharmony_ci [17] [     153]  "argv"
84da0c48c4Sopenharmony_ci [18] [     158]  "argc"
85da0c48c4Sopenharmony_ci [19] [     15d]  "main"
86da0c48c4Sopenharmony_ci
87da0c48c4Sopenharmony_ci
88da0c48c4Sopenharmony_ciDWARF section [ 6] '.debug_str.dwo' at offset 0x337:
89da0c48c4Sopenharmony_ci Offset  String
90da0c48c4Sopenharmony_ci [   0]  "long long unsigned int"
91da0c48c4Sopenharmony_ci [  17]  "/home/mark/src/elfutils/tests"
92da0c48c4Sopenharmony_ci [  35]  "long long int"
93da0c48c4Sopenharmony_ci [  43]  "signed char"
94da0c48c4Sopenharmony_ci [  4f]  "long int"
95da0c48c4Sopenharmony_ci [  58]  "world.c"
96da0c48c4Sopenharmony_ci [  60]  "unsigned int"
97da0c48c4Sopenharmony_ci [  6d]  "long unsigned int"
98da0c48c4Sopenharmony_ci [  7f]  "short unsigned int"
99da0c48c4Sopenharmony_ci [  92]  "frob"
100da0c48c4Sopenharmony_ci [  97]  "calc"
101da0c48c4Sopenharmony_ci [  9c]  "unsigned char"
102da0c48c4Sopenharmony_ci [  aa]  "short int"
103da0c48c4Sopenharmony_ci [  b4]  "exit"
104da0c48c4Sopenharmony_ci [  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"
105da0c48c4Sopenharmony_ci [ 149]  "char"
106da0c48c4Sopenharmony_ci [ 14e]  "word"
107da0c48c4Sopenharmony_ci [ 153]  "argv"
108da0c48c4Sopenharmony_ci [ 158]  "argc"
109da0c48c4Sopenharmony_ci [ 15d]  "main"
110da0c48c4Sopenharmony_ciEOF
111da0c48c4Sopenharmony_ci
112da0c48c4Sopenharmony_ci# DWARF5 Real table header.
113da0c48c4Sopenharmony_ci# We don't really need the skeleton, but we don't want any Warnings.
114da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/readelf --dwarf-skeleton testfile-splitdwarf-5 --debug-dump=str testfile-hello5.dwo testfile-world5.dwo<<\EOF
115da0c48c4Sopenharmony_ci
116da0c48c4Sopenharmony_citestfile-hello5.dwo:
117da0c48c4Sopenharmony_ci
118da0c48c4Sopenharmony_ci
119da0c48c4Sopenharmony_ciDWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x353:
120da0c48c4Sopenharmony_ciTable at offset 0 
121da0c48c4Sopenharmony_ci
122da0c48c4Sopenharmony_ci Length:              44
123da0c48c4Sopenharmony_ci Offset size:          4
124da0c48c4Sopenharmony_ci DWARF version:        5
125da0c48c4Sopenharmony_ci Padding:              0
126da0c48c4Sopenharmony_ci
127da0c48c4Sopenharmony_ci Offsets start at 0x8:
128da0c48c4Sopenharmony_ci [ 0] [       0]  "long long int"
129da0c48c4Sopenharmony_ci [ 1] [       e]  "frob"
130da0c48c4Sopenharmony_ci [ 2] [      13]  "long unsigned int"
131da0c48c4Sopenharmony_ci [ 3] [      25]  "/home/mark/src/elfutils/tests"
132da0c48c4Sopenharmony_ci [ 4] [      43]  "wchar_t"
133da0c48c4Sopenharmony_ci [ 5] [      4b]  "main"
134da0c48c4Sopenharmony_ci [ 6] [      50]  "long int"
135da0c48c4Sopenharmony_ci [ 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"
136da0c48c4Sopenharmony_ci [ 8] [      e9]  "long double"
137da0c48c4Sopenharmony_ci [ 9] [      f5]  "hello.c"
138da0c48c4Sopenharmony_ci
139da0c48c4Sopenharmony_ci
140da0c48c4Sopenharmony_ciDWARF section [ 6] '.debug_str.dwo' at offset 0x383:
141da0c48c4Sopenharmony_ci Offset  String
142da0c48c4Sopenharmony_ci [   0]  "long long int"
143da0c48c4Sopenharmony_ci [   e]  "frob"
144da0c48c4Sopenharmony_ci [  13]  "long unsigned int"
145da0c48c4Sopenharmony_ci [  25]  "/home/mark/src/elfutils/tests"
146da0c48c4Sopenharmony_ci [  43]  "wchar_t"
147da0c48c4Sopenharmony_ci [  4b]  "main"
148da0c48c4Sopenharmony_ci [  50]  "long int"
149da0c48c4Sopenharmony_ci [  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"
150da0c48c4Sopenharmony_ci [  e9]  "long double"
151da0c48c4Sopenharmony_ci [  f5]  "hello.c"
152da0c48c4Sopenharmony_ci
153da0c48c4Sopenharmony_citestfile-world5.dwo:
154da0c48c4Sopenharmony_ci
155da0c48c4Sopenharmony_ci
156da0c48c4Sopenharmony_ciDWARF section [ 5] '.debug_str_offsets.dwo' at offset 0x313:
157da0c48c4Sopenharmony_ciTable at offset 0 
158da0c48c4Sopenharmony_ci
159da0c48c4Sopenharmony_ci Length:              84
160da0c48c4Sopenharmony_ci Offset size:          4
161da0c48c4Sopenharmony_ci DWARF version:        5
162da0c48c4Sopenharmony_ci Padding:              0
163da0c48c4Sopenharmony_ci
164da0c48c4Sopenharmony_ci Offsets start at 0x8:
165da0c48c4Sopenharmony_ci [ 0] [       0]  "long long unsigned int"
166da0c48c4Sopenharmony_ci [ 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"
167da0c48c4Sopenharmony_ci [ 2] [      a7]  "/home/mark/src/elfutils/tests"
168da0c48c4Sopenharmony_ci [ 3] [      c5]  "long long int"
169da0c48c4Sopenharmony_ci [ 4] [      d3]  "signed char"
170da0c48c4Sopenharmony_ci [ 5] [      df]  "long int"
171da0c48c4Sopenharmony_ci [ 6] [      e8]  "world.c"
172da0c48c4Sopenharmony_ci [ 7] [      f0]  "unsigned int"
173da0c48c4Sopenharmony_ci [ 8] [      fd]  "long unsigned int"
174da0c48c4Sopenharmony_ci [ 9] [     10f]  "short unsigned int"
175da0c48c4Sopenharmony_ci [10] [     122]  "frob"
176da0c48c4Sopenharmony_ci [11] [     127]  "calc"
177da0c48c4Sopenharmony_ci [12] [     12c]  "unsigned char"
178da0c48c4Sopenharmony_ci [13] [     13a]  "short int"
179da0c48c4Sopenharmony_ci [14] [     144]  "exit"
180da0c48c4Sopenharmony_ci [15] [     149]  "char"
181da0c48c4Sopenharmony_ci [16] [     14e]  "word"
182da0c48c4Sopenharmony_ci [17] [     153]  "argv"
183da0c48c4Sopenharmony_ci [18] [     158]  "argc"
184da0c48c4Sopenharmony_ci [19] [     15d]  "main"
185da0c48c4Sopenharmony_ci
186da0c48c4Sopenharmony_ci
187da0c48c4Sopenharmony_ciDWARF section [ 6] '.debug_str.dwo' at offset 0x36b:
188da0c48c4Sopenharmony_ci Offset  String
189da0c48c4Sopenharmony_ci [   0]  "long long unsigned int"
190da0c48c4Sopenharmony_ci [  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"
191da0c48c4Sopenharmony_ci [  a7]  "/home/mark/src/elfutils/tests"
192da0c48c4Sopenharmony_ci [  c5]  "long long int"
193da0c48c4Sopenharmony_ci [  d3]  "signed char"
194da0c48c4Sopenharmony_ci [  df]  "long int"
195da0c48c4Sopenharmony_ci [  e8]  "world.c"
196da0c48c4Sopenharmony_ci [  f0]  "unsigned int"
197da0c48c4Sopenharmony_ci [  fd]  "long unsigned int"
198da0c48c4Sopenharmony_ci [ 10f]  "short unsigned int"
199da0c48c4Sopenharmony_ci [ 122]  "frob"
200da0c48c4Sopenharmony_ci [ 127]  "calc"
201da0c48c4Sopenharmony_ci [ 12c]  "unsigned char"
202da0c48c4Sopenharmony_ci [ 13a]  "short int"
203da0c48c4Sopenharmony_ci [ 144]  "exit"
204da0c48c4Sopenharmony_ci [ 149]  "char"
205da0c48c4Sopenharmony_ci [ 14e]  "word"
206da0c48c4Sopenharmony_ci [ 153]  "argv"
207da0c48c4Sopenharmony_ci [ 158]  "argc"
208da0c48c4Sopenharmony_ci [ 15d]  "main"
209da0c48c4Sopenharmony_ciEOF
210da0c48c4Sopenharmony_ci
211da0c48c4Sopenharmony_ciexit 0
212