blob: 0485a6719d429011334db6a1e4103272a4750943 [file] [log] [blame]
njna5f1bcd2004-11-27 16:47:42 +00001SUBDIRS = ${VG_ARCH} .
2DIST_SUBDIRS = ${VG_ARCH_ALL} .
njn25e49d8e72002-09-23 09:36:25 +00003
njnd0eab5f2003-09-30 16:52:47 +00004noinst_SCRIPTS = filter_allocs filter_leak_check_size \
nethercote4a02e1e2004-10-20 11:43:01 +00005 filter_stderr filter_stderr_backtrace
daywalker677e0612003-04-24 00:40:38 +00006
njna63e2d72003-06-12 14:13:05 +00007EXTRA_DIST = $(noinst_SCRIPTS) \
sewardjb5f6f512005-03-10 23:59:00 +00008 addressable.stderr.exp addressable.stdout.exp addressable.vgtest \
njnd8ced862003-04-08 00:47:05 +00009 badaddrvalue.stderr.exp \
njn254d542432002-09-23 16:09:39 +000010 badaddrvalue.stdout.exp badaddrvalue.vgtest \
11 badfree-2trace.stderr.exp badfree-2trace.vgtest \
12 badfree.stderr.exp badfree.vgtest \
13 badjump.stderr.exp badjump.vgtest \
nethercote4d714382004-10-13 09:47:24 +000014 badjump2.stderr.exp badjump2.vgtest \
njn254d542432002-09-23 16:09:39 +000015 badloop.stderr.exp badloop.vgtest \
nethercoteeb0592d2004-11-05 12:02:27 +000016 badpoll.stderr.exp badpoll.vgtest \
njnc2699f62003-09-05 23:29:33 +000017 badrw.stderr.exp badrw.vgtest \
njn7360f8e2003-09-04 20:57:51 +000018 brk.stderr.exp brk.vgtest \
nethercotece471262004-08-25 13:43:44 +000019 brk2.stderr.exp brk2.vgtest \
sewardjf0814a02005-05-04 12:27:48 +000020 buflen_check.stderr.exp buflen_check.stderr.exp2 buflen_check.vgtest \
njnd8ced862003-04-08 00:47:05 +000021 clientperm.stderr.exp \
njn4d5490d2002-10-04 14:16:38 +000022 clientperm.stdout.exp clientperm.vgtest \
njn10785452003-05-20 16:38:24 +000023 custom_alloc.stderr.exp custom_alloc.vgtest \
sewardjb5f6f512005-03-10 23:59:00 +000024 describe-block.stderr.exp describe-block.vgtest \
njn254d542432002-09-23 16:09:39 +000025 doublefree.stderr.exp doublefree.vgtest \
njn1140b242003-04-22 20:58:02 +000026 error_counts.stderr.exp error_counts.stdout.exp error_counts.vgtest \
njn254d542432002-09-23 16:09:39 +000027 errs1.stderr.exp errs1.vgtest \
28 exitprog.stderr.exp exitprog.vgtest \
nethercotea81e9162004-02-12 14:34:14 +000029 execve.stderr.exp execve.vgtest \
nethercotef6a1d502004-08-09 12:21:57 +000030 execve2.stderr.exp execve2.vgtest \
njn254d542432002-09-23 16:09:39 +000031 fprw.stderr.exp fprw.vgtest \
32 fwrite.stderr.exp fwrite.stdout.exp fwrite.vgtest \
33 inits.stderr.exp inits.vgtest \
34 inline.stderr.exp inline.stdout.exp inline.vgtest \
sewardjb5f6f512005-03-10 23:59:00 +000035 leak-0.vgtest leak-0.stderr.exp \
sewardj1f443862005-05-05 01:29:11 +000036 leak-cycle.vgtest leak-cycle.stderr.exp leak-cycle.stderr.exp64 \
sewardjb5f6f512005-03-10 23:59:00 +000037 leak-tree.vgtest leak-tree.stderr.exp \
38 leak-regroot.vgtest leak-regroot.stderr.exp \
39 leakotron.vgtest leakotron.stdout.exp leakotron.stderr.exp \
njn254d542432002-09-23 16:09:39 +000040 malloc1.stderr.exp malloc1.vgtest \
41 malloc2.stderr.exp malloc2.vgtest \
njn3e884182003-04-15 13:03:23 +000042 malloc3.stderr.exp malloc3.stdout.exp malloc3.vgtest \
njn254d542432002-09-23 16:09:39 +000043 manuel1.stderr.exp manuel1.stdout.exp manuel1.vgtest \
sewardj1323d1d2005-05-05 01:23:50 +000044 manuel2.stderr.exp manuel2.stderr.exp64 manuel2.stdout.exp manuel2.vgtest \
njn254d542432002-09-23 16:09:39 +000045 manuel3.stderr.exp manuel3.vgtest \
njn499eaad2005-03-11 05:05:50 +000046 match-overrun.stderr.exp match-overrun.vgtest match-overrun.supp \
njn254d542432002-09-23 16:09:39 +000047 memalign_test.stderr.exp memalign_test.vgtest \
nethercote2d5b8162004-08-11 09:40:52 +000048 memalign2.stderr.exp memalign2.vgtest \
njn254d542432002-09-23 16:09:39 +000049 memcmptest.stderr.exp memcmptest.stdout.exp memcmptest.vgtest \
sewardj1f443862005-05-05 01:29:11 +000050 mempool.stderr.exp mempool.stderr.exp64 mempool.vgtest \
sewardj7d32a732005-05-05 01:32:24 +000051 mismatches.stderr.exp mismatches.stderr.exp64 mismatches.vgtest \
njn254d542432002-09-23 16:09:39 +000052 mmaptest.stderr.exp mmaptest.vgtest \
53 nanoleak.stderr.exp nanoleak.vgtest \
njn3e884182003-04-15 13:03:23 +000054 nanoleak_supp.stderr.exp nanoleak_supp.vgtest nanoleak.supp \
njn32a17d12003-10-10 11:01:44 +000055 new_nothrow.stderr.exp new_nothrow.vgtest \
nethercoteea169c02004-07-18 12:05:37 +000056 new_override.stderr.exp new_override.stdout.exp new_override.vgtest \
njn0c5fac82003-05-02 16:19:10 +000057 null_socket.stderr.exp null_socket.vgtest \
sewardjea5cf542003-07-16 19:03:10 +000058 overlap.stderr.exp overlap.stdout.exp overlap.vgtest \
sewardj1323d1d2005-05-05 01:23:50 +000059 pointer-trace.vgtest pointer-trace.stdout.exp \
60 pointer-trace.stderr.exp pointer-trace.stderr.exp64 \
sewardjb5f6f512005-03-10 23:59:00 +000061 post-syscall.stderr.exp post-syscall.stdout.exp post-syscall.vgtest \
njn254d542432002-09-23 16:09:39 +000062 realloc1.stderr.exp realloc1.vgtest \
63 realloc2.stderr.exp realloc2.vgtest \
njn398044f2003-07-24 17:39:59 +000064 realloc3.stderr.exp realloc3.vgtest \
njn254d542432002-09-23 16:09:39 +000065 sigaltstack.stderr.exp sigaltstack.vgtest \
nethercote7fbe08a2004-11-15 19:03:27 +000066 signal2.stderr.exp signal2.stdout.exp signal2.vgtest \
67 sigprocmask.stderr.exp sigprocmask.vgtest \
nethercoted91ea072004-11-07 10:58:19 +000068 str_tester.stderr.exp str_tester.vgtest \
njn254d542432002-09-23 16:09:39 +000069 supp1.stderr.exp supp1.vgtest \
70 supp2.stderr.exp supp2.vgtest \
71 supp.supp \
72 suppfree.stderr.exp suppfree.vgtest \
nethercote57e36b32004-07-10 14:56:28 +000073 toobig-allocs.stderr.exp toobig-allocs.vgtest \
njn254d542432002-09-23 16:09:39 +000074 trivialleak.stderr.exp trivialleak.vgtest \
sewardj51a9fe12003-07-07 00:03:52 +000075 weirdioctl.stderr.exp weirdioctl.stdout.exp weirdioctl.vgtest \
sewardj58bef2e2003-07-13 11:13:37 +000076 metadata.stderr.exp metadata.stdout.exp metadata.vgtest \
nethercotee65e47b2004-10-14 08:38:06 +000077 vgtest_ume.stderr.exp vgtest_ume.vgtest \
sewardjce7ec7d2005-03-16 13:10:44 +000078 writev.stderr.exp writev.stderr.exp2 writev.stderr.exp3 writev.vgtest \
thughesd41cd6c2004-10-13 16:48:21 +000079 zeropage.stderr.exp zeropage.stderr.exp2 zeropage.vgtest
njn254d542432002-09-23 16:09:39 +000080
daywalkerc42d8bc2003-04-17 17:00:43 +000081check_PROGRAMS = \
sewardjb5f6f512005-03-10 23:59:00 +000082 addressable \
nethercote4d714382004-10-13 09:47:24 +000083 badaddrvalue badfree badjump badjump2 \
nethercoteeb0592d2004-11-05 12:02:27 +000084 badloop badpoll badrw brk brk2 buflen_check \
njn7360f8e2003-09-04 20:57:51 +000085 clientperm custom_alloc \
sewardjb5f6f512005-03-10 23:59:00 +000086 describe-block \
nethercotef6a1d502004-08-09 12:21:57 +000087 doublefree error_counts errs1 exitprog execve execve2 \
nethercote4a02e1e2004-10-20 11:43:01 +000088 fprw fwrite hello inits inline \
sewardjb5f6f512005-03-10 23:59:00 +000089 leak-0 leak-cycle leak-tree leak-regroot leakotron \
njn3e884182003-04-15 13:03:23 +000090 malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 \
njn499eaad2005-03-11 05:05:50 +000091 match-overrun \
nethercote2d5b8162004-08-11 09:40:52 +000092 memalign_test memalign2 memcmptest mempool mmaptest \
93 nanoleak new_nothrow \
nethercote4a02e1e2004-10-20 11:43:01 +000094 null_socket overlap \
sewardjb5f6f512005-03-10 23:59:00 +000095 pointer-trace \
96 post-syscall \
nethercote8b305af2004-11-14 17:58:27 +000097 realloc1 realloc2 realloc3 \
nethercote7fbe08a2004-11-15 19:03:27 +000098 sigaltstack signal2 sigprocmask \
nethercoted91ea072004-11-07 10:58:19 +000099 str_tester supp1 supp2 suppfree \
nethercote4a02e1e2004-10-20 11:43:01 +0000100 trivialleak weirdioctl \
sewardjf69e0bc2005-05-04 00:26:57 +0000101 mismatches new_override metadata \
nethercotee65e47b2004-10-14 08:38:06 +0000102 vgtest_ume \
103 writev zeropage
104
njn25e49d8e72002-09-23 09:36:25 +0000105
sewardjb5f6f512005-03-10 23:59:00 +0000106AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include -I$(top_builddir)/include -I@VEX_DIR@/pub
daywalkerc42d8bc2003-04-17 17:00:43 +0000107AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -g
108AM_CXXFLAGS = $(AM_CFLAGS)
njn25e49d8e72002-09-23 09:36:25 +0000109
110# C ones
sewardjb5f6f512005-03-10 23:59:00 +0000111addressable_SOURCES = addressable.c
njn25e49d8e72002-09-23 09:36:25 +0000112badaddrvalue_SOURCES = badaddrvalue.c
113badfree_SOURCES = badfree.c
114badjump_SOURCES = badjump.c
nethercote4d714382004-10-13 09:47:24 +0000115badjump2_SOURCES = badjump2.c
njn25e49d8e72002-09-23 09:36:25 +0000116badloop_SOURCES = badloop.c
nethercoteeb0592d2004-11-05 12:02:27 +0000117badpoll_SOURCES = badpoll.c
njnc2699f62003-09-05 23:29:33 +0000118badrw_SOURCES = badrw.c
njn7360f8e2003-09-04 20:57:51 +0000119brk_SOURCES = brk.c
nethercotece471262004-08-25 13:43:44 +0000120brk2_SOURCES = brk2.c
njn25e49d8e72002-09-23 09:36:25 +0000121buflen_check_SOURCES = buflen_check.c
njn4d5490d2002-10-04 14:16:38 +0000122clientperm_SOURCES = clientperm.c
njn10785452003-05-20 16:38:24 +0000123custom_alloc_SOURCES = custom_alloc.c
sewardjb5f6f512005-03-10 23:59:00 +0000124describe_block_SOURCES = describe-block.c
njn25e49d8e72002-09-23 09:36:25 +0000125doublefree_SOURCES = doublefree.c
njn47363ab2003-04-21 13:24:40 +0000126error_counts_SOURCES = error_counts.c
njn25e49d8e72002-09-23 09:36:25 +0000127errs1_SOURCES = errs1.c
nethercotea81e9162004-02-12 14:34:14 +0000128execve_SOURCES = execve.c
nethercotef6a1d502004-08-09 12:21:57 +0000129execve2_SOURCES = execve2.c
njn25e49d8e72002-09-23 09:36:25 +0000130exitprog_SOURCES = exitprog.c
131fprw_SOURCES = fprw.c
132fwrite_SOURCES = fwrite.c
133inits_SOURCES = inits.c
134inline_SOURCES = inline.c
sewardjb5f6f512005-03-10 23:59:00 +0000135leak_0_SOURCES = leak-0.c
136leak_cycle_SOURCES = leak-cycle.c
137leak_tree_SOURCES = leak-tree.c
138leak_regroot_SOURCES = leak-regroot.c
139leakotron_SOURCES = leakotron.c
njn25e49d8e72002-09-23 09:36:25 +0000140malloc1_SOURCES = malloc1.c
141malloc2_SOURCES = malloc2.c
njn3e884182003-04-15 13:03:23 +0000142malloc3_SOURCES = malloc3.c
njn25e49d8e72002-09-23 09:36:25 +0000143manuel1_SOURCES = manuel1.c
144manuel2_SOURCES = manuel2.c
145manuel3_SOURCES = manuel3.c
njn499eaad2005-03-11 05:05:50 +0000146match_overrun_SOURCES = match-overrun.c
njn25e49d8e72002-09-23 09:36:25 +0000147mmaptest_SOURCES = mmaptest.c
148memalign_test_SOURCES = memalign_test.c
nethercote2d5b8162004-08-11 09:40:52 +0000149memalign2_SOURCES = memalign2.c
njn25e49d8e72002-09-23 09:36:25 +0000150memcmptest_SOURCES = memcmptest.c
njn036a4912005-03-16 02:49:11 +0000151memcmptest_CFLAGS = $(AM_CFLAGS) -fno-builtin-memcmp
rjwalshbc0bb832004-06-19 18:12:36 +0000152mempool_SOURCES = mempool.c
njn25e49d8e72002-09-23 09:36:25 +0000153nanoleak_SOURCES = nanoleak.c
njn0c5fac82003-05-02 16:19:10 +0000154null_socket_SOURCES = null_socket.c
njn3e884182003-04-15 13:03:23 +0000155overlap_SOURCES = overlap.c
njn036a4912005-03-16 02:49:11 +0000156# Don't allow GCC to inline memcpy(), because then we can't intercept it
157overlap_CFLAGS = $(AM_CFLAGS) -fno-builtin-memcpy
sewardjb5f6f512005-03-10 23:59:00 +0000158pointer_trace_SOURCES = pointer-trace.c
159post_syscall_SOURCES = post-syscall.c
njn25e49d8e72002-09-23 09:36:25 +0000160realloc1_SOURCES = realloc1.c
161realloc2_SOURCES = realloc2.c
njn398044f2003-07-24 17:39:59 +0000162realloc3_SOURCES = realloc3.c
njn25e49d8e72002-09-23 09:36:25 +0000163signal2_SOURCES = signal2.c
nethercote7fbe08a2004-11-15 19:03:27 +0000164sigprocmask_SOURCES = sigprocmask.c
njn25e49d8e72002-09-23 09:36:25 +0000165supp1_SOURCES = supp.c
166supp2_SOURCES = supp.c
167suppfree_SOURCES = suppfree.c
168sigaltstack_SOURCES = sigaltstack.c
169trivialleak_SOURCES = trivialleak.c
njn25e49d8e72002-09-23 09:36:25 +0000170weirdioctl_SOURCES = weirdioctl.c
sewardj51a9fe12003-07-07 00:03:52 +0000171metadata_SOURCES = metadata.c
nethercoted91ea072004-11-07 10:58:19 +0000172str_tester_SOURCES = str_tester.c
173str_tester_CFLAGS = $(AM_CFLAGS) -Wno-shadow
njnaca67c52003-09-04 21:57:45 +0000174writev_SOURCES = writev.c
nethercotedb233322003-12-02 14:56:04 +0000175zeropage_SOURCES = zeropage.c
njn25e49d8e72002-09-23 09:36:25 +0000176
177# C++ ones
178mismatches_SOURCES = mismatches.cpp
njn32a17d12003-10-10 11:01:44 +0000179new_nothrow_SOURCES = new_nothrow.cpp
njn25e49d8e72002-09-23 09:36:25 +0000180new_override_SOURCES = new_override.cpp
181
nethercotee65e47b2004-10-14 08:38:06 +0000182# Valgrind unit self-tests
183hello_SOURCES = hello.c
nethercote3f131f12004-10-27 12:05:59 +0000184## If we support PIE, build hello as a PIE, otherwise vgtest_ume cannot load
185## (I'm not completely sure why, since stage2 can load both PIEs and non-PIEs,
186## maybe it's because stage2 is loaded up high; anyway, it doesn't really
187## matter so long as vgtest_ume can load hello ok. --njn)
188if USE_PIE
189hello_CFLAGS = $(AM_CFLAGS) -fpie
190hello_LDFLAGS = -pie
191else
nethercotee65e47b2004-10-14 08:38:06 +0000192hello_LDFLAGS = -Wl,-defsym,kickstart_base=0x50000000 \
193 -Wl,-T,../../coregrind/${VG_ARCH}/stage2.lds
nethercote3f131f12004-10-27 12:05:59 +0000194hello_DEPENDENCIES = ../../coregrind/${VG_ARCH}/stage2.lds
195endif
196
nethercote543a63f2004-10-14 09:28:11 +0000197vgtest_ume_SOURCES = vgtest_ume.c
nethercotee65e47b2004-10-14 08:38:06 +0000198vgtest_ume_LDADD = ../../coregrind/ume.o \
nethercotee65e47b2004-10-14 08:38:06 +0000199 ../../coregrind/jmp_with_stack.o
200