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