blob: 58b11dc68a5844b73e9d47034be5a0e0d3dcc566 [file] [log] [blame]
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +04001#
2# Copyright (C) 2012 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16#
17
18LOCAL_PATH:= $(call my-dir)
19
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +040020ASAN_NEEDS_SEGV=0
21ASAN_HAS_EXCEPTIONS=1
22ASAN_FLEXIBLE_MAPPING_AND_OFFSET=0
23
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +040024asan_rtl_files := \
Stephen Hines6d186232014-11-26 17:56:19 -080025 asan_activation.cc \
Stephen Hines86277eb2015-03-23 12:06:32 -070026 asan_allocator.cc \
Stephen Hines6d186232014-11-26 17:56:19 -080027 asan_fake_stack.cc \
Stephen Hines86277eb2015-03-23 12:06:32 -070028 asan_flags.cc \
Stephen Hines6d186232014-11-26 17:56:19 -080029 asan_globals.cc \
30 asan_interceptors.cc \
31 asan_linux.cc \
32 asan_mac.cc \
33 asan_malloc_linux.cc \
34 asan_malloc_mac.cc \
35 asan_malloc_win.cc \
Stephen Hines6d186232014-11-26 17:56:19 -080036 asan_poisoning.cc \
37 asan_posix.cc \
38 asan_report.cc \
39 asan_rtl.cc \
40 asan_stack.cc \
41 asan_stats.cc \
Stephen Hines86277eb2015-03-23 12:06:32 -070042 asan_suppressions.cc \
Stephen Hines6d186232014-11-26 17:56:19 -080043 asan_thread.cc \
44 asan_win.cc \
45 ../interception/interception_linux.cc \
46 ../lsan/lsan_common.cc \
47 ../lsan/lsan_common_linux.cc \
48 ../sanitizer_common/sanitizer_allocator.cc \
49 ../sanitizer_common/sanitizer_common.cc \
50 ../sanitizer_common/sanitizer_common_libcdep.cc \
51 ../sanitizer_common/sanitizer_coverage_libcdep.cc \
52 ../sanitizer_common/sanitizer_coverage_mapping_libcdep.cc \
53 ../sanitizer_common/sanitizer_deadlock_detector1.cc \
54 ../sanitizer_common/sanitizer_deadlock_detector2.cc \
55 ../sanitizer_common/sanitizer_flags.cc \
Stephen Hines86277eb2015-03-23 12:06:32 -070056 ../sanitizer_common/sanitizer_flag_parser.cc \
Stephen Hines6d186232014-11-26 17:56:19 -080057 ../sanitizer_common/sanitizer_libc.cc \
58 ../sanitizer_common/sanitizer_libignore.cc \
59 ../sanitizer_common/sanitizer_linux.cc \
60 ../sanitizer_common/sanitizer_linux_libcdep.cc \
61 ../sanitizer_common/sanitizer_mac.cc \
62 ../sanitizer_common/sanitizer_persistent_allocator.cc \
63 ../sanitizer_common/sanitizer_platform_limits_linux.cc \
64 ../sanitizer_common/sanitizer_platform_limits_posix.cc \
65 ../sanitizer_common/sanitizer_posix.cc \
66 ../sanitizer_common/sanitizer_posix_libcdep.cc \
67 ../sanitizer_common/sanitizer_printf.cc \
68 ../sanitizer_common/sanitizer_procmaps_common.cc \
69 ../sanitizer_common/sanitizer_procmaps_freebsd.cc \
70 ../sanitizer_common/sanitizer_procmaps_linux.cc \
71 ../sanitizer_common/sanitizer_procmaps_mac.cc \
72 ../sanitizer_common/sanitizer_stackdepot.cc \
73 ../sanitizer_common/sanitizer_stacktrace.cc \
74 ../sanitizer_common/sanitizer_stacktrace_libcdep.cc \
75 ../sanitizer_common/sanitizer_stacktrace_printer.cc \
76 ../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc \
77 ../sanitizer_common/sanitizer_suppressions.cc \
78 ../sanitizer_common/sanitizer_symbolizer.cc \
79 ../sanitizer_common/sanitizer_symbolizer_libbacktrace.cc \
80 ../sanitizer_common/sanitizer_symbolizer_libcdep.cc \
81 ../sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc \
Pirama Arumuga Nainar7c915052015-04-08 08:58:29 -070082 ../sanitizer_common/sanitizer_symbolizer_process_libcdep.cc \
Stephen Hines6d186232014-11-26 17:56:19 -080083 ../sanitizer_common/sanitizer_symbolizer_win.cc \
84 ../sanitizer_common/sanitizer_thread_registry.cc \
85 ../sanitizer_common/sanitizer_tls_get_addr.cc \
86 ../sanitizer_common/sanitizer_unwind_posix_libcdep.cc \
87 ../sanitizer_common/sanitizer_win.cc \
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +040088
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +030089asan_rtl_cxx_files := \
90 asan_new_delete.cc \
91
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +040092asan_rtl_cflags := \
93 -fvisibility=hidden \
94 -fno-exceptions \
95 -DASAN_LOW_MEMORY=1 \
96 -DASAN_NEEDS_SEGV=$(ASAN_NEEDS_SEGV) \
97 -DASAN_HAS_EXCEPTIONS=$(ASAN_HAS_EXCEPTIONS) \
98 -DASAN_FLEXIBLE_MAPPING_AND_OFFSET=$(ASAN_FLEXIBLE_MAPPING_AND_OFFSET) \
99 -Wno-covered-switch-default \
Stephen Hines3a02de32013-05-03 18:10:06 -0700100 -Wno-non-virtual-dtor \
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400101 -Wno-sign-compare \
102 -Wno-unused-parameter \
Dan Albert28b72ed2015-04-28 11:42:19 -0700103 -std=c++11 \
104 -fno-rtti \
Evgenii Stepanov1b1b1ae2015-05-18 14:53:06 -0700105 -fno-builtin
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400106
107asan_test_files := \
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400108 tests/asan_globals_test.cc \
Stephen Hines7c98f2d2013-01-10 01:49:27 -0800109 tests/asan_test.cc
110
111#tests/asan_noinst_test.cc \
112#tests/asan_test_main.cc \
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400113
114asan_test_cflags := \
Stephen Hines6a211c52014-07-21 00:49:56 -0700115 -fsanitize-blacklist=external/compiler-rt/lib/asan/tests/asan_test.ignore \
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400116 -DASAN_LOW_MEMORY=1 \
117 -DASAN_UAR=0 \
118 -DASAN_NEEDS_SEGV=$(ASAN_NEEDS_SEGV) \
119 -DASAN_HAS_EXCEPTIONS=$(ASAN_HAS_EXCEPTIONS) \
120 -DASAN_HAS_BLACKLIST=1 \
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400121 -Wno-covered-switch-default \
Stephen Hines3a02de32013-05-03 18:10:06 -0700122 -Wno-non-virtual-dtor \
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400123 -Wno-sign-compare \
124 -Wno-unused-parameter \
Stephen Hines2d1fdb22014-05-28 23:58:16 -0700125 -std=c++11
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400126
127
128include $(CLEAR_VARS)
129
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400130LOCAL_MODULE := libasan
Dan Albertca8da892015-01-08 15:56:27 -0800131LOCAL_C_INCLUDES := \
132 external/compiler-rt/lib \
133 external/compiler-rt/include
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400134LOCAL_CFLAGS += $(asan_rtl_cflags)
Stephen Hinesff571e22013-03-05 23:44:58 -0800135LOCAL_SRC_FILES := asan_preinit.cc
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400136LOCAL_CPP_EXTENSION := .cc
137LOCAL_CLANG := true
Dan Albert237aaa62015-06-16 14:21:19 -0700138LOCAL_SANITIZE := never
Stephen Hines2d6b7142015-10-15 14:18:57 -0700139LOCAL_MODULE_TARGET_ARCH := arm arm64
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400140include $(BUILD_STATIC_LIBRARY)
141
Evgenii Stepanov3f89dee2015-04-27 08:54:26 -0700142define build-asan-rt-shared-library
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400143
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400144include $(CLEAR_VARS)
Evgenii Stepanov3f89dee2015-04-27 08:54:26 -0700145LOCAL_MODULE := $(1)
146LOCAL_MULTILIB := $(2)
Evgenii Stepanov78c814d2015-07-16 17:02:00 -0700147# This library must go on /system partition, even in SANITIZE_TARGET mode (when all libraries are
148# installed on /data). That's because /data may not be available until vold does some magic and
149# vold itself depends on this library.
150LOCAL_MODULE_PATH_32 := $(TARGET_OUT)/lib
151LOCAL_MODULE_PATH_64 := $(TARGET_OUT)/lib64
Evgenii Stepanov81f7b122015-05-05 10:27:14 -0700152# We need to unwind by frame pointers through a small portion of ASan runtime library code,
153# and that only works with ARM, not with Thumb.
154LOCAL_ARM_MODE := arm
Shih-wei Liaoed003382012-04-25 06:48:42 -0700155LOCAL_C_INCLUDES := \
Stephen Hines1f922a52012-09-10 20:14:46 -0700156 external/compiler-rt/lib \
157 external/compiler-rt/include
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400158LOCAL_CFLAGS += $(asan_rtl_cflags)
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +0300159LOCAL_SRC_FILES := $(asan_rtl_files) $(asan_rtl_cxx_files)
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400160LOCAL_CPP_EXTENSION := .cc
Stephen Hines2d1fdb22014-05-28 23:58:16 -0700161LOCAL_SHARED_LIBRARIES := liblog libc libdl
Pirama Arumuga Nainar259f7062015-05-06 11:49:53 -0700162LOCAL_STATIC_LIBRARIES := libcompiler_rt libubsan
Evgenii Stepanova1c38982015-06-16 13:54:26 -0700163LOCAL_STATIC_LIBRARIES_arm := libunwind_llvm
164LOCAL_LDFLAGS_arm := -Wl,--exclude-libs,libunwind_llvm.a
Evgenii Stepanovbc45c9e2015-04-27 17:12:13 -0700165# MacOS toolchain is out-of-date and does not support -z global.
166# TODO: re-enable once the toolchain issue is fixed.
167ifneq ($(HOST_OS),darwin)
168 LOCAL_LDFLAGS += -Wl,-z,global
169endif
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400170LOCAL_CLANG := true
Dan Albert237aaa62015-06-16 14:21:19 -0700171LOCAL_SANITIZE := never
Stephen Hines2d6b7142015-10-15 14:18:57 -0700172LOCAL_MODULE_TARGET_ARCH := arm arm64
Evgenii Stepanov657a67e2015-06-11 15:19:43 -0700173LOCAL_CXX_STL := none
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400174include $(BUILD_SHARED_LIBRARY)
175
Evgenii Stepanov3f89dee2015-04-27 08:54:26 -0700176endef
177
Stephen Hinesfef7bc72015-10-19 19:18:53 -0700178ifeq (true,$(FORCE_BUILD_SANITIZER_SHARED_OBJECTS))
Evgenii Stepanov3f89dee2015-04-27 08:54:26 -0700179ifdef 2ND_ADDRESS_SANITIZER_RUNTIME_LIBRARY
180 $(eval $(call build-asan-rt-shared-library,$(ADDRESS_SANITIZER_RUNTIME_LIBRARY),64))
181 $(eval $(call build-asan-rt-shared-library,$(2ND_ADDRESS_SANITIZER_RUNTIME_LIBRARY),32))
182else
183 $(eval $(call build-asan-rt-shared-library,$(ADDRESS_SANITIZER_RUNTIME_LIBRARY),32))
184endif
Stephen Hinesfef7bc72015-10-19 19:18:53 -0700185endif
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400186
187include $(CLEAR_VARS)
188
189LOCAL_MODULE := asanwrapper
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400190LOCAL_SRC_FILES := asanwrapper.cc
191LOCAL_CPP_EXTENSION := .cc
Dan Albertf56c2bd2014-07-29 10:46:24 -0700192LOCAL_CPPFLAGS := -std=c++11
Stephen Hines2d1fdb22014-05-28 23:58:16 -0700193LOCAL_SHARED_LIBRARIES += libc
Dan Albert237aaa62015-06-16 14:21:19 -0700194LOCAL_SANITIZE := never
Stephen Hines2d6b7142015-10-15 14:18:57 -0700195LOCAL_MODULE_TARGET_ARCH := arm arm64
Dan Albert93f64d92014-10-18 17:25:26 -0700196LOCAL_CXX_STL := libc++
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400197
198include $(BUILD_EXECUTABLE)
199
Stephen Hinesf5011e32015-08-13 23:02:40 -0700200ifneq (true,$(SKIP_LLVM_TESTS))
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400201
202include $(CLEAR_VARS)
203
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400204LOCAL_MODULE := libasan_noinst_test
205LOCAL_MODULE_TAGS := tests
206LOCAL_C_INCLUDES := \
Dan Albert93f64d92014-10-18 17:25:26 -0700207 external/compiler-rt/include \
208 external/compiler-rt/lib \
209 external/compiler-rt/lib/asan/tests \
210 external/compiler-rt/lib/sanitizer_common/tests
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400211LOCAL_CFLAGS += \
Stephen Hines86277eb2015-03-23 12:06:32 -0700212 -Wno-non-virtual-dtor \
Dan Albert93f64d92014-10-18 17:25:26 -0700213 -Wno-unused-parameter \
214 -Wno-sign-compare \
215 -DASAN_UAR=0 \
216 -DASAN_HAS_BLACKLIST=1 \
217 -DASAN_HAS_EXCEPTIONS=$(ASAN_HAS_EXCEPTIONS) \
Stephen Hines6d186232014-11-26 17:56:19 -0800218 -DASAN_NEEDS_SEGV=$(ASAN_NEEDS_SEGV) \
219 -std=c++11
Stephen Hines7c98f2d2013-01-10 01:49:27 -0800220LOCAL_SRC_FILES := tests/asan_noinst_test.cc tests/asan_test_main.cc
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400221LOCAL_CPP_EXTENSION := .cc
222LOCAL_CLANG := true
Dan Albert237aaa62015-06-16 14:21:19 -0700223LOCAL_SANITIZE := never
Stephen Hines2d6b7142015-10-15 14:18:57 -0700224LOCAL_MODULE_TARGET_ARCH := arm arm64
Dan Albert93f64d92014-10-18 17:25:26 -0700225LOCAL_CXX_STL := libc++
Stephen Hines2d1fdb22014-05-28 23:58:16 -0700226
Dan Albert73bd2f72016-03-04 13:32:24 -0800227include $(BUILD_STATIC_TEST_LIBRARY)
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400228
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400229
230include $(CLEAR_VARS)
231
232LOCAL_MODULE := asan_test
233LOCAL_MODULE_TAGS := tests
234LOCAL_C_INCLUDES := \
Dan Albert93f64d92014-10-18 17:25:26 -0700235 external/compiler-rt/lib \
236 external/compiler-rt/lib/asan/tests \
237 external/compiler-rt/lib/sanitizer_common/tests
Evgeniy Stepanove48a1972012-03-29 18:09:56 +0400238LOCAL_CFLAGS += $(asan_test_cflags)
239LOCAL_SRC_FILES := $(asan_test_files)
240LOCAL_CPP_EXTENSION := .cc
Dan Albert73bd2f72016-03-04 13:32:24 -0800241LOCAL_STATIC_LIBRARIES := libasan_noinst_test
Stephen Hines2d1fdb22014-05-28 23:58:16 -0700242LOCAL_SHARED_LIBRARIES := libc
Dan Albert237aaa62015-06-16 14:21:19 -0700243LOCAL_SANITIZE := address
Stephen Hines2d1fdb22014-05-28 23:58:16 -0700244LOCAL_CLANG := true
Stephen Hines2d6b7142015-10-15 14:18:57 -0700245LOCAL_MODULE_TARGET_ARCH := arm arm64
Dan Albert93f64d92014-10-18 17:25:26 -0700246LOCAL_CXX_STL := libc++
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400247
Dan Albert73bd2f72016-03-04 13:32:24 -0800248include $(BUILD_NATIVE_TEST)
Evgeniy Stepanovdc3865b2012-03-13 15:38:23 +0400249
Stephen Hinesf5011e32015-08-13 23:02:40 -0700250endif # SKIP_LLVM_TESTS
251
Dan Albert93f64d92014-10-18 17:25:26 -0700252################################################################################
253# Host modules
254
Dan Albert329755b2014-10-20 17:43:44 -0700255ifneq ($(HOST_OS),darwin)
Dan Albert93f64d92014-10-18 17:25:26 -0700256include $(CLEAR_VARS)
257LOCAL_MODULE := libasan
Dan Albert93f64d92014-10-18 17:25:26 -0700258LOCAL_C_INCLUDES := external/compiler-rt/lib external/compiler-rt/include
259LOCAL_CFLAGS += $(asan_rtl_cflags)
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +0300260LOCAL_SRC_FILES := $(asan_rtl_files)
Dan Albert93f64d92014-10-18 17:25:26 -0700261LOCAL_CPP_EXTENSION := .cc
262LOCAL_CLANG := true
Dan Albertf50197a2014-10-20 15:15:58 -0700263LOCAL_MULTILIB := both
Dan Albert237aaa62015-06-16 14:21:19 -0700264LOCAL_SANITIZE := never
Pirama Arumuga Nainar259f7062015-05-06 11:49:53 -0700265LOCAL_WHOLE_STATIC_LIBRARIES := libubsan
Dan Albert93f64d92014-10-18 17:25:26 -0700266include $(BUILD_HOST_STATIC_LIBRARY)
267
268include $(CLEAR_VARS)
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +0300269LOCAL_MODULE := libasan_cxx
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +0300270LOCAL_C_INCLUDES := external/compiler-rt/lib external/compiler-rt/include
271LOCAL_CFLAGS += $(asan_rtl_cflags)
272LOCAL_SRC_FILES := $(asan_rtl_cxx_files)
Dan Albert93f64d92014-10-18 17:25:26 -0700273LOCAL_CPP_EXTENSION := .cc
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +0300274LOCAL_CLANG := true
Dan Albertf50197a2014-10-20 15:15:58 -0700275LOCAL_MULTILIB := both
Dan Albert237aaa62015-06-16 14:21:19 -0700276LOCAL_SANITIZE := never
Evgeniy Stepanovd66dda02014-11-06 18:29:53 +0300277include $(BUILD_HOST_STATIC_LIBRARY)
Dan Albert93f64d92014-10-18 17:25:26 -0700278
Stephen Hinesf5011e32015-08-13 23:02:40 -0700279ifneq (true,$(SKIP_LLVM_TESTS))
280
Dan Albert93f64d92014-10-18 17:25:26 -0700281include $(CLEAR_VARS)
282LOCAL_MODULE := libasan_noinst_test
283LOCAL_MODULE_TAGS := tests
284LOCAL_C_INCLUDES := \
Dan Albert93f64d92014-10-18 17:25:26 -0700285 external/compiler-rt/include \
286 external/compiler-rt/lib \
287 external/compiler-rt/lib/asan/tests \
288 external/compiler-rt/lib/sanitizer_common/tests
289LOCAL_CFLAGS += \
290 -Wno-unused-parameter \
291 -Wno-sign-compare \
292 -DASAN_UAR=0 \
293 -DASAN_HAS_BLACKLIST=1 \
294 -DASAN_HAS_EXCEPTIONS=$(ASAN_HAS_EXCEPTIONS) \
Stephen Hines6d186232014-11-26 17:56:19 -0800295 -DASAN_NEEDS_SEGV=$(ASAN_NEEDS_SEGV) \
296 -std=c++11
Dan Albert93f64d92014-10-18 17:25:26 -0700297LOCAL_SRC_FILES := tests/asan_noinst_test.cc tests/asan_test_main.cc
298LOCAL_CPP_EXTENSION := .cc
299LOCAL_CLANG := true
300LOCAL_CXX_STL := libc++
Dan Albertf50197a2014-10-20 15:15:58 -0700301LOCAL_MULTILIB := both
Dan Albert237aaa62015-06-16 14:21:19 -0700302LOCAL_SANITIZE := never
Dan Albert73bd2f72016-03-04 13:32:24 -0800303include $(BUILD_HOST_STATIC_TEST_LIBRARY)
Dan Albert93f64d92014-10-18 17:25:26 -0700304
305include $(CLEAR_VARS)
306LOCAL_MODULE := asan_test
307LOCAL_MODULE_TAGS := tests
308LOCAL_C_INCLUDES := \
Dan Albert93f64d92014-10-18 17:25:26 -0700309 external/compiler-rt/lib \
310 external/compiler-rt/lib/asan/tests \
311 external/compiler-rt/lib/sanitizer_common/tests
312LOCAL_CFLAGS += $(asan_test_cflags)
313LOCAL_SRC_FILES := $(asan_test_files)
314LOCAL_CPP_EXTENSION := .cc
Dan Albert7e862da2014-11-09 00:50:03 -0800315LOCAL_STATIC_LIBRARIES := libasan_noinst_test
Dan Albert237aaa62015-06-16 14:21:19 -0700316LOCAL_SANITIZE := address
Dan Albert93f64d92014-10-18 17:25:26 -0700317LOCAL_CLANG := true
318LOCAL_CXX_STL := libc++
Dan Albertf50197a2014-10-20 15:15:58 -0700319LOCAL_MULTILIB := both
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -0700320LOCAL_LDLIBS := -lrt
Ying Wangeee80f92014-11-06 15:41:07 -0800321LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32
322LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
Dan Albert7e862da2014-11-09 00:50:03 -0800323include $(BUILD_HOST_NATIVE_TEST)
Stephen Hinesf5011e32015-08-13 23:02:40 -0700324endif # SKIP_LLVM_TESTS
Dan Albert329755b2014-10-20 17:43:44 -0700325endif