1# -*- shell-script -*-
2#   Copyright (C) 2012-2018 Free Software Foundation, Inc.
3
4# This program is free software; you can redistribute it and/or modify
5# it under the terms of the GNU General Public License as published by
6# the Free Software Foundation; either version 2 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program; if not see <http://www.gnu.org/licenses/>.
16
17# This is the target specific configuration file.  This is invoked by the
18# autoconf generated configure script.  Putting it in a separate shell file
19# lets us skip running autoconf when modifying target specific information.
20
21# Filter out unsupported systems.
22TSAN_TARGET_DEPENDENT_OBJECTS=
23SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS=
24case "${target}" in
25  x86_64-*-freebsd* | i?86-*-freebsd*)
26	;;
27  x86_64-*-linux* | i?86-*-linux*)
28	if test x$ac_cv_sizeof_void_p = x8; then
29		TSAN_SUPPORTED=yes
30		LSAN_SUPPORTED=yes
31		TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_amd64.lo
32	fi
33	;;
34  powerpc*-*-linux*)
35	if test x$ac_cv_sizeof_void_p = x8; then
36		TSAN_SUPPORTED=yes
37		LSAN_SUPPORTED=yes
38		TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_ppc64.lo
39	fi
40	;;
41  sparc*-*-linux*)
42	;;
43  s390*-*-linux*)
44	if test x$ac_cv_sizeof_void_p = x8; then
45		TSAN_SUPPORTED=yes
46		LSAN_SUPPORTED=yes
47		TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_s390x.lo
48	fi
49	;;
50  sparc*-*-solaris2.11*)
51	;;
52  arm*-*-*fdpiceabi)
53	UNSUPPORTED=1
54	;;
55  arm*-*-linux*)
56	;;
57  mips*-*-linux*)
58	;;
59  aarch64*-*-linux*)
60	if test x$ac_cv_sizeof_void_p = x8; then
61		TSAN_SUPPORTED=yes
62		LSAN_SUPPORTED=yes
63		TSAN_TARGET_DEPENDENT_OBJECTS=tsan_rtl_aarch64.lo
64		HWASAN_SUPPORTED=yes
65	fi
66	;;
67  x86_64-*-darwin2[01]* | x86_64-*-darwin1[2-9]* | i?86-*-darwin1[2-9]*)
68	TSAN_SUPPORTED=no
69	EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS} -Wl,-undefined,dynamic_lookup"
70	;;
71  x86_64-*-solaris2.11* | i?86-*-solaris2.11*)
72	;;
73  riscv64-*-linux*)
74	;;
75  *)
76	UNSUPPORTED=1
77	;;
78esac
79