1 AM_CPPFLAGS = -I$(top_srcdir)/include
3 EXTRA_DIST = run-ia64-test-dyn1 run-ptrace-mapper run-ptrace-misc \
4 run-check-namespace run-coredump-unwind \
5 run-coredump-unwind-mdi check-namespace.sh.in \
8 MAINTAINERCLEANFILES = Makefile.in
10 noinst_PROGRAMS_common =
11 check_PROGRAMS_common = test-proc-info test-static-link \
13 check_SCRIPTS_common = run-check-namespace
18 noinst_PROGRAMS_cdep = $(noinst_PROGRAMS_common)
23 LIBUNWIND_local = $(top_builddir)/src/libunwind.la
25 noinst_PROGRAMS_arch = ia64-test-dyn1
26 check_SCRIPTS_arch = run-ia64-test-dyn1
27 check_PROGRAMS_arch = Gia64-test-stack Lia64-test-stack \
28 Gia64-test-nat Lia64-test-nat \
29 Gia64-test-rbs Lia64-test-rbs \
30 Gia64-test-readonly Lia64-test-readonly \
31 ia64-test-setjmp ia64-test-sig
35 noinst_PROGRAMS_arch = ppc64-test-altivec
40 check_PROGRAMS_cdep = Gtest-bt Ltest-bt Gtest-exc Ltest-exc \
41 Gtest-init Ltest-init \
42 Gtest-concurrent Ltest-concurrent \
43 Gtest-resume-sig Ltest-resume-sig \
44 Gtest-resume-sig-rt Ltest-resume-sig-rt \
45 Gtest-dyn1 Ltest-dyn1 \
46 Gtest-trace Ltest-trace \
47 test-async-sig test-flush-cache test-init-remote \
48 test-mem Ltest-varargs Ltest-nomalloc \
49 Ltest-nocalloc Lrs-race
50 noinst_PROGRAMS_cdep = forker Gperf-simple Lperf-simple \
51 Gperf-trace Lperf-trace
54 check_SCRIPTS_cdep += run-ptrace-mapper run-ptrace-misc
55 check_PROGRAMS_cdep += test-ptrace
56 noinst_PROGRAMS_cdep += mapper test-ptrace-misc
60 check_PROGRAMS_cdep += test-setjmp
63 if SUPPORT_CXX_EXCEPTIONS
64 check_PROGRAMS_cdep += Ltest-cxx-exceptions
69 check_SCRIPTS_cdep += run-coredump-unwind
70 noinst_PROGRAMS_cdep += crasher test-coredump-unwind
73 check_SCRIPTS_cdep += run-coredump-unwind-mdi
75 endif # BUILD_COREDUMP
78 perf: perf-startup Gperf-simple Lperf-simple Lperf-trace
79 @echo "########## Basic performance of generic libunwind:"
81 @echo "########## Basic performance of local-only libunwind:"
83 @echo "########## Performance of fast unwind:"
85 @echo "########## Startup overhead:"
86 @$(srcdir)/perf-startup @arch@
90 check_PROGRAMS = $(check_PROGRAMS_common) $(check_PROGRAMS_cdep) \
91 $(check_PROGRAMS_arch)
92 check_SCRIPTS = $(check_SCRIPTS_common) $(check_SCRIPTS_cdep) \
96 TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
100 XFAIL_TESTS += Gtest-dyn1 Ltest-dyn1
103 # Use if arch defines but does not support PTRACE_SINGLESTEP
104 # ptrace request used in the tests.
105 XFAIL_TESTS_PTRACE_SINGLESTEP = run-ptrace-mapper run-ptrace-misc
108 XFAIL_TESTS += $(XFAIL_TESTS_PTRACE_SINGLESTEP)
112 # ARM Linux kernel >=2.6.39 removed PTRACE_SINGLESTEP emulation
113 XFAIL_TESTS += $(XFAIL_TESTS_PTRACE_SINGLESTEP)
116 noinst_PROGRAMS = $(noinst_PROGRAMS_common) $(noinst_PROGRAMS_cdep) \
117 $(noinst_PROGRAMS_arch)
119 Lia64_test_readonly_SOURCES = Lia64-test-readonly.c ia64-test-readonly-asm.S
120 Gia64_test_readonly_SOURCES = Gia64-test-readonly.c ia64-test-readonly-asm.S
121 Lia64_test_stack_SOURCES = Lia64-test-stack.c ia64-test-stack-asm.S \
123 Gia64_test_stack_SOURCES = Gia64-test-stack.c ia64-test-stack-asm.S \
125 Lia64_test_rbs_SOURCES = Lia64-test-rbs.c ia64-test-rbs-asm.S ia64-test-rbs.h
126 Gia64_test_rbs_SOURCES = Gia64-test-rbs.c ia64-test-rbs-asm.S ia64-test-rbs.h
127 Lia64_test_nat_SOURCES = Lia64-test-nat.c ia64-test-nat-asm.S
128 Gia64_test_nat_SOURCES = Gia64-test-nat.c ia64-test-nat-asm.S
129 ia64_test_dyn1_SOURCES = ia64-test-dyn1.c ia64-dyn-asm.S flush-cache.S \
131 ppc64_test_altivec_SOURCES = ppc64-test-altivec.c ppc64-test-altivec-utils.c
132 Gtest_init_SOURCES = Gtest-init.cxx
133 Ltest_init_SOURCES = Ltest-init.cxx
134 Ltest_cxx_exceptions_SOURCES = Ltest-cxx-exceptions.cxx
136 Gtest_dyn1_SOURCES = Gtest-dyn1.c flush-cache.S flush-cache.h
137 Ltest_dyn1_SOURCES = Ltest-dyn1.c flush-cache.S flush-cache.h
138 test_static_link_SOURCES = test-static-link-loc.c test-static-link-gen.c
139 test_static_link_LDFLAGS = -static
140 forker_LDFLAGS = -static
141 Gtest_bt_SOURCES = Gtest-bt.c ident.c
142 Ltest_bt_SOURCES = Ltest-bt.c ident.c
143 test_ptrace_misc_SOURCES = test-ptrace-misc.c ident.c
144 Ltest_nomalloc_SOURCES = Ltest-nomalloc.c
145 Ltest_nocalloc_SOURCES = Ltest-nocalloc.c
146 Gtest_trace_SOURCES = Gtest-trace.c ident.c
147 Ltest_trace_SOURCES = Ltest-trace.c ident.c
149 LIBUNWIND = $(top_builddir)/src/libunwind-$(arch).la
150 LIBUNWIND_ptrace = $(top_builddir)/src/libunwind-ptrace.la
151 LIBUNWIND_coredump = $(top_builddir)/src/libunwind-coredump.la
154 LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elf32.la
157 LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elf64.la
160 LIBUNWIND_ELF = $(top_builddir)/src/libunwind-elfxx.la
163 LIBUNWIND_setjmp = $(top_builddir)/src/libunwind-setjmp.la \
164 $(LIBUNWIND_ELF) $(LIBUNWIND)
166 test_async_sig_LDADD = $(LIBUNWIND_local) -lpthread
167 test_flush_cache_LDADD = $(LIBUNWIND_local)
168 test_init_remote_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
169 test_mem_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
170 test_ptrace_LDADD = $(LIBUNWIND_ptrace) $(LIBUNWIND)
171 test_proc_info_LDADD = $(LIBUNWIND)
172 test_static_link_LDADD = $(LIBUNWIND)
173 test_strerror_LDADD = $(LIBUNWIND)
174 Lrs_race_LDADD = $(LIBUNWIND_local) -lpthread
175 Ltest_varargs_LDADD = $(LIBUNWIND_local)
177 Gtest_bt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
178 Gtest_concurrent_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) -lpthread
179 Gtest_dyn1_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
180 Gtest_exc_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
181 Gtest_init_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
182 Gtest_resume_sig_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
183 Gtest_resume_sig_rt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
184 Gperf_simple_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
185 Gtest_trace_LDADD=$(LIBUNWIND) $(LIBUNWIND_local)
186 Gperf_trace_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
188 Ltest_bt_LDADD = $(LIBUNWIND_local)
189 Ltest_concurrent_LDADD = $(LIBUNWIND_local) -lpthread
190 Ltest_dyn1_LDADD = $(LIBUNWIND_local)
191 Ltest_exc_LDADD = $(LIBUNWIND_local)
192 Ltest_init_LDADD = $(LIBUNWIND_local)
193 Ltest_nomalloc_LDADD = $(LIBUNWIND_local) @DLLIB@
194 Ltest_nocalloc_LDADD = $(LIBUNWIND_local) @DLLIB@ -lpthread
195 Ltest_resume_sig_LDADD = $(LIBUNWIND_local)
196 Ltest_resume_sig_rt_LDADD = $(LIBUNWIND_local)
197 Lperf_simple_LDADD = $(LIBUNWIND_local)
198 Ltest_trace_LDADD = $(LIBUNWIND_local)
199 Lperf_trace_LDADD = $(LIBUNWIND_local)
201 test_setjmp_LDADD = $(LIBUNWIND_setjmp)
202 ia64_test_setjmp_LDADD = $(LIBUNWIND_setjmp)
205 test_coredump_unwind_LDADD = $(LIBUNWIND_coredump) $(LIBUNWIND)
208 Gia64_test_nat_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
209 Gia64_test_stack_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
210 Gia64_test_rbs_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
211 Gia64_test_readonly_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
212 Lia64_test_nat_LDADD = $(LIBUNWIND_local)
213 Lia64_test_stack_LDADD = $(LIBUNWIND_local)
214 Lia64_test_rbs_LDADD = $(LIBUNWIND_local)
215 Lia64_test_readonly_LDADD = $(LIBUNWIND_local)
216 ia64_test_dyn1_LDADD = $(LIBUNWIND)
217 ia64_test_sig_LDADD = $(LIBUNWIND)
218 ppc64_test_altivec_LDADD = $(LIBUNWIND)