1da0c48c4Sopenharmony_ci#!/bin/sh
2da0c48c4Sopenharmony_ci# Copyright (C) 2019 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_cicore_files=\
21da0c48c4Sopenharmony_ci"testfile_aarch64_core \
22da0c48c4Sopenharmony_ci testfile-backtrace-demangle.core \
23da0c48c4Sopenharmony_ci testfiledwarfinlines.core \
24da0c48c4Sopenharmony_ci testfile_i686_core \
25da0c48c4Sopenharmony_ci testfile-m68k-core \
26da0c48c4Sopenharmony_ci testfile-riscv64-core \
27da0c48c4Sopenharmony_ci backtrace.aarch64.core \
28da0c48c4Sopenharmony_ci backtrace.i386.core \
29da0c48c4Sopenharmony_ci backtrace.ppc.core \
30da0c48c4Sopenharmony_ci backtrace.s390.core"
31da0c48c4Sopenharmony_ci
32da0c48c4Sopenharmony_citestfiles $core_files
33da0c48c4Sopenharmony_ci
34da0c48c4Sopenharmony_ciecho "elfclassify --core"
35da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --core $core_files
36da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --core --print $core_files <<EOF
37da0c48c4Sopenharmony_ci$(echo $core_files | sed -e "s/ /\n/g")
38da0c48c4Sopenharmony_ciEOF
39da0c48c4Sopenharmony_ci
40da0c48c4Sopenharmony_ciecho "core files are not programs"
41da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-program $core_files
42da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-program --print $core_files <<EOF
43da0c48c4Sopenharmony_ci$(echo $core_files | sed -e "s/ /\n/g")
44da0c48c4Sopenharmony_ciEOF
45da0c48c4Sopenharmony_ci
46da0c48c4Sopenharmony_ciecho "core files are not shared"
47da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-shared $core_files
48da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-shared --print $core_files <<EOF
49da0c48c4Sopenharmony_ci$(echo $core_files | sed -e "s/ /\n/g")
50da0c48c4Sopenharmony_ciEOF
51da0c48c4Sopenharmony_ci
52da0c48c4Sopenharmony_ciecho "core files are not kernel-modules"
53da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module $core_files
54da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module --print $core_files <<EOF
55da0c48c4Sopenharmony_ci$(echo $core_files | sed -e "s/ /\n/g")
56da0c48c4Sopenharmony_ciEOF
57da0c48c4Sopenharmony_ci
58da0c48c4Sopenharmony_ciecho "core files are not debug-only"
59da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-debug-only $core_files
60da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-debug-only --print $core_files <<EOF
61da0c48c4Sopenharmony_ci$(echo $core_files | sed -e "s/ /\n/g")
62da0c48c4Sopenharmony_ciEOF
63da0c48c4Sopenharmony_ci
64da0c48c4Sopenharmony_ciobject_files=\
65da0c48c4Sopenharmony_ci"debug-ranges-no-lowpc.o \
66da0c48c4Sopenharmony_ci testfile-annobingroup-i386.o \
67da0c48c4Sopenharmony_ci testfile-bpf-dis1.o \
68da0c48c4Sopenharmony_ci testfile-debug-rel-g.o \
69da0c48c4Sopenharmony_ci testfile-gnu-property-note.o"
70da0c48c4Sopenharmony_ci
71da0c48c4Sopenharmony_citestfiles $object_files
72da0c48c4Sopenharmony_ci
73da0c48c4Sopenharmony_ciecho "elfclassify --elf-file"
74da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --elf-file $object_files
75da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --elf-file --print $object_files <<EOF
76da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
77da0c48c4Sopenharmony_ciEOF
78da0c48c4Sopenharmony_ci
79da0c48c4Sopenharmony_ciecho "object files are not archives"
80da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-elf-archive $object_files
81da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-elf-archive --print $object_files <<EOF
82da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
83da0c48c4Sopenharmony_ciEOF
84da0c48c4Sopenharmony_ci
85da0c48c4Sopenharmony_ciecho "object files are not core files"
86da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-core $object_files
87da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-core --print $object_files <<EOF
88da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
89da0c48c4Sopenharmony_ciEOF
90da0c48c4Sopenharmony_ci
91da0c48c4Sopenharmony_ciecho "object files are not program files"
92da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-program $object_files
93da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-program --print $object_files <<EOF
94da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
95da0c48c4Sopenharmony_ciEOF
96da0c48c4Sopenharmony_ci
97da0c48c4Sopenharmony_ciecho "object files are not shared files"
98da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-shared $object_files
99da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-shared --print $object_files <<EOF
100da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
101da0c48c4Sopenharmony_ciEOF
102da0c48c4Sopenharmony_ci
103da0c48c4Sopenharmony_ciecho "object files are not kernel modules"
104da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module $object_files
105da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module --print $object_files <<EOF
106da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
107da0c48c4Sopenharmony_ciEOF
108da0c48c4Sopenharmony_ci
109da0c48c4Sopenharmony_ciecho "object files are not debug-only files"
110da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-debug-only $object_files
111da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-debug-only --print $object_files <<EOF
112da0c48c4Sopenharmony_ci$(echo $object_files | sed -e "s/ /\n/g")
113da0c48c4Sopenharmony_ciEOF
114da0c48c4Sopenharmony_ci
115da0c48c4Sopenharmony_ciar_files="testarchive64.a"
116da0c48c4Sopenharmony_ci
117da0c48c4Sopenharmony_citestfiles $ar_files
118da0c48c4Sopenharmony_ci
119da0c48c4Sopenharmony_ciecho "elfclassify --elf-archive"
120da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --elf-archive $ar_files
121da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --elf-archive --print $ar_files <<EOF
122da0c48c4Sopenharmony_ci$(echo $ar_files | sed -e "s/ /\n/g")
123da0c48c4Sopenharmony_ciEOF
124da0c48c4Sopenharmony_ci
125da0c48c4Sopenharmony_ciecho "archives are not elf-files"
126da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-elf-file $ar_files
127da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-elf-file --print $ar_files <<EOF
128da0c48c4Sopenharmony_ci$(echo $ar_files | sed -e "s/ /\n/g")
129da0c48c4Sopenharmony_ciEOF
130da0c48c4Sopenharmony_ci
131da0c48c4Sopenharmony_ciecho "archives are not core files"
132da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-core $ar_files
133da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-core --print $ar_files <<EOF
134da0c48c4Sopenharmony_ci$(echo $ar_files | sed -e "s/ /\n/g")
135da0c48c4Sopenharmony_ciEOF
136da0c48c4Sopenharmony_ci
137da0c48c4Sopenharmony_ciecho "archives are not program files"
138da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-program $ar_files
139da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-program --print $ar_files <<EOF
140da0c48c4Sopenharmony_ci$(echo $ar_files | sed -e "s/ /\n/g")
141da0c48c4Sopenharmony_ciEOF
142da0c48c4Sopenharmony_ci
143da0c48c4Sopenharmony_ciecho "archives are not shared files"
144da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-shared $ar_files
145da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-shared --print $ar_files <<EOF
146da0c48c4Sopenharmony_ci$(echo $ar_files | sed -e "s/ /\n/g")
147da0c48c4Sopenharmony_ciEOF
148da0c48c4Sopenharmony_ci
149da0c48c4Sopenharmony_cilib_files=\
150da0c48c4Sopenharmony_ci"testfile52-32.noshdrs.so \
151da0c48c4Sopenharmony_ci libtestfile_multi_shared.so \
152da0c48c4Sopenharmony_ci testfile52-32.prelink.so \
153da0c48c4Sopenharmony_ci testfile52-32.so
154da0c48c4Sopenharmony_ci testfile54-64.noshdrs.so \
155da0c48c4Sopenharmony_ci testfile54-64.prelink.so \
156da0c48c4Sopenharmony_ci testfile54-64.so \
157da0c48c4Sopenharmony_ci testlib_dynseg.so"
158da0c48c4Sopenharmony_ci
159da0c48c4Sopenharmony_citestfiles $lib_files
160da0c48c4Sopenharmony_ci
161da0c48c4Sopenharmony_ciecho "elfclassify --shared"
162da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --shared $lib_files
163da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --shared --print $lib_files <<EOF
164da0c48c4Sopenharmony_ci$(echo $lib_files | sed -e "s/ /\n/g")
165da0c48c4Sopenharmony_ciEOF
166da0c48c4Sopenharmony_ci
167da0c48c4Sopenharmony_ciecho "shared files are loadable"
168da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --loadable $lib_files
169da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --loadable --print $lib_files <<EOF
170da0c48c4Sopenharmony_ci$(echo $lib_files | sed -e "s/ /\n/g")
171da0c48c4Sopenharmony_ciEOF
172da0c48c4Sopenharmony_ci
173da0c48c4Sopenharmony_ciecho "shared files are not executables"
174da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-executable $lib_files
175da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-executable --print $lib_files <<EOF
176da0c48c4Sopenharmony_ci$(echo $lib_files | sed -e "s/ /\n/g")
177da0c48c4Sopenharmony_ciEOF
178da0c48c4Sopenharmony_ci
179da0c48c4Sopenharmony_ciecho "shared files are not debug-only"
180da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-debug-only $lib_files
181da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-debug-only --print $lib_files <<EOF
182da0c48c4Sopenharmony_ci$(echo $lib_files | sed -e "s/ /\n/g")
183da0c48c4Sopenharmony_ciEOF
184da0c48c4Sopenharmony_ci
185da0c48c4Sopenharmony_ciecho "shared files are not kernel modules"
186da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module $lib_files
187da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module --print $lib_files <<EOF
188da0c48c4Sopenharmony_ci$(echo $lib_files | sed -e "s/ /\n/g")
189da0c48c4Sopenharmony_ciEOF
190da0c48c4Sopenharmony_ci
191da0c48c4Sopenharmony_ciexe_files=\
192da0c48c4Sopenharmony_ci"backtrace.aarch64.exec \
193da0c48c4Sopenharmony_ci backtrace.i386.exec \
194da0c48c4Sopenharmony_ci backtrace.ppc.exec \
195da0c48c4Sopenharmony_ci backtrace.s390x.exec \
196da0c48c4Sopenharmony_ci testfile70.exec \
197da0c48c4Sopenharmony_ci test-offset-loop \
198da0c48c4Sopenharmony_ci testfilebaztab \
199da0c48c4Sopenharmony_ci testfilebaztabppc64"
200da0c48c4Sopenharmony_ci
201da0c48c4Sopenharmony_citestfiles $exe_files
202da0c48c4Sopenharmony_ci
203da0c48c4Sopenharmony_ciecho "elfclassify --program"
204da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --program $exe_files
205da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --program --print $exe_files <<EOF
206da0c48c4Sopenharmony_ci$(echo $exe_files | sed -e "s/ /\n/g")
207da0c48c4Sopenharmony_ciEOF
208da0c48c4Sopenharmony_ci
209da0c48c4Sopenharmony_ciecho "programs are executables (in this case)"
210da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --executable $exe_files
211da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --executable --print $exe_files <<EOF
212da0c48c4Sopenharmony_ci$(echo $exe_files | sed -e "s/ /\n/g")
213da0c48c4Sopenharmony_ciEOF
214da0c48c4Sopenharmony_ci
215da0c48c4Sopenharmony_ciecho "programs are not shared libraries (in this case)"
216da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-shared $exe_files
217da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-shared --print $exe_files <<EOF
218da0c48c4Sopenharmony_ci$(echo $exe_files | sed -e "s/ /\n/g")
219da0c48c4Sopenharmony_ciEOF
220da0c48c4Sopenharmony_ci
221da0c48c4Sopenharmony_ciecho "programs are not kernel-modules"
222da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module $exe_files
223da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-linux-kernel-module --print $exe_files <<EOF
224da0c48c4Sopenharmony_ci$(echo $exe_files | sed -e "s/ /\n/g")
225da0c48c4Sopenharmony_ciEOF
226da0c48c4Sopenharmony_ci
227da0c48c4Sopenharmony_ciecho "programs are not debug-only"
228da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-debug-only $exe_files
229da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-debug-only --print $exe_files <<EOF
230da0c48c4Sopenharmony_ci$(echo $exe_files | sed -e "s/ /\n/g")
231da0c48c4Sopenharmony_ciEOF
232da0c48c4Sopenharmony_ci
233da0c48c4Sopenharmony_cikmod_files=\
234da0c48c4Sopenharmony_ci"hello_aarch64.ko \
235da0c48c4Sopenharmony_ci hello_csky.ko \
236da0c48c4Sopenharmony_ci hello_i386.ko \
237da0c48c4Sopenharmony_ci hello_m68k.ko \
238da0c48c4Sopenharmony_ci hello_ppc64.ko \
239da0c48c4Sopenharmony_ci hello_riscv64.ko \
240da0c48c4Sopenharmony_ci hello_s390.ko \
241da0c48c4Sopenharmony_ci hello_x86_64.ko"
242da0c48c4Sopenharmony_ci
243da0c48c4Sopenharmony_citestfiles $kmod_files
244da0c48c4Sopenharmony_ci
245da0c48c4Sopenharmony_ciecho "elfclassify --linux-kernel-module"
246da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --linux-kernel-module $kmod_files
247da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --linux-kernel-module --print $kmod_files <<EOF
248da0c48c4Sopenharmony_ci$(echo $kmod_files | sed -e "s/ /\n/g")
249da0c48c4Sopenharmony_ciEOF
250da0c48c4Sopenharmony_ci
251da0c48c4Sopenharmony_ciecho "kmods are unstripped"
252da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --unstripped $kmod_files
253da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --unstripped --print $kmod_files <<EOF
254da0c48c4Sopenharmony_ci$(echo $kmod_files | sed -e "s/ /\n/g")
255da0c48c4Sopenharmony_ciEOF
256da0c48c4Sopenharmony_ci
257da0c48c4Sopenharmony_ciecho "kmods are not debug-only"
258da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-debug-only $kmod_files
259da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-debug-only --print $kmod_files <<EOF
260da0c48c4Sopenharmony_ci$(echo $kmod_files | sed -e "s/ /\n/g")
261da0c48c4Sopenharmony_ciEOF
262da0c48c4Sopenharmony_ci
263da0c48c4Sopenharmony_ciecho "kmods are not loabable (in the normal sense)"
264da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-loadable $kmod_files
265da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-loadable --print $kmod_files <<EOF
266da0c48c4Sopenharmony_ci$(echo $kmod_files | sed -e "s/ /\n/g")
267da0c48c4Sopenharmony_ciEOF
268da0c48c4Sopenharmony_ci
269da0c48c4Sopenharmony_ciecho "gnu compressed kmods are unstripped"
270da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfcompress -t gnu --force $kmod_files
271da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --unstripped $kmod_files
272da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --unstripped --print $kmod_files <<EOF
273da0c48c4Sopenharmony_ci$(echo $kmod_files | sed -e "s/ /\n/g")
274da0c48c4Sopenharmony_ciEOF
275da0c48c4Sopenharmony_ci
276da0c48c4Sopenharmony_cidebug_files=\
277da0c48c4Sopenharmony_ci"testfile15.debug \
278da0c48c4Sopenharmony_ci testfile35.debug \
279da0c48c4Sopenharmony_ci testfile40.debug \
280da0c48c4Sopenharmony_ci testfile48.debug \
281da0c48c4Sopenharmony_ci testfile53-32.debug \
282da0c48c4Sopenharmony_ci testfile53-64.debug \
283da0c48c4Sopenharmony_ci testfilebazdbg.debug \
284da0c48c4Sopenharmony_ci testfilebazdbgppc64.debug \
285da0c48c4Sopenharmony_ci addrx_constx-4.dwo \
286da0c48c4Sopenharmony_ci addrx_constx-5.dwo"
287da0c48c4Sopenharmony_ci
288da0c48c4Sopenharmony_citestfiles $debug_files
289da0c48c4Sopenharmony_ci
290da0c48c4Sopenharmony_ciecho "elfclassify --debug-only"
291da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --debug-only $debug_files
292da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --debug-only --print $debug_files <<EOF
293da0c48c4Sopenharmony_ci$(echo $debug_files | sed -e "s/ /\n/g")
294da0c48c4Sopenharmony_ciEOF
295da0c48c4Sopenharmony_ci
296da0c48c4Sopenharmony_ciecho "debug-only files are unstripped"
297da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --unstripped $debug_files
298da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --unstripped --print $debug_files <<EOF
299da0c48c4Sopenharmony_ci$(echo $debug_files | sed -e "s/ /\n/g")
300da0c48c4Sopenharmony_ciEOF
301da0c48c4Sopenharmony_ci
302da0c48c4Sopenharmony_ciecho "debug-only files are not programs"
303da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-program $debug_files
304da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-program --print $debug_files <<EOF
305da0c48c4Sopenharmony_ci$(echo $debug_files | sed -e "s/ /\n/g")
306da0c48c4Sopenharmony_ciEOF
307da0c48c4Sopenharmony_ci
308da0c48c4Sopenharmony_ciecho "debug-only files are not shared"
309da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --not-shared $debug_files
310da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --not-shared --print $debug_files <<EOF
311da0c48c4Sopenharmony_ci$(echo $debug_files | sed -e "s/ /\n/g")
312da0c48c4Sopenharmony_ciEOF
313da0c48c4Sopenharmony_ci
314da0c48c4Sopenharmony_ciecho "compress the debug sections and try again"
315da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfcompress -t gnu --force $debug_files
316da0c48c4Sopenharmony_ci
317da0c48c4Sopenharmony_ciecho "again unstripped"
318da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --unstripped $debug_files
319da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --unstripped --print $debug_files <<EOF
320da0c48c4Sopenharmony_ci$(echo $debug_files | sed -e "s/ /\n/g")
321da0c48c4Sopenharmony_ciEOF
322da0c48c4Sopenharmony_ci
323da0c48c4Sopenharmony_ciecho "again debug-only"
324da0c48c4Sopenharmony_citestrun ${abs_top_builddir}/src/elfclassify --debug-only $debug_files
325da0c48c4Sopenharmony_citestrun_compare ${abs_top_builddir}/src/elfclassify --debug-only --print $debug_files <<EOF
326da0c48c4Sopenharmony_ci$(echo $debug_files | sed -e "s/ /\n/g")
327da0c48c4Sopenharmony_ciEOF
328