1
2include $(top_srcdir)/Makefile.tool-tests.am
3
4SUBDIRS = .
5
6# Arch-specific tests.
7if VGCONF_ARCHS_INCLUDE_X86
8SUBDIRS += x86
9endif
10if VGCONF_ARCHS_INCLUDE_AMD64
11SUBDIRS += amd64
12endif
13if VGCONF_ARCHS_INCLUDE_MIPS32
14SUBDIRS += mips32
15endif
16if VGCONF_ARCHS_INCLUDE_MIPS64
17SUBDIRS += mips64
18endif
19if VGCONF_ARCHS_INCLUDE_PPC32
20SUBDIRS += ppc32
21endif
22if VGCONF_ARCHS_INCLUDE_PPC64
23SUBDIRS += ppc64
24endif
25if VGCONF_ARCHS_INCLUDE_S390X
26SUBDIRS += s390x
27endif
28
29# OS-specific tests
30if VGCONF_OS_IS_LINUX
31SUBDIRS += linux
32endif
33if VGCONF_OS_IS_DARWIN
34SUBDIRS += darwin
35endif
36if VGCONF_OS_IS_SOLARIS
37SUBDIRS += solaris
38endif
39
40# Platform-specific tests
41if VGCONF_PLATFORMS_INCLUDE_X86_LINUX
42SUBDIRS += x86-linux
43endif
44if VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX
45SUBDIRS += amd64-linux
46endif
47if VGCONF_PLATFORMS_INCLUDE_ARM64_LINUX
48SUBDIRS += arm64-linux
49endif
50if VGCONF_PLATFORMS_INCLUDE_X86_SOLARIS
51SUBDIRS += x86-solaris
52endif
53if VGCONF_PLATFORMS_INCLUDE_AMD64_SOLARIS
54SUBDIRS += amd64-solaris
55endif
56
57DIST_SUBDIRS = x86 amd64 ppc32 ppc64 s390x linux \
58		darwin solaris x86-linux amd64-linux arm64-linux \
59		x86-solaris amd64-solaris mips32 mips64 \
60		common .
61
62dist_noinst_SCRIPTS = \
63	filter_addressable \
64	filter_allocs \
65	filter_dw4 \
66	filter_leak_cases_possible \
67	filter_leak_cpp_interior \
68	filter_stderr filter_xml \
69	filter_strchr \
70	filter_varinfo3 \
71	filter_memcheck \
72	filter_overlaperror
73
74noinst_HEADERS = leak.h
75
76EXTRA_DIST = \
77	accounting.stderr.exp accounting.vgtest \
78	addressable.stderr.exp addressable.stdout.exp addressable.vgtest \
79	atomic_incs.stderr.exp atomic_incs.vgtest \
80	atomic_incs.stdout.exp-32bit atomic_incs.stdout.exp-64bit \
81	badaddrvalue.stderr.exp \
82	badaddrvalue.stdout.exp badaddrvalue.vgtest \
83        exit_on_first_error.stderr.exp \
84        exit_on_first_error.vgtest \
85        exit_on_first_error_with_xml.stderr.exp \
86        exit_on_first_error_with_xml.vgtest \
87	badfree-2trace.stderr.exp badfree-2trace.vgtest \
88	badfree.stderr.exp badfree.vgtest \
89	badfree3.stderr.exp badfree3.vgtest \
90	badjump.stderr.exp badjump.vgtest \
91	badjump2.stderr.exp badjump2.vgtest \
92	badjump.stderr.exp-kfail \
93	badjump2.stderr.exp-kfail \
94	badloop.stderr.exp badloop.vgtest \
95	badpoll.stderr.exp badpoll.vgtest \
96	badrw.stderr.exp badrw.vgtest badrw.stderr.exp-s390x-mvc \
97	big_blocks_freed_list.stderr.exp big_blocks_freed_list.vgtest \
98	brk2.stderr.exp brk2.vgtest \
99	buflen_check.stderr.exp buflen_check.vgtest \
100		buflen_check.stderr.exp-kfail \
101	bug155125.stderr.exp bug155125.vgtest \
102	bug287260.stderr.exp bug287260.vgtest \
103	bug340392.stderr.exp bug340392.vgtest \
104	calloc-overflow.stderr.exp calloc-overflow.vgtest\
105	cdebug_zlib.stderr.exp cdebug_zlib.vgtest \
106	cdebug_zlib_gnu.stderr.exp cdebug_zlib_gnu.vgtest \
107	client-msg.stderr.exp client-msg.vgtest \
108	client-msg-as-xml.stderr.exp client-msg-as-xml.vgtest \
109	clientperm.stderr.exp \
110	clientperm.stdout.exp clientperm.vgtest \
111	clireq_nofill.stderr.exp \
112	clireq_nofill.stdout.exp clireq_nofill.vgtest \
113	clo_redzone_default.vgtest clo_redzone_128.vgtest \
114	clo_redzone_default.stderr.exp clo_redzone_128.stderr.exp \
115	cond_ld.vgtest cond_ld.stdout.exp cond_ld.stderr.exp-arm \
116		cond_ld.stderr.exp-64bit-non-arm \
117		cond_ld.stderr.exp-32bit-non-arm \
118	cond_st.vgtest cond_st.stdout.exp cond_st.stderr.exp-arm \
119		cond_st.stderr.exp-64bit-non-arm \
120		cond_st.stderr.exp-32bit-non-arm \
121	leak_cpp_interior.stderr.exp leak_cpp_interior.stderr.exp-64bit leak_cpp_interior.vgtest libstdc++.supp \
122	custom_alloc.stderr.exp custom_alloc.vgtest \
123		custom_alloc.stderr.exp-s390x-mvc \
124	custom-overlap.stderr.exp custom-overlap.vgtest \
125	deep-backtrace.vgtest deep-backtrace.stderr.exp \
126	demangle.stderr.exp demangle.vgtest \
127	big_debuginfo_symbol.stderr.exp big_debuginfo_symbol.vgtest \
128	describe-block.stderr.exp describe-block.vgtest \
129	descr_belowsp.vgtest descr_belowsp.stderr.exp \
130	doublefree.stderr.exp doublefree.vgtest \
131	dw4.vgtest dw4.stderr.exp dw4.stderr.exp-solaris dw4.stdout.exp \
132	err_disable1.vgtest err_disable1.stderr.exp \
133	err_disable2.vgtest err_disable2.stderr.exp \
134	err_disable3.vgtest err_disable3.stderr.exp \
135	err_disable4.vgtest err_disable4.stderr.exp \
136	err_disable_arange1.vgtest err_disable_arange1.stderr.exp \
137	erringfds.stderr.exp erringfds.stdout.exp erringfds.vgtest \
138	error_counts.stderr.exp error_counts.vgtest \
139	errs1.stderr.exp errs1.vgtest \
140	exitprog.stderr.exp exitprog.vgtest \
141	execve1.stderr.exp execve1.vgtest execve1.stderr.exp-kfail \
142	execve2.stderr.exp execve2.vgtest execve2.stderr.exp-kfail \
143	file_locking.stderr.exp file_locking.vgtest \
144	fprw.stderr.exp fprw.stderr.exp-dragonfly fprw.stderr.exp-mips32-be \
145		fprw.stderr.exp-mips32-le fprw.vgtest \
146	fwrite.stderr.exp fwrite.vgtest fwrite.stderr.exp-kfail \
147	gone_abrt_xml.vgtest gone_abrt_xml.stderr.exp gone_abrt_xml.stderr.exp-solaris \
148	holey_buffer_too_small.vgtest holey_buffer_too_small.stdout.exp \
149	holey_buffer_too_small.stderr.exp \
150	inits.stderr.exp inits.vgtest \
151	inline.stderr.exp inline.stdout.exp inline.vgtest \
152	inlinfo.stderr.exp inlinfo.stdout.exp inlinfo.vgtest \
153	inlinfosupp.stderr.exp inlinfosupp.stdout.exp inlinfosupp.supp inlinfosupp.vgtest \
154	inlinfosuppobj.stderr.exp inlinfosuppobj.stdout.exp inlinfosuppobj.supp inlinfosuppobj.vgtest \
155	inltemplate.stderr.exp inltemplate.stdout.exp inltemplate.vgtest \
156		inltemplate.stderr.exp-old-gcc \
157	leak-0.vgtest leak-0.stderr.exp \
158	leak-cases-full.vgtest leak-cases-full.stderr.exp \
159	leak-cases-possible.vgtest leak-cases-possible.stderr.exp \
160	leak-cases-summary.vgtest leak-cases-summary.stderr.exp \
161	leak-cycle.vgtest leak-cycle.stderr.exp \
162	leak-delta.vgtest leak-delta.stderr.exp \
163	leak-pool-0.vgtest leak-pool-0.stderr.exp \
164	leak-pool-1.vgtest leak-pool-1.stderr.exp \
165	leak-pool-2.vgtest leak-pool-2.stderr.exp \
166	leak-pool-3.vgtest leak-pool-3.stderr.exp \
167	leak-pool-4.vgtest leak-pool-4.stderr.exp \
168	leak-pool-5.vgtest leak-pool-5.stderr.exp \
169	leak-autofreepool-0.vgtest leak-autofreepool-0.stderr.exp \
170	leak-autofreepool-1.vgtest leak-autofreepool-1.stderr.exp \
171	leak-autofreepool-2.vgtest leak-autofreepool-2.stderr.exp \
172	leak-autofreepool-4.vgtest leak-autofreepool-4.stderr.exp \
173	leak-autofreepool-5.vgtest leak-autofreepool-5.stderr.exp \
174	leak-autofreepool-6.vgtest leak-autofreepool-6.stderr.exp \
175	leak-tree.vgtest leak-tree.stderr.exp \
176	leak-segv-jmp.vgtest leak-segv-jmp.stderr.exp \
177	lks.vgtest lks.stdout.exp lks.supp lks.stderr.exp \
178	long_namespace_xml.vgtest long_namespace_xml.stdout.exp \
179	long_namespace_xml.stderr.exp \
180	long-supps.vgtest long-supps.stderr.exp long-supps.supp \
181	mallinfo.stderr.exp mallinfo.vgtest \
182	malloc_free_fill.vgtest \
183	malloc_free_fill.stderr.exp \
184	malloc_usable.stderr.exp malloc_usable.vgtest \
185	malloc1.stderr.exp malloc1.vgtest \
186	malloc1_ks_none.stderr.exp malloc1_ks_none.vgtest \
187	malloc1_ks_alloc.stderr.exp malloc1_ks_alloc.vgtest \
188	malloc1_ks_free.stderr.exp malloc1_ks_free.vgtest \
189	malloc1_ks_alloc_and_free.stderr.exp malloc1_ks_alloc_and_free.vgtest \
190	malloc2.stderr.exp malloc2.vgtest \
191	malloc3.stderr.exp malloc3.stdout.exp malloc3.vgtest \
192	manuel1.stderr.exp manuel1.stdout.exp manuel1.vgtest \
193	manuel2.stderr.exp manuel2.stderr.exp64 manuel2.stdout.exp \
194		manuel2.vgtest \
195	manuel3.stderr.exp manuel3.vgtest \
196	match-overrun.stderr.exp match-overrun.vgtest match-overrun.supp \
197	memalign_test.stderr.exp memalign_test.vgtest \
198	memalign2.stderr.exp memalign2.vgtest \
199	memcmptest.stderr.exp memcmptest.stderr.exp2 \
200	memcmptest.stdout.exp memcmptest.vgtest \
201	mempool.stderr.exp mempool.vgtest \
202	mempool2.stderr.exp mempool2.vgtest \
203	metadata.stderr.exp metadata.stdout.exp metadata.vgtest \
204	mismatches.stderr.exp mismatches.vgtest \
205	mmaptest.stderr.exp mmaptest.vgtest \
206	nanoleak_supp.stderr.exp nanoleak_supp.vgtest nanoleak.supp \
207	nanoleak2.stderr.exp nanoleak2.vgtest \
208	new_nothrow.stderr.exp new_nothrow.vgtest \
209	new_override.stderr.exp new_override.stdout.exp new_override.vgtest \
210	noisy_child.vgtest noisy_child.stderr.exp noisy_child.stdout.exp \
211	null_socket.stderr.exp null_socket.vgtest \
212	origin1-yes.vgtest origin1-yes.stdout.exp origin1-yes.stderr.exp \
213	origin2-not-quite.vgtest origin2-not-quite.stdout.exp \
214	origin2-not-quite.stderr.exp \
215	origin3-no.vgtest origin3-no.stdout.exp \
216	origin3-no.stderr.exp \
217	origin4-many.vgtest origin4-many.stdout.exp \
218	origin4-many.stderr.exp \
219	origin5-bz2.vgtest origin5-bz2.stdout.exp \
220	origin5-bz2.stderr.exp-glibc25-x86 \
221	origin5-bz2.stderr.exp-glibc25-amd64 \
222	origin5-bz2.stderr.exp-glibc25-amd64-b \
223	origin5-bz2.stderr.exp-glibc27-ppc64 \
224	origin5-bz2.stderr.exp-glibc212-s390x \
225	origin5-bz2.stderr.exp-glibc234-s390x \
226	origin5-bz2.stderr.exp-dragonfly \
227	origin5-bz2.stderr.exp-glibc218-mips32 \
228	origin6-fp.vgtest origin6-fp.stdout.exp \
229	origin6-fp.stderr.exp-glibc25-amd64 \
230	origin6-fp.stderr.exp-glibc27-ppc64 \
231	overlap.stderr.exp overlap.stdout.exp overlap.vgtest \
232	partiallydefinedeq.vgtest partiallydefinedeq.stderr.exp \
233	partiallydefinedeq.stderr.exp4 \
234	partiallydefinedeq.stderr.exp3 \
235	partiallydefinedeq.stderr.exp2 \
236	partiallydefinedeq.stdout.exp \
237	partial_load_ok.vgtest partial_load_ok.stderr.exp \
238		partial_load_ok.stderr.exp64 \
239		partial_load_ok.stderr.exp-ppc64 \
240	partial_load_dflt.vgtest partial_load_dflt.stderr.exp \
241		partial_load_dflt.stderr.exp64 \
242		partial_load_dflt.stderr.exp-ppc64 \
243	partial_load_dflt.stderr.expr-s390x-mvc \
244	pdb-realloc.stderr.exp pdb-realloc.vgtest \
245	pdb-realloc2.stderr.exp pdb-realloc2.stdout.exp pdb-realloc2.vgtest \
246	pipe.stderr.exp pipe.vgtest \
247	pointer-trace.vgtest \
248	pointer-trace.stderr.exp \
249	post-syscall.stderr.exp post-syscall.vgtest \
250	reach_thread_register.stderr.exp reach_thread_register.vgtest \
251		reach_thread_register.stderr.exp-mips32 \
252		reach_thread_register.stderr.exp-mips64 \
253	realloc1.stderr.exp realloc1.vgtest \
254	realloc2.stderr.exp realloc2.vgtest \
255	realloc3.stderr.exp realloc3.vgtest \
256	recursive-merge.stderr.exp recursive-merge.vgtest \
257	resvn_stack.stderr.exp resvn_stack.vgtest \
258	sbfragment.stdout.exp sbfragment.stderr.exp sbfragment.vgtest \
259	sem.stderr.exp sem.vgtest \
260	sendmsg.stderr.exp sendmsg.stderr.exp-solaris sendmsg.vgtest \
261	    sendmsg.stderr.exp-dragonfly \
262	sh-mem.stderr.exp sh-mem.vgtest \
263	sh-mem-random.stderr.exp sh-mem-random.stdout.exp64 \
264	sh-mem-random.stdout.exp sh-mem-random.vgtest \
265	sigaltstack.stderr.exp sigaltstack.vgtest \
266	sigkill.stderr.exp sigkill.stderr.exp-darwin sigkill.stderr.exp-dragonfly sigkill.stderr.exp-mips32 \
267	    sigkill.stderr.exp-solaris \
268	    sigkill.stderr.exp-glibc-2.28 sigkill.vgtest \
269	signal2.stderr.exp signal2.stdout.exp signal2.vgtest \
270	sigprocmask.stderr.exp sigprocmask.stderr.exp2 sigprocmask.vgtest \
271	static_malloc.stderr.exp static_malloc.vgtest \
272	stpncpy.vgtest stpncpy.stderr.exp stpncpy.stdout.exp \
273	strchr.stderr.exp strchr.stderr.exp2 strchr.stderr.exp3 strchr.vgtest \
274	str_tester.stderr.exp str_tester.vgtest \
275	supp-dir.vgtest supp-dir.stderr.exp \
276	supp_unknown.stderr.exp supp_unknown.vgtest supp_unknown.supp \
277	supp_unknown.stderr.exp-kfail \
278	supp1.stderr.exp supp1.vgtest \
279	supp2.stderr.exp supp2.vgtest \
280	supp.supp \
281	suppfree.stderr.exp suppfree.supp suppfree.vgtest \
282	suppfreecollision.stderr.exp suppfreecollision.supp suppfreecollision.vgtest \
283	supponlyobj.stderr.exp supponlyobj.supp supponlyobj.vgtest \
284	suppsrc_lineno.stderr.exp suppsrc_lineno.stdout.exp suppsrc_lineno.vgtest \
285	suppsrc_lineno.supp \
286	suppsrc_sanlineno.stderr.exp suppsrc_sanlineno.stdout.exp suppsrc_sanlineno.vgtest \
287	suppsrc_sanlineno.supp \
288	suppvarinfo5.stderr.exp suppvarinfo5.supp suppvarinfo5.vgtest \
289	test-plo-no.vgtest test-plo-no.stdout.exp \
290	    test-plo-no.stderr.exp-le64 test-plo-no.stderr.exp-le32 \
291	    test-plo-no.stderr.exp-le32-dragonfly test-plo-no.stderr.exp-le64-dragonfly \
292	    test-plo-no.stderr.exp-s390x-mvc \
293	test-plo-yes.vgtest test-plo-yes.stdout.exp \
294	    test-plo-yes.stderr.exp-le64 test-plo-yes.stderr.exp-le32 \
295	thread_alloca.stderr.exp thread_alloca.vgtest \
296	threadname.vgtest threadname.stderr.exp \
297	threadname_xml.vgtest threadname_xml.stderr.exp \
298	trivialleak.stderr.exp trivialleak.vgtest trivialleak.stderr.exp2 \
299	undef_malloc_args.stderr.exp undef_malloc_args.vgtest \
300	unit_libcbase.stderr.exp unit_libcbase.vgtest \
301	unit_oset.stderr.exp unit_oset.stdout.exp unit_oset.vgtest \
302	varinfo1.vgtest varinfo1.stdout.exp varinfo1.stderr.exp \
303		varinfo1.stderr.exp-ppc64 \
304	varinfo2.vgtest varinfo2.stdout.exp varinfo2.stderr.exp \
305		varinfo2.stderr.exp-ppc64 \
306	varinfo3.vgtest varinfo3.stdout.exp varinfo3.stderr.exp \
307		varinfo3.stderr.exp-ppc64 \
308	varinfo4.vgtest varinfo4.stdout.exp varinfo4.stderr.exp \
309		varinfo4.stderr.exp-ppc64 \
310	varinfo5.vgtest varinfo5.stdout.exp varinfo5.stderr.exp \
311		varinfo5.stderr.exp-ppc64 \
312	varinfo6.vgtest varinfo6.stdout.exp varinfo6.stderr.exp \
313		varinfo6.stderr.exp-ppc64 \
314	varinforestrict.vgtest varinforestrict.stderr.exp \
315	vcpu_bz2.stdout.exp vcpu_bz2.stderr.exp vcpu_bz2.vgtest \
316	vcpu_fbench.stdout.exp vcpu_fbench.stderr.exp vcpu_fbench.vgtest \
317	vcpu_fnfns.stdout.exp vcpu_fnfns.stdout.exp-glibc28-amd64 \
318	vcpu_fnfns.stdout.exp-darwin vcpu_fnfns.stdout.exp-solaris \
319	vcpu_fnfns.stderr.exp vcpu_fnfns.vgtest \
320	wcs.vgtest wcs.stderr.exp wcs.stdout.exp \
321	wrap1.vgtest wrap1.stdout.exp wrap1.stderr.exp \
322	wrap2.vgtest wrap2.stdout.exp wrap2.stderr.exp \
323	wrap3.vgtest wrap3.stdout.exp wrap3.stderr.exp \
324	wrap4.vgtest wrap4.stdout.exp wrap4.stderr.exp \
325	wrap5.vgtest wrap5.stdout.exp wrap5.stderr.exp \
326	wrap6.vgtest wrap6.stdout.exp wrap6.stderr.exp \
327	wrap7.vgtest wrap7.stdout.exp wrap7.stderr.exp \
328	wrap8.vgtest wrap8.stdout.exp wrap8.stderr.exp \
329	wrap8.stdout.exp-ppc64 wrap8.stderr.exp-ppc64 \
330	wrapmalloc.vgtest wrapmalloc.stdout.exp wrapmalloc.stderr.exp \
331	wrapmallocstatic.vgtest wrapmallocstatic.stdout.exp \
332	wrapmallocstatic.stderr.exp \
333	writev1.stderr.exp writev1.stderr.exp-solaris writev1.vgtest \
334	xml1.stderr.exp xml1.stdout.exp xml1.vgtest xml1.stderr.exp-s390x-mvc
335
336check_PROGRAMS = \
337	accounting \
338	addressable \
339	atomic_incs \
340	badaddrvalue badfree badjump badjump2 \
341	badloop \
342	badpoll \
343	badrw \
344	big_blocks_freed_list \
345	brk2 \
346	buflen_check \
347	bug155125 \
348	bug287260 \
349	bug340392 \
350	calloc-overflow \
351	client-msg \
352	clientperm \
353	clireq_nofill \
354	clo_redzone \
355	cond_ld_st \
356	descr_belowsp \
357	leak_cpp_interior \
358	custom_alloc \
359	custom-overlap \
360	demangle \
361	big_debuginfo_symbol \
362	deep-backtrace \
363	describe-block \
364	doublefree error_counts errs1 exitprog execve1 execve2 erringfds \
365	err_disable1 err_disable2 err_disable3 err_disable4 \
366	err_disable_arange1 \
367	file_locking \
368	fprw fwrite inits inline inlinfo inltemplate \
369	holey_buffer_too_small \
370	leak-0 \
371	leak-cases \
372	leak-cycle \
373	leak-delta \
374	leak-pool \
375	leak-autofreepool \
376	leak-tree \
377	leak-segv-jmp \
378	long-supps \
379	mallinfo \
380	malloc_free_fill \
381	malloc_usable malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 \
382	match-overrun \
383	memalign_test memalign2 memcmptest mempool mempool2 mmaptest \
384	mismatches new_override metadata \
385	nanoleak_supp nanoleak2 new_nothrow \
386	noisy_child \
387	null_socket \
388	origin1-yes origin2-not-quite origin3-no \
389	origin4-many origin5-bz2 origin6-fp \
390	overlap \
391	partiallydefinedeq \
392	partial_load pdb-realloc pdb-realloc2 \
393	pipe pointer-trace \
394	post-syscall \
395	realloc1 realloc2 realloc3 \
396	recursive-merge \
397	resvn_stack \
398	sbfragment \
399	sendmsg \
400	sh-mem sh-mem-random \
401	sigaltstack signal2 sigprocmask static_malloc sigkill \
402	strchr \
403	str_tester \
404	supp_unknown supp1 supp2 suppfree \
405	test-plo \
406	trivialleak \
407	thread_alloca \
408	undef_malloc_args \
409	unit_libcbase unit_oset \
410	varinfo1 varinfo2 varinfo3 varinfo4 \
411	varinfo5 varinfo5so.so varinfo6 \
412	varinforestrict \
413	vcpu_fbench vcpu_fnfns \
414	wcs \
415	xml1 \
416	wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
417	wrapmalloc wrapmallocso.so wrapmallocstatic \
418	writev1
419
420if !SOLARIS_SUN_STUDIO_AS
421# Sun Studio assembler fails on "IDENT too long"
422check_PROGRAMS += long_namespace_xml
423endif
424
425if DWARF4
426check_PROGRAMS += dw4
427endif
428
429if GZ_ZLIB
430check_PROGRAMS += cdebug_zlib
431cdebug_zlib_SOURCES = cdebug.c
432cdebug_zlib_CFLAGS = $(AM_CFLAGS) -g -gz=zlib @FLAG_W_NO_UNINITIALIZED@
433endif
434
435if GZ_ZLIB_GNU
436check_PROGRAMS += cdebug_zlib_gnu
437cdebug_zlib_gnu_SOURCES = cdebug.c
438cdebug_zlib_gnu_CFLAGS = $(AM_CFLAGS) -g -gz=zlib-gnu @FLAG_W_NO_UNINITIALIZED@
439endif
440
441if HAVE_GNU_STPNCPY
442check_PROGRAMS += stpncpy
443endif
444
445if HAVE_PTHREAD_SETNAME_NP
446check_PROGRAMS += threadname
447endif
448
449if HAVE_PTHREAD_BARRIER
450check_PROGRAMS += reach_thread_register
451endif
452
453AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
454AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
455
456if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
457#AM_CFLAGS   += -mfloat-abi=softfp
458#AM_CXXFLAGS += -mfloat-abi=softfp
459endif
460
461if VGCONF_OS_IS_DARWIN
462atomic_incs_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic
463else
464atomic_incs_CFLAGS = $(AM_CFLAGS)
465endif
466
467if VGCONF_OS_IS_SOLARIS
468buflen_check_LDADD	= -lsocket -lnsl
469endif
470
471leak_cpp_interior_SOURCES	= leak_cpp_interior.cpp
472
473demangle_SOURCES = demangle.cpp
474
475big_debuginfo_symbol_SOURCES = big_debuginfo_symbol.cpp
476big_debuginfo_symbol_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x
477
478bug340392_CFLAGS        = $(AM_CFLAGS) -O3
479dw4_CFLAGS		= $(AM_CFLAGS) -gdwarf-4 -fdebug-types-section
480
481descr_belowsp_LDADD     = -lpthread
482err_disable3_LDADD 	= -lpthread
483err_disable4_LDADD 	= -lpthread
484err_disable4_CFLAGS	= $(AM_CFLAGS)
485if VGCONF_OS_IS_SOLARIS
486err_disable4_CFLAGS	+= -D_XOPEN_SOURCE=600
487endif
488reach_thread_register_CFLAGS	= $(AM_CFLAGS) -O2
489reach_thread_register_LDADD	= -lpthread
490thread_alloca_LDADD     = -lpthread
491threadname_LDADD 	= -lpthread
492
493error_counts_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
494
495execve1_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
496
497execve2_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
498
499fprw_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
500
501inits_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
502
503inlinfo_CFLAGS = $(AM_CFLAGS) -w
504
505inltemplate_SOURCES = inltemplate.cpp
506inltemplate_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_UNINITIALIZED@
507
508long_namespace_xml_SOURCES = long_namespace_xml.cpp
509
510manuel1_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
511
512memalign2_CFLAGS	= $(AM_CFLAGS)
513if VGCONF_OS_IS_SOLARIS
514memalign2_CFLAGS	+= -D__EXTENSIONS__
515endif
516
517memcmptest_CFLAGS	= $(AM_CFLAGS) -fno-builtin-memcmp
518
519mismatches_SOURCES	= mismatches.cpp
520mismatches_CXXFLAGS	= $(AM_CXXFLAGS) @FLAG_W_NO_MISMATCHED_NEW_DELETE@
521
522new_nothrow_SOURCES 	= new_nothrow.cpp
523new_override_SOURCES 	= new_override.cpp
524
525if VGCONF_OS_IS_SOLARIS
526null_socket_LDADD	= -lsocket -lnsl
527endif
528
529origin1_yes_CFLAGS      = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
530
531origin2_not_quite_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
532
533origin3_no_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
534
535# This requires optimisation in order to get just one resulting error.
536origin4_many_CFLAGS	= $(AM_CFLAGS) -O
537
538# Apply -O so as to run in reasonable time.
539origin5_bz2_CFLAGS	= $(AM_CFLAGS) -O -Wno-inline
540origin6_fp_CFLAGS	= $(AM_CFLAGS) -O
541
542# Don't allow GCC to inline memcpy() and strcpy(),
543# because then we can't intercept it
544overlap_CFLAGS		= $(AM_CFLAGS) -fno-builtin-memcpy -fno-builtin-strcpy
545
546resvn_stack_CFLAGS      = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
547
548sendmsg_CFLAGS		= $(AM_CFLAGS)
549if VGCONF_OS_IS_SOLARIS
550sendmsg_CFLAGS		+= -D_XOPEN_SOURCE=600
551sendmsg_LDADD		= -lsocket -lnsl
552endif
553
554str_tester_CFLAGS	= $(AM_CFLAGS) -Wno-shadow \
555			  @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
556
557supp_CFLAGS             = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
558
559supp_unknown_SOURCES	= badjump.c
560supp_unknown_CFLAGS     = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
561
562supp1_SOURCES		= supp.c
563supp1_CFLAGS            = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
564
565supp2_SOURCES		= supp.c
566supp2_CFLAGS            = $(AM_CFLAGS) @FLAG_W_NO_UNINITIALIZED@
567
568vcpu_bz2_CFLAGS		= $(AM_CFLAGS) -O2
569vcpu_fbench_CFLAGS	= $(AM_CFLAGS) -O2
570vcpu_fnfns_CFLAGS	= $(AM_CFLAGS) -O2
571vcpu_fnfns_LDADD	= -lm
572wrap6_CFLAGS		= $(AM_CFLAGS) -O2
573
574# To make it a bit more realistic, have some optimisation enabled
575# for the varinfo tests.  We still expect sane results.
576varinfo1_CFLAGS		= $(AM_CFLAGS) -O
577varinfo2_CFLAGS		= $(AM_CFLAGS) -O -Wno-shadow
578varinfo3_CFLAGS		= $(AM_CFLAGS) -O
579varinfo4_CFLAGS		= $(AM_CFLAGS) -O
580varinfo5_CFLAGS		= $(AM_CFLAGS) -O
581varinfo6_CFLAGS		= $(AM_CFLAGS) -O
582
583# Build shared object for varinfo5
584varinfo5_SOURCES        = varinfo5.c
585varinfo5_DEPENDENCIES   = varinfo5so.so
586if VGCONF_OS_IS_DARWIN
587 varinfo5_LDADD         = `pwd`/varinfo5so.so
588 varinfo5_LDFLAGS       = $(AM_FLAG_M3264_PRI)
589else
590 varinfo5_LDADD         = varinfo5so.so
591 varinfo5_LDFLAGS       = $(AM_FLAG_M3264_PRI) \
592				-Wl,-rpath,$(top_builddir)/memcheck/tests
593endif
594
595varinfo5so_so_SOURCES   = varinfo5so.c
596varinfo5so_so_CFLAGS    = $(AM_CFLAGS) -fpic -O -Wno-shadow
597if VGCONF_OS_IS_DARWIN
598 varinfo5so_so_LDFLAGS  = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
599				-dynamiclib -all_load
600else
601 varinfo5so_so_LDFLAGS  = -fpic $(AM_FLAG_M3264_PRI) -shared \
602				-Wl,-soname -Wl,varinfo5so.so
603endif
604varinforestrict_CFLAGS	= $(AM_CFLAGS) -O0 -g
605
606# Build shared object for wrap7
607wrap7_SOURCES           = wrap7.c
608wrap7_DEPENDENCIES      = wrap7so.so
609if VGCONF_OS_IS_DARWIN
610 wrap7_LDADD            = `pwd`/wrap7so.so
611 wrap7_LDFLAGS          = $(AM_FLAG_M3264_PRI)
612else
613 wrap7_LDADD            = wrap7so.so
614 wrap7_LDFLAGS          = $(AM_FLAG_M3264_PRI) \
615				-Wl,-rpath,$(top_builddir)/memcheck/tests
616endif
617
618wrap7so_so_SOURCES      = wrap7so.c
619wrap7so_so_CFLAGS       = $(AM_CFLAGS) -fpic
620if VGCONF_OS_IS_DARWIN
621 wrap7so_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
622				-dynamiclib -all_load
623else
624 wrap7so_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -shared \
625				-Wl,-soname -Wl,wrap7so.so
626endif
627
628# Build shared object for wrapmalloc
629wrapmalloc_SOURCES           = wrapmalloc.c
630wrapmalloc_DEPENDENCIES      = wrapmallocso.so
631if VGCONF_OS_IS_DARWIN
632 wrapmalloc_LDADD            = `pwd`/wrapmallocso.so
633 wrapmalloc_LDFLAGS          = $(AM_FLAG_M3264_PRI)
634else
635 wrapmalloc_LDADD            = wrapmallocso.so
636 wrapmalloc_LDFLAGS          = $(AM_FLAG_M3264_PRI) \
637				-Wl,-rpath,$(top_builddir)/memcheck/tests
638endif
639
640wrapmallocso_so_SOURCES      = wrapmallocso.c
641wrapmallocso_so_CFLAGS       = $(AM_CFLAGS) -fpic
642if VGCONF_OS_IS_DARWIN
643 wrapmallocso_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
644				-dynamiclib -all_load
645else
646 wrapmallocso_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -shared \
647				-Wl,-soname -Wl,wrapmallocso.so
648endif
649
650xml1_CFLAGS             = $(AM_CFLAGS) -D_GNU_SOURCE
651