1## Process this file with automake to create Makefile.in
2##
3## Copyright (C) 1996-2019 Red Hat, Inc.
4## This file is part of elfutils.
5##
6## This file is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; either version 3 of the License, or
9## (at your option) any later version.
10##
11## elfutils is distributed in the hope that it will be useful, but
12## WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14## GNU General Public License for more details.
15##
16## You should have received a copy of the GNU General Public License
17## along with this program.  If not, see <http://www.gnu.org/licenses/>.
18##
19include $(top_srcdir)/config/eu.am
20BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
21
22AM_LDFLAGS =
23
24if !STANDALONE
25AM_CPPFLAGS += -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
26	    -I$(top_srcdir)/libdwfl -I$(top_srcdir)/libdwelf \
27	    -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
28	    -I$(top_srcdir)/lib -I..
29AM_LDFLAGS += -Wl,-rpath-link,../libasm:../libdw:../libelf
30endif
31
32if TESTS_RPATH
33AM_LDFLAGS += -Wl,-rpath,$(BUILD_RPATH)
34tests_rpath = yes
35else
36tests_rpath = no
37endif
38
39check_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
40		  showptable update1 update2 update3 update4 test-nlist \
41		  show-die-info get-files next-files get-lines next-lines \
42		  get-pubnames \
43		  get-aranges allfcts line2addr addrscopes funcscopes \
44		  show-abbrev hash newscn ecp dwflmodtest \
45		  find-prologues funcretval allregs rdwrmmap \
46		  dwfl-bug-addr-overflow arls dwfl-bug-fd-leak \
47		  dwfl-addr-sect dwfl-bug-report early-offscn \
48		  dwfl-bug-getmodules dwarf-getmacros dwarf-ranges addrcfi \
49		  dwarfcfi \
50		  test-flag-nobits dwarf-getstring rerequest_tag \
51		  alldts typeiter typeiter2 low_high_pc \
52		  test-elf_cntl_gelf_getshdr dwflsyms dwfllines \
53		  dwfl-report-elf-align dwfl-report-segment-contiguous \
54		  varlocs backtrace backtrace-child \
55		  backtrace-data backtrace-dwarf debuglink debugaltlink \
56		  buildid deleted deleted-lib.so aggregate_size peel_type \
57		  vdsosyms \
58		  getsrc_die strptr newdata elfstrtab dwfl-proc-attach \
59		  elfshphehdr elfstrmerge dwelfgnucompressed elfgetchdr \
60		  elfgetzdata elfputzdata zstrptr emptyfile vendorelf \
61		  fillfile dwarf_default_lower_bound dwarf-die-addr-die \
62		  get-units-invalid get-units-split attr-integrate-skel \
63		  all-dwarf-ranges unit-info next_cfi \
64		  elfcopy addsections xlate_notes elfrdwrnop \
65		  dwelf_elf_e_machine_string \
66		  getphdrnum
67
68asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
69	    asm-tst6 asm-tst7 asm-tst8 asm-tst9
70
71if BIARCH
72check_PROGRAMS += backtrace-child-biarch
73endif
74
75# Substitute $(COMPILE).
76backtrace-child-biarch$(EXEEXT): backtrace-child.c
77	$(AM_V_CC)$(CC_BIARCH) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
78		     $(AM_CPPFLAGS) $(CPPFLAGS) \
79		     $(AM_CFLAGS) $(CFLAGS) $(backtrace_child_CFLAGS) \
80		     $(AM_LDFLAGS) $(LDFLAGS) $(backtrace_child_LDFLAGS) \
81		     -o $@ $<
82
83TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
84	update1 update2 update3 update4 \
85	run-show-die-info.sh run-get-files.sh run-get-lines.sh \
86	run-next-files.sh run-next-lines.sh \
87	run-get-pubnames.sh run-get-aranges.sh run-allfcts.sh \
88	run-show-abbrev.sh run-line2addr.sh hash \
89	run-large-elf-file.sh \
90	newscn run-strip-test.sh run-strip-test2.sh \
91	run-strip-test3.sh run-strip-test4.sh run-strip-test5.sh \
92	run-strip-test6.sh run-strip-test7.sh run-strip-test8.sh \
93	run-strip-test9.sh run-strip-test10.sh run-strip-test11.sh \
94	run-strip-test12.sh \
95	run-strip-nothing.sh run-strip-g.sh run-annobingroup.sh \
96	run-strip-groups.sh run-strip-reloc.sh run-strip-strmerge.sh \
97	run-strip-nobitsalign.sh run-strip-remove-keep.sh \
98	run-unstrip-test.sh run-unstrip-test2.sh run-unstrip-test3.sh \
99	run-unstrip-test4.sh run-unstrip-M.sh run-elfstrmerge-test.sh \
100	run-ecp-test.sh run-ecp-test2.sh run-alldts.sh \
101	run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
102	run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
103	run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
104	run-find-prologues.sh run-allregs.sh run-addrcfi.sh \
105	run-dwarfcfi.sh \
106	run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
107	run-readelf-compressed.sh \
108	run-readelf-const-values.sh \
109	run-varlocs-self.sh run-exprlocs-self.sh \
110	run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
111	run-readelf-test4.sh run-readelf-twofiles.sh \
112	run-readelf-macro.sh run-readelf-loc.sh run-readelf-ranges.sh \
113	run-readelf-aranges.sh run-readelf-line.sh run-readelf-z.sh \
114	run-readelf-n.sh \
115	run-native-test.sh run-bug1-test.sh \
116	run-debuglink.sh run-debugaltlink.sh run-buildid.sh \
117	dwfl-bug-addr-overflow run-addrname-test.sh \
118	dwfl-bug-fd-leak dwfl-bug-report dwfl-report-segment-contiguous \
119	run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
120	run-disasm-x86.sh run-disasm-x86-64.sh \
121	run-early-offscn.sh run-dwarf-getmacros.sh run-dwarf-ranges.sh \
122	run-test-flag-nobits.sh run-prelink-addr-test.sh \
123	run-dwarf-getstring.sh run-rerequest_tag.sh run-typeiter.sh \
124	run-readelf-d.sh run-readelf-gdb_index.sh run-unstrip-n.sh \
125	run-low_high_pc.sh run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \
126	run-test-archive64.sh run-readelf-vmcoreinfo.sh \
127	run-readelf-mixed-corenote.sh run-dwfllines.sh \
128	run-readelf-variant.sh \
129	run-dwfl-report-elf-align.sh run-addr2line-test.sh \
130	run-addr2line-i-test.sh run-addr2line-i-lex-test.sh \
131	run-addr2line-i-demangle-test.sh run-addr2line-alt-debugpath.sh \
132	run-varlocs.sh run-exprlocs.sh run-funcretval.sh \
133	run-backtrace-native.sh run-backtrace-data.sh run-backtrace-dwarf.sh \
134	run-backtrace-native-biarch.sh run-backtrace-native-core.sh \
135	run-backtrace-native-core-biarch.sh run-backtrace-core-x86_64.sh \
136	run-backtrace-fp-core-x86_64.sh \
137	run-backtrace-fp-core-aarch64.sh \
138	run-backtrace-fp-core-ppc64le.sh \
139	run-backtrace-core-x32.sh \
140	run-backtrace-core-i386.sh run-backtrace-fp-core-i386.sh \
141	run-backtrace-core-ppc.sh \
142	run-backtrace-core-s390x.sh run-backtrace-core-s390.sh \
143	run-backtrace-core-aarch64.sh run-backtrace-core-sparc.sh \
144	run-backtrace-demangle.sh run-stack-d-test.sh run-stack-i-test.sh \
145	run-stack-demangled-test.sh run-readelf-zx.sh run-readelf-zp.sh \
146	run-readelf-addr.sh run-readelf-str.sh \
147	run-readelf-types.sh \
148	run-readelf-dwz-multi.sh run-allfcts-multi.sh run-deleted.sh \
149	run-linkmap-cut.sh run-aggregate-size.sh run-peel-type.sh \
150	vdsosyms run-readelf-A.sh \
151	run-getsrc-die.sh run-strptr.sh newdata elfstrtab dwfl-proc-attach \
152	elfshphehdr run-lfs-symbols.sh run-dwelfgnucompressed.sh \
153	run-elfgetchdr.sh \
154	run-elfgetzdata.sh run-elfputzdata.sh run-zstrptr.sh \
155	run-compress-test.sh \
156	run-readelf-zdebug.sh run-readelf-zdebug-rel.sh \
157	emptyfile vendorelf fillfile dwarf_default_lower_bound \
158	run-dwarf-die-addr-die.sh \
159	run-get-units-invalid.sh run-get-units-split.sh \
160	run-attr-integrate-skel.sh \
161	run-all-dwarf-ranges.sh run-unit-info.sh \
162	run-reloc-bpf.sh \
163	run-next-cfi.sh run-next-cfi-self.sh \
164	run-reverse-sections.sh run-reverse-sections-self.sh \
165	run-copyadd-sections.sh run-copymany-sections.sh \
166	run-typeiter-many.sh run-strip-test-many.sh \
167	run-strip-version.sh run-xlate-note.sh \
168	run-readelf-discr.sh \
169	run-dwelf_elf_e_machine_string.sh \
170	run-elfclassify.sh run-elfclassify-self.sh \
171	run-disasm-riscv64.sh \
172	run-pt_gnu_prop-tests.sh \
173	run-getphdrnum.sh
174
175if !BIARCH
176export ELFUTILS_DISABLE_BIARCH = 1
177endif
178
179if !DEMANGLE
180export ELFUTILS_DISABLE_DEMANGLE = 1
181endif
182
183if !STANDALONE
184check_PROGRAMS += msg_tst system-elf-libelf-test
185TESTS += msg_tst system-elf-libelf-test
186endif
187
188if LZMA
189TESTS += run-readelf-s.sh run-dwflsyms.sh
190endif
191
192if HAVE_LIBASM
193check_PROGRAMS += $(asm_TESTS)
194TESTS += $(asm_TESTS) run-disasm-bpf.sh
195endif
196
197if DEBUGINFOD
198check_PROGRAMS += debuginfod_build_id_find
199TESTS += run-debuginfod-find.sh
200endif
201
202EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
203	     run-show-die-info.sh run-get-files.sh run-get-lines.sh \
204	     run-next-files.sh run-next-lines.sh testfile-only-debug-line.bz2 \
205	     run-get-pubnames.sh run-get-aranges.sh \
206	     run-show-abbrev.sh run-strip-test.sh \
207	     run-strip-test2.sh run-ecp-test.sh run-ecp-test2.sh \
208	     testfile.bz2 testfile2.bz2 testfile3.bz2 testfile4.bz2 \
209	     testfile5.bz2 testfile6.bz2 testfile7.bz2 testfile8.bz2 \
210	     testfile9.bz2 testfile10.bz2 testfile11.bz2 testfile12.bz2 \
211	     testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
212	     testfile_class_func.bz2 testfile_nested_funcs.bz2 \
213	     run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
214	     run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
215	     run-strip-test7.sh run-strip-test8.sh run-strip-groups.sh \
216	     run-strip-test9.sh run-strip-test10.sh run-strip-test11.sh \
217	     run-strip-test12.sh \
218	     run-strip-nothing.sh run-strip-remove-keep.sh run-strip-g.sh \
219	     run-annobingroup.sh testfile-annobingroup.o.bz2 \
220	     testfile-annobingroup-i386.o.bz2 \
221	     testfile-annobingroup-x86_64.o.bz2 \
222	     run-strip-strmerge.sh run-strip-nobitsalign.sh \
223	     testfile-nobitsalign.bz2 testfile-nobitsalign.strip.bz2 \
224	     run-strip-reloc.sh hello_i386.ko.bz2 hello_x86_64.ko.bz2 \
225	     hello_ppc64.ko.bz2 hello_s390.ko.bz2 hello_aarch64.ko.bz2 \
226	     hello_m68k.ko.bz2 hello_riscv64.ko.bz2 hello_csky.ko.bz2 \
227	     run-unstrip-test.sh run-unstrip-test2.sh \
228	     testfile-info-link.bz2 testfile-info-link.debuginfo.bz2 \
229	     testfile-info-link.stripped.bz2 run-unstrip-test3.sh \
230	     run-unstrip-test4.sh testfile-strtab.bz2 \
231	     testfile-strtab.stripped.bz2 testfile-strtab.debuginfo.bz2 \
232	     run-unstrip-M.sh run-elfstrmerge-test.sh \
233	     run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
234	     run-ranlib-test3.sh run-ranlib-test4.sh \
235	     run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
236	     run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
237	     run-readelf-compressed.sh \
238	     run-readelf-const-values.sh testfile-const-values.debug.bz2 \
239	     run-addrcfi.sh run-dwarfcfi.sh \
240	     testfile11-debugframe.bz2 testfile12-debugframe.bz2 \
241	     testfileaarch64-debugframe.bz2 testfilearm-debugframe.bz2 \
242	     testfileppc32-debugframe.bz2 testfileppc64-debugframe.bz2 \
243	     testfilecsky.bz2 \
244	     run-varlocs-self.sh run-exprlocs-self.sh \
245	     run-find-prologues.sh run-allregs.sh run-native-test.sh \
246	     run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
247	     run-dwfl-addr-sect.sh run-early-offscn.sh \
248	     run-dwarf-getmacros.sh \
249	     run-dwarf-ranges.sh debug-ranges-no-lowpc.o.bz2 \
250	     testfileranges4.debug.bz2 testfileranges5.debug.bz2 \
251	     testfilesplitranges5.debug.bz2 \
252	     testfile-ranges-hello5.dwo.bz2 testfile-ranges-world5.dwo.bz2 \
253	     run-test-flag-nobits.sh \
254	     run-dwarf-getstring.sh run-rerequest_tag.sh run-alldts.sh \
255	     testfile15.bz2 testfile15.debug.bz2 \
256	     testfile16.bz2 testfile16.debug.bz2 \
257	     testfile17.bz2 testfile17.debug.bz2 \
258	     testfile18.bz2 testfile19.bz2 testfile19.index.bz2 \
259	     testfile20.bz2 testfile20.index.bz2 \
260	     testfile21.bz2 testfile21.index.bz2 \
261	     testfile22.bz2 testfile23.bz2 testfile24.bz2 testfile25.bz2 \
262	     testfile26.bz2 testfile27.bz2 \
263	     coverage.sh test-subr.sh test-wrapper.sh \
264	     run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
265	     run-readelf-test4.sh run-readelf-twofiles.sh \
266	     run-bug1-test.sh testfile28.bz2 testfile28.rdwr.bz2 \
267	     run-debuglink.sh run-debugaltlink.sh run-buildid.sh \
268	     testfile29.bz2 testfile29.rdwr.bz2 \
269	     testfile30.bz2 testfile31.bz2 testfile32.bz2 testfile33.bz2 \
270	     testfile34.bz2 testfile35.bz2 testfile35.debug.bz2 \
271	     testfile36.bz2 testfile36.debug.bz2 \
272	     testfile37.bz2 testfile37.debug.bz2 \
273	     testfile38.bz2 testfile39.bz2 testfile40.bz2 testfile40.debug.bz2 \
274	     testfile41.bz2 testfile42.bz2 testfile42_noshdrs.bz2 \
275	     testfile43.bz2 \
276	     testfile44.S.bz2 testfile44.expect.bz2 run-disasm-x86.sh \
277	     testfile45.S.bz2 testfile45.expect.bz2 run-disasm-x86-64.sh \
278	     testfile46.bz2 testfile47.bz2 testfile48.bz2 testfile48.debug.bz2 \
279	     testfile49.bz2 testfile50.bz2 testfile51.bz2 \
280	     testfile-macros-0xff.bz2 \
281	     run-readelf-macro.sh testfilemacro.bz2 \
282	     run-readelf-loc.sh testfileloc.bz2 \
283	     splitdwarf4-not-split4.dwo.bz2 \
284	     testfile-splitdwarf4-not-split4.debug.bz2 \
285	     run-readelf-ranges.sh \
286	     run-readelf-aranges.sh run-readelf-line.sh testfilefoobarbaz.bz2 \
287	     testfile-ppc64-min-instr.bz2 \
288	     testfile-dwarf-45.source \
289	     testfile-dwarf-4.bz2 testfile-dwarf-5.bz2 \
290	     run-readelf-z.sh \
291	     run-readelf-dwz-multi.sh libtestfile_multi_shared.so.bz2 \
292	     testfile_multi.dwz.bz2 testfile_multi_main.bz2 \
293	     testfile-dwzstr.bz2 testfile-dwzstr.multi.bz2 \
294	     run-readelf-addr.sh run-readelf-str.sh \
295	     run-readelf-types.sh \
296	     run-readelf-n.sh \
297	     testfile-gnu-property-note.bz2 testfile-gnu-property-note.o.bz2 \
298	     testfile_gnu_props.32le.o.bz2 \
299	     testfile_gnu_props.64le.o.bz2 \
300	     testfile_gnu_props.32be.o.bz2 \
301	     testfile_gnu_props.64be.o.bz2 \
302	     run-allfcts-multi.sh \
303	     test-offset-loop.bz2 test-offset-loop.alt.bz2 \
304	     run-prelink-addr-test.sh \
305	     testfile52-32.so.bz2 testfile52-32.so.debug.bz2 \
306	     testfile52-32.prelink.so.bz2 testfile52-32.noshdrs.so.bz2 \
307	     testfile52-64.so.bz2 testfile52-64.so.debug.bz2 \
308	     testfile52-64.prelink.so.bz2 testfile52-64.noshdrs.so.bz2 \
309	     testfile53-32.bz2 testfile53-32.debug.bz2 \
310	     testfile53-32.prelink.bz2 testfile53-64.bz2 \
311	     testfile53-64.debug.bz2 testfile53-64.prelink.bz2 \
312	     testfile54-32.so.bz2 testfile54-32.so.debug.bz2 \
313	     testfile54-32.prelink.so.bz2 testfile54-32.noshdrs.so.bz2 \
314	     testfile54-64.so.bz2 testfile54-64.so.debug.bz2 \
315	     testfile54-64.prelink.so.bz2 testfile54-64.noshdrs.so.bz2 \
316	     testfile55-32.bz2 testfile55-32.debug.bz2 \
317	     testfile55-32.prelink.bz2 testfile55-64.bz2 \
318	     testfile55-64.debug.bz2 testfile55-64.prelink.bz2 \
319	     testfile56.bz2 testfile57.bz2 testfile58.bz2 \
320	     run-typeiter.sh testfile59.bz2 \
321	     run-readelf-d.sh testlib_dynseg.so.bz2 \
322	     testfile-s390x-hash-both.bz2 \
323	     run-readelf-gdb_index.sh testfilegdbindex5.bz2 \
324	     testfilegdbindex7.bz2 \
325	     run-readelf-s.sh testfilebazdbg.bz2 testfilebazdyn.bz2 \
326	     testfilebazmin.bz2 testfilebazdbg.debug.bz2 testfilebazmdb.bz2 \
327	     testfilebaztab.bz2 testfilebasmin.bz2 testfilebaxmin.bz2 \
328	     testfilebazdbg_pl.bz2 testfilebazmin_pl.bz2 \
329	     testfilebazdbg_plr.bz2 testfilebazmin_plr.bz2 \
330	     testfilebazdbgppc64.bz2 testfilebazdbgppc64.debug.bz2 \
331	     testfilebazdbgppc64_pl.bz2 testfilebazdbgppc64_plr.bz2 \
332	     testfilebazdynppc64.bz2 testfilebazmdbppc64.bz2 \
333	     testfilebazminppc64.bz2 testfilebazminppc64_pl.bz2 \
334	     testfilebazminppc64_plr.bz2 testfilebaztabppc64.bz2 \
335	     run-readelf-variant.sh testfile-ada-variant.bz2 \
336	     run-dwflsyms.sh \
337	     run-unstrip-n.sh testcore-rtlib.bz2 testcore-rtlib-ppc.bz2 \
338	     run-low_high_pc.sh testfile_low_high_pc.bz2 \
339	     run-macro-test.sh testfile-macinfo.bz2 testfile-macros.bz2 \
340	     run-elf_cntl_gelf_getshdr.sh \
341	     run-test-archive64.sh testarchive64.a.bz2 \
342	     testfile60.bz2 testfile61.bz2 \
343	     run-readelf-vmcoreinfo.sh testfile62.bz2 \
344	     run-readelf-mixed-corenote.sh testfile63.bz2 testfile64.bz2 \
345	     testfile65.bz2 testfile67.bz2 testfile68.bz2 \
346	     testfile69.core.bz2 testfile69.so.bz2 \
347	     testfile70.core.bz2 testfile70.exec.bz2 testfile71.bz2 \
348	     run-dwfllines.sh run-dwfl-report-elf-align.sh \
349	     testfile-dwfl-report-elf-align-shlib.so.bz2 \
350	     testfilenolines.bz2 test-core-lib.so.bz2 test-core.core.bz2 \
351	     test-core.exec.bz2 run-addr2line-test.sh \
352	     run-addr2line-i-test.sh testfile-inlines.bz2 \
353	     run-addr2line-i-lex-test.sh testfile-lex-inlines.bz2 \
354	     run-addr2line-i-demangle-test.sh run-addr2line-alt-debugpath.sh \
355	     testfileppc32.bz2 testfileppc64.bz2 \
356	     testfiles390.bz2 testfiles390x.bz2 \
357	     testfilearm.bz2 testfileaarch64.bz2 \
358	     run-varlocs.sh run-exprlocs.sh testfile-stridex.bz2 \
359	     testfile_const_type.c testfile_const_type.bz2 \
360	     testfile_implicit_pointer.c testfile_implicit_pointer.bz2 \
361	     testfile_parameter_ref.c testfile_parameter_ref.bz2 \
362	     testfile_entry_value.c testfile_entry_value.bz2 \
363	     testfile_implicit_value.c testfile_implicit_value.bz2 \
364	     testfile_aarch64_core.bz2 testfile_i686_core.bz2 \
365	     addrx_constx-4.dwo.bz2 addrx_constx-5.dwo.bz2 \
366	     testfile-addrx_constx-4.bz2 testfile-addrx_constx-5.bz2 \
367	     run-funcretval.sh funcretval_test.c funcretval_test_aarch64.bz2 \
368	     run-backtrace-data.sh run-backtrace-dwarf.sh cleanup-13.c \
369	     run-backtrace-native.sh run-backtrace-native-biarch.sh \
370	     run-backtrace-native-core.sh run-backtrace-native-core-biarch.sh \
371	     run-backtrace-core-x86_64.sh run-backtrace-core-i386.sh \
372	     run-backtrace-fp-core-x86_64.sh \
373	     run-backtrace-core-x32.sh \
374	     run-backtrace-fp-core-aarch64.sh \
375	     backtrace.aarch64.fp.core.bz2 backtrace.aarch64.fp.exec.bz2 \
376	     backtrace-subr.sh backtrace.i386.core.bz2 backtrace.i386.exec.bz2 \
377	     run-backtrace-fp-core-i386.sh \
378	     backtrace.i386.fp.core.bz2 backtrace.i386.fp.exec.bz2 \
379	     run-backtrace-fp-core-ppc64le.sh \
380	     backtrace.ppc64le.fp.core.bz2 backtrace.ppc64le.fp.exec.bz2 \
381	     backtrace.x86_64.core.bz2 backtrace.x86_64.exec.bz2 \
382	     backtrace.x86_64.fp.core.bz2 backtrace.x86_64.fp.exec.bz2 \
383	     backtrace.ppc.core.bz2 backtrace.ppc.exec.bz2 \
384	     run-backtrace-core-ppc.sh testfile66.bz2 testfile66.core.bz2 \
385	     backtrace.s390x.core.bz2 backtrace.s390x.exec.bz2 \
386	     backtrace.s390.core.bz2 backtrace.s390.exec.bz2 \
387	     run-backtrace-core-s390x.sh run-backtrace-core-s390.sh \
388	     run-backtrace-core-aarch64.sh \
389	     backtrace.aarch64.core.bz2 backtrace.aarch64.exec.bz2 \
390	     run-backtrace-core-sparc.sh \
391	     backtrace.sparc.core.bz2 backtrace.sparc.exec.bz2 \
392	     run-backtrace-demangle.sh testfile-backtrace-demangle.bz2 \
393	     testfile-backtrace-demangle.cc \
394	     testfile-backtrace-demangle.core.bz2 \
395	     run-stack-d-test.sh run-stack-i-test.sh \
396	     run-stack-demangled-test.sh \
397	     testfiledwarfinlines.bz2 testfiledwarfinlines.core.bz2 \
398	     run-readelf-zdebug.sh testfile-debug.bz2 testfile-zdebug.bz2 \
399	     run-readelf-zdebug-rel.sh testfile-debug-rel.o.bz2 \
400	     testfile-debug-rel-g.o.bz2 testfile-debug-rel-z.o.bz2 \
401	     run-readelf-zx.sh run-readelf-zp.sh \
402	     run-deleted.sh run-linkmap-cut.sh linkmap-cut-lib.so.bz2 \
403	     linkmap-cut.bz2 linkmap-cut.core.bz2 \
404	     run-aggregate-size.sh testfile-sizes1.o.bz2 testfile-sizes2.o.bz2 \
405	     testfile-sizes3.o.bz2 testfile-sizes4.o.bz2 testfile-sizes4.s \
406	     run-peel-type.sh \
407	     run-readelf-A.sh testfileppc32attrs.o.bz2 \
408	     testfilesparc64attrs.o.bz2 testfileppc64attrs.o.bz2 \
409	     testfile-debug-types.bz2 \
410	     run-getsrc-die.sh run-strptr.sh \
411	     testfile-x32-core.bz2 testfile-x32.bz2 \
412	     backtrace.x32.core.bz2 backtrace.x32.exec.bz2 \
413	     testfile-x32-s.bz2 testfile-x32-d.bz2 testfile-x32-debug.bz2 \
414	     run-lfs-symbols.sh lfs-symbols testfile-nolfs.bz2 \
415	     testfile-zgnu32.bz2 testfile-zgnu64.bz2 \
416	     testfile-zgnu32be.bz2 testfile-zgnu64be.bz2 \
417	     run-dwelfgnucompressed.sh \
418	     testfile-zgabi32.bz2 testfile-zgabi64.bz2 \
419	     testfile-zgabi32be.bz2 testfile-zgabi64be.bz2 \
420	     run-elfgetchdr.sh run-elfgetzdata.sh run-elfputzdata.sh \
421	     run-zstrptr.sh run-compress-test.sh \
422	     run-disasm-bpf.sh \
423	     testfile-bpf-dis1.expect.bz2 testfile-bpf-dis1.o.bz2 \
424	     run-reloc-bpf.sh \
425	     testfile-bpf-reloc.expect.bz2 testfile-bpf-reloc.o.bz2 \
426	     testfile-m68k-core.bz2 testfile-m68k.bz2 testfile-m68k-s.bz2 \
427	     run-dwarf-die-addr-die.sh \
428	     run-get-units-invalid.sh run-get-units-split.sh \
429	     testfile-hello4.dwo.bz2 testfile-hello5.dwo.bz2 \
430	     testfile-splitdwarf-4.bz2 testfile-splitdwarf-5.bz2 \
431	     testfile-world5.dwo.bz2 testfile-world4.dwo.bz2 \
432	     run-attr-integrate-skel.sh \
433	     run-all-dwarf-ranges.sh testfilesplitranges4.debug.bz2 \
434	     testfile-ranges-hello.dwo.bz2 testfile-ranges-world.dwo.bz2 \
435	     run-unit-info.sh run-next-cfi.sh run-next-cfi-self.sh \
436	     testfile-riscv64.bz2 testfile-riscv64-s.bz2 \
437	     testfile-riscv64-core.bz2 \
438	     run-reverse-sections.sh run-reverse-sections-self.sh \
439	     run-copyadd-sections.sh run-copymany-sections.sh \
440	     run-large-elf-file.sh \
441	     run-typeiter-many.sh run-strip-test-many.sh \
442	     testfile-debug-rel-ppc64-g.o.bz2 \
443	     testfile-debug-rel-ppc64-z.o.bz2 \
444	     testfile-debug-rel-ppc64.o.bz2 \
445	     run-strip-version.sh testfile-version.bz2 \
446	     run-xlate-note.sh \
447	     run-readelf-discr.sh \
448	     testfile-rng.debug.bz2 testfile-urng.debug.bz2 \
449	     run-dwelf_elf_e_machine_string.sh \
450	     run-elfclassify.sh run-elfclassify-self.sh \
451	     run-disasm-riscv64.sh \
452	     testfile-riscv64-dis1.o.bz2 testfile-riscv64-dis1.expect.bz2 \
453             run-debuginfod-find.sh \
454	     debuginfod-rpms/fedora30/hello2-1.0-2.src.rpm \
455	     debuginfod-rpms/fedora30/hello2-1.0-2.x86_64.rpm \
456	     debuginfod-rpms/fedora30/hello2-debuginfo-1.0-2.x86_64.rpm \
457	     debuginfod-rpms/fedora30/hello2-debugsource-1.0-2.x86_64.rpm \
458	     debuginfod-rpms/fedora30/hello2-two-1.0-2.x86_64.rpm \
459	     debuginfod-rpms/fedora30/hello2-two-debuginfo-1.0-2.x86_64.rpm \
460	     debuginfod-rpms/fedora31/hello3-1.0-2.src.rpm \
461	     debuginfod-rpms/fedora31/hello3-1.0-2.x86_64.rpm \
462	     debuginfod-rpms/fedora31/hello3-debuginfo-1.0-2.x86_64.rpm \
463	     debuginfod-rpms/fedora31/hello3-debugsource-1.0-2.x86_64.rpm \
464	     debuginfod-rpms/fedora31/hello3-two-1.0-2.x86_64.rpm \
465	     debuginfod-rpms/fedora31/hello3-two-debuginfo-1.0-2.x86_64.rpm \
466	     debuginfod-rpms/hello2.spec. \
467	     debuginfod-rpms/rhel6/hello2-1.0-2.i686.rpm \
468	     debuginfod-rpms/rhel6/hello2-1.0-2.src.rpm \
469	     debuginfod-rpms/rhel6/hello2-debuginfo-1.0-2.i686.rpm \
470	     debuginfod-rpms/rhel6/hello2-two-1.0-2.i686.rpm \
471	     debuginfod-rpms/rhel7/hello2-1.0-2.src.rpm \
472	     debuginfod-rpms/rhel7/hello2-1.0-2.x86_64.rpm \
473	     debuginfod-rpms/rhel7/hello2-debuginfo-1.0-2.x86_64.rpm \
474	     debuginfod-rpms/rhel7/hello2-two-1.0-2.x86_64.rpm \
475	     debuginfod-rpms/rhel7/hello2-two-1.0-2.x86_64.rpm \
476	     debuginfod-debs/hithere-dbgsym_1.0-1_amd64.ddeb \
477	     debuginfod-debs/hithere_1.0-1.debian.tar.xz \
478	     debuginfod-debs/hithere_1.0-1.dsc \
479	     debuginfod-debs/hithere_1.0-1_amd64.deb \
480	     debuginfod-debs/hithere_1.0.orig.tar.gz \
481	     debuginfod-tars/hello-1-1-x86_64.pkg.tar.xz \
482	     debuginfod-tars/hello-debug-1-1-x86_64.pkg.tar.bz2 \
483	     debuginfod-tars/pacman-sources/PKGBUILD \
484	     debuginfod-tars/pacman-sources/README.md \
485	     debuginfod-tars/pacman-sources/hello.c \
486	     run-pt_gnu_prop-tests.sh \
487	     testfile_pt_gnu_prop.bz2 testfile_pt_gnu_prop32.bz2 \
488	     run-getphdrnum.sh testfile-phdrs.elf.bz2
489
490
491if USE_VALGRIND
492valgrind_cmd='valgrind -q --leak-check=full --error-exitcode=1'
493endif
494
495
496installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir); \
497			      bindir=$(DESTDIR)$(bindir); \
498			      LC_ALL=C; LANG=C; \
499			      VALGRIND_CMD=$(valgrind_cmd); \
500			      abs_srcdir=$(abs_srcdir); \
501			      abs_builddir=$(abs_builddir); \
502			      abs_top_builddir=$(abs_top_builddir); \
503			      export abs_srcdir; export abs_builddir; \
504			      export abs_top_builddir; \
505			      export libdir; export bindir; \
506			      export LC_ALL; export LANG; export VALGRIND_CMD; \
507			      unset DEBUGINFOD_URLS; \
508			      NM=$(NM); export NM;
509installed_LOG_COMPILER = $(abs_srcdir)/test-wrapper.sh \
510			 installed $(tests_rpath) \
511			 '$(program_transform_name)'
512if STANDALONE
513TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT)
514LOG_COMPILER = $(installed_LOG_COMPILER)
515else !STANDALONE
516TESTS_ENVIRONMENT = LC_ALL=C; LANG=C; VALGRIND_CMD=$(valgrind_cmd); \
517		    abs_srcdir=$(abs_srcdir);  abs_builddir=$(abs_builddir); \
518		    abs_top_builddir=$(abs_top_builddir); \
519		    export abs_srcdir; export abs_builddir; \
520		    export abs_top_builddir; \
521		    export LC_ALL; export LANG; export VALGRIND_CMD; \
522		    unset DEBUGINFOD_URLS; \
523		    NM=$(NM); export NM;
524LOG_COMPILER = $(abs_srcdir)/test-wrapper.sh \
525	       $(abs_top_builddir)/libdw:$(abs_top_builddir)/backends:$(abs_top_builddir)/libelf:$(abs_top_builddir)/libasm:$(abs_top_builddir)/debuginfod
526
527installcheck-local:
528	$(MAKE) $(AM_MAKEFLAGS) \
529		TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" \
530		LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS
531endif !STANDALONE
532
533if STANDALONE
534libdw = -ldw
535libelf = -lelf
536libasm = -lasm
537libebl = -lebl
538else !STANDALONE
539if BUILD_STATIC
540libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -lpthread
541libelf = ../libelf/libelf.a -lz
542libasm = ../libasm/libasm.a
543else
544libdw = ../libdw/libdw.so
545libelf = ../libelf/libelf.so
546libasm = ../libasm/libasm.so
547endif
548libebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a
549libeu = ../lib/libeu.a
550endif !STANDALONE
551
552arextract_LDADD = $(libelf)
553arsymtest_LDADD = $(libelf)
554newfile_LDADD = $(libelf)
555saridx_LDADD = $(libeu) $(libelf)
556scnnames_LDADD = $(libelf)
557sectiondump_LDADD = $(libeu) $(libelf)
558showptable_LDADD = $(libelf)
559hash_LDADD = $(libelf)
560test_nlist_LDADD = $(libelf)
561msg_tst_LDADD = $(libelf)
562newscn_LDADD = $(libelf)
563early_offscn_LDADD = $(libeu) $(libelf)
564ecp_LDADD = $(libeu) $(libelf)
565update1_LDADD = $(libelf)
566update2_LDADD = $(libelf)
567update3_LDADD = $(libdw) $(libelf)
568update4_LDADD = $(libdw) $(libelf)
569show_die_info_LDADD = $(libdw) $(libelf)
570get_pubnames_LDADD = $(libdw) $(libelf)
571show_abbrev_LDADD = $(libdw) $(libelf)
572get_lines_LDADD = $(libdw) $(libelf)
573next_lines_LDADD = $(libdw) $(libelf)
574get_files_LDADD = $(libdw) $(libelf)
575next_files_LDADD = $(libdw) $(libelf)
576get_aranges_LDADD = $(libdw) $(libelf)
577allfcts_LDADD = $(libdw) $(libelf)
578line2addr_LDADD = $(libeu) $(libdw) $(argp_LDADD)
579addrscopes_LDADD = $(libeu) $(libdw) $(argp_LDADD)
580funcscopes_LDADD = $(libeu) $(libdw) $(argp_LDADD)
581funcretval_LDADD = $(libeu) $(libdw) $(argp_LDADD)
582allregs_LDADD = $(libeu) $(libdw) $(argp_LDADD)
583find_prologues_LDADD = $(libeu) $(libdw) $(argp_LDADD)
584#show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf)
585asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
586asm_tst2_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
587asm_tst3_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
588asm_tst4_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
589asm_tst5_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
590asm_tst6_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
591asm_tst7_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
592asm_tst8_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
593asm_tst9_LDADD = $(libasm) $(libebl) $(libelf) $(libdw)
594dwflmodtest_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD)
595rdwrmmap_LDADD = $(libeu) $(libelf)
596dwfl_bug_addr_overflow_LDADD = $(libdw) $(libebl) $(libelf)
597arls_LDADD = $(libelf)
598dwfl_bug_fd_leak_LDADD = $(libdw) $(libebl) $(libelf)
599dwfl_bug_report_LDADD = $(libdw) $(libebl) $(libelf)
600dwfl_bug_getmodules_LDADD = $(libeu) $(libdw) $(libebl) $(libelf)
601dwfl_addr_sect_LDADD = $(libeu) $(libdw) $(libebl) $(libelf) $(argp_LDADD)
602dwarf_getmacros_LDADD = $(libdw)
603dwarf_ranges_LDADD = $(libdw)
604dwarf_getstring_LDADD = $(libdw)
605addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(argp_LDADD)
606dwarfcfi_LDADD = $(libeu)  $(libdw) $(libelf)
607test_flag_nobits_LDADD = $(libelf)
608rerequest_tag_LDADD = $(libdw)
609alldts_LDADD = $(libdw) $(libelf)
610typeiter_LDADD = $(libdw) $(libelf)
611typeiter2_LDADD = $(libdw) $(libelf)
612low_high_pc_LDADD = $(libdw) $(libelf) $(argp_LDADD)
613test_elf_cntl_gelf_getshdr_LDADD = $(libelf)
614dwflsyms_LDADD = $(libdw) $(libelf) $(argp_LDADD)
615dwfllines_LDADD = $(libeu) $(libdw) $(libelf) $(argp_LDADD)
616dwfl_report_elf_align_LDADD = $(libeu) $(libdw)
617dwfl_report_segment_contiguous_LDADD = $(libdw) $(libebl) $(libelf)
618varlocs_LDADD = $(libeu) $(libdw) $(libelf) $(argp_LDADD)
619backtrace_LDADD = $(libdw) $(libelf) $(argp_LDADD)
620# backtrace-child-biarch also uses those *_CFLAGS and *_LDLAGS variables:
621backtrace_child_CFLAGS = $(fpie_CFLAGS)
622backtrace_child_LDFLAGS = -pie -pthread
623backtrace_child_biarch_SOURCES = backtrace-child.c
624backtrace_data_LDADD = $(libdw) $(libelf)
625backtrace_dwarf_CFLAGS = -Wno-unused-parameter
626backtrace_dwarf_LDADD = $(libdw) $(libelf)
627debuglink_LDADD = $(libeu) $(libdw) $(libelf)
628debugaltlink_LDADD = $(libeu) $(libdw) $(libelf)
629buildid_LDADD = $(libeu) $(libdw) $(libelf)
630deleted_LDADD = ./deleted-lib.so
631deleted_lib_so_LDFLAGS = -shared
632deleted_lib_so_CFLAGS = $(fpic_CFLAGS) -fasynchronous-unwind-tables
633aggregate_size_LDADD = $(libdw) $(libelf) $(argp_LDADD)
634peel_type_LDADD = $(libdw) $(libelf) $(argp_LDADD)
635vdsosyms_LDADD = $(libdw) $(libelf)
636getsrc_die_LDADD = $(libeu) $(libdw) $(libelf)
637strptr_LDADD = $(libelf)
638newdata_LDADD = $(libelf)
639elfstrtab_LDADD = $(libelf)
640dwfl_proc_attach_LDADD = $(libdw)
641dwfl_proc_attach_LDFLAGS = -pthread $(AM_LDFLAGS)
642elfshphehdr_LDADD =$(libelf)
643elfstrmerge_LDADD = $(libeu) $(libdw) $(libelf)
644dwelfgnucompressed_LDADD = $(libelf) $(libdw)
645elfgetchdr_LDADD = $(libelf) $(libdw)
646elfgetzdata_LDADD = $(libelf)
647elfputzdata_LDADD = $(libelf)
648zstrptr_LDADD = $(libelf)
649emptyfile_LDADD = $(libelf)
650vendorelf_LDADD = $(libelf)
651fillfile_LDADD = $(libelf)
652dwarf_default_lower_bound_LDADD = $(libdw)
653dwarf_die_addr_die_LDADD = $(libdw)
654get_units_invalid_LDADD = $(libdw)
655get_units_split_LDADD = $(libdw)
656attr_integrate_skel_LDADD = $(libdw)
657all_dwarf_ranges_LDADD = $(libdw)
658unit_info_LDADD = $(libdw)
659next_cfi_LDADD = $(libeu)  $(libelf) $(libdw)
660elfcopy_LDADD = $(libelf)
661addsections_LDADD = $(libelf)
662debuginfod_build_id_find_LDADD = $(libelf) $(libdw)
663xlate_notes_LDADD = $(libelf)
664elfrdwrnop_LDADD = $(libelf)
665dwelf_elf_e_machine_string_LDADD = $(libelf) $(libdw)
666getphdrnum_LDADD = $(libelf) $(libdw)
667
668# We want to test the libelf header against the system elf.h header.
669# Don't include any -I CPPFLAGS. Except when we install our own elf.h.
670if !INSTALL_ELFH
671system_elf_libelf_test_CPPFLAGS =
672else
673system_elf_libelf_test_CPPFLAGS = -I$(top_srcdir)/libelf
674endif
675system_elf_libelf_test_LDADD = $(libelf)
676
677# A lock file used to make sure only one test dumps core at a time
678CLEANFILES += core-dump-backtrace.lock
679
680if GCOV
681check: check-am coverage
682.PHONY: coverage
683coverage:
684	-$(srcdir)/coverage.sh
685endif
686