aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2012-09-10 20:14:46 -0700
committerStephen Hines <srhines@google.com>2012-09-10 20:14:46 -0700
commit1f922a5259510f70a12576e7a61eaa0033a02b16 (patch)
tree6ba9f8cb3749bbc612d00c3eb127a8fb4509c7f5
parent56937189e87949cca1964a399c8db3fd2ef0fa2d (diff)
downloadcompiler-rt-1f922a5259510f70a12576e7a61eaa0033a02b16.tar.gz
Updated Android.mk source file for asan and fixed up test setup (thanks to Evgeniy for the starter patch). Change-Id: I4dcf13130505f4c1e2eed191a3b403ccab5e5e26
-rw-r--r--lib/asan/Android.mk59
-rw-r--r--lib/asan/asan_android_stub.cc2
2 files changed, 8 insertions, 53 deletions
diff --git a/lib/asan/Android.mk b/lib/asan/Android.mk
index 1fdf0b8bd..befb74bbc 100644
--- a/lib/asan/Android.mk
+++ b/lib/asan/Android.mk
@@ -34,7 +34,6 @@ asan_rtl_files := \
asan_new_delete.cc \
asan_poisoning.cc \
asan_posix.cc \
- asan_printf.cc \
asan_report.cc \
asan_stack.cc \
asan_stats.cc \
@@ -48,9 +47,9 @@ asan_rtl_files := \
../sanitizer_common/sanitizer_linux.cc \
../sanitizer_common/sanitizer_posix.cc \
../sanitizer_common/sanitizer_printf.cc \
+ ../sanitizer_common/sanitizer_stacktrace.cc \
../sanitizer_common/sanitizer_symbolizer.cc \
../sanitizer_common/sanitizer_symbolizer_linux.cc \
- ../sanitizer_common/sanitizer_symbolizer_llvm.cc \
asan_rtl_cflags := \
-fvisibility=hidden \
@@ -86,7 +85,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := libasan
LOCAL_MODULE_TAGS := optional
-LOCAL_C_INCLUDES := bionic external/compiler-rt/lib
+LOCAL_C_INCLUDES := bionic external/compiler-rt/lib external/compiler-rt/include
LOCAL_CFLAGS += $(asan_rtl_cflags)
LOCAL_SRC_FILES := asan_android_stub.cc
LOCAL_CPP_EXTENSION := .cc
@@ -101,7 +100,8 @@ LOCAL_MODULE_TAGS := eng
LOCAL_C_INCLUDES := \
bionic \
external/stlport/stlport \
- external/compiler-rt/lib
+ external/compiler-rt/lib \
+ external/compiler-rt/include
LOCAL_CFLAGS += $(asan_rtl_cflags)
LOCAL_SRC_FILES := $(asan_rtl_files)
LOCAL_CPP_EXTENSION := .cc
@@ -132,10 +132,13 @@ LOCAL_C_INCLUDES := \
bionic \
external/stlport/stlport \
external/gtest/include \
+ external/compiler-rt/include \
external/compiler-rt/lib
LOCAL_CFLAGS += \
-Wno-unused-parameter \
-Wno-sign-compare \
+ -DASAN_UAR=0 \
+ -DASAN_HAS_BLACKLIST=1 \
-D__WORDSIZE=32
LOCAL_SRC_FILES := tests/asan_noinst_test.cc
LOCAL_CPP_EXTENSION := .cc
@@ -161,52 +164,4 @@ LOCAL_ADDRESS_SANITIZER := true
include $(BUILD_EXECUTABLE)
-# Build output tests for AddressSanitizer.
-
-define asan-output-test
- include $(CLEAR_VARS)
- LOCAL_MODULE := $(1)
- LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
- LOCAL_MODULE_TAGS := tests
- LOCAL_SRC_FILES := output_tests/$(1).cc
- LOCAL_CPP_EXTENSION := .cc
- LOCAL_ADDRESS_SANITIZER := true
- LOCAL_C_INCLUDES := bionic external/stlport/stlport
- LOCAL_CFLAGS := -Wno-unused-parameter
- LOCAL_SHARED_LIBRARIES := libstlport
- include $(BUILD_EXECUTABLE)
-endef
-
-define asan-output-test-so
- include $(CLEAR_VARS)
- LOCAL_MODULE := $(1)
- LOCAL_MODULE_TAGS := tests
- LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
- LOCAL_SRC_FILES := output_tests/$(1).cc
- LOCAL_CPP_EXTENSION := .cc
- LOCAL_ADDRESS_SANITIZER := true
- LOCAL_C_INCLUDES := bionic external/stlport/stlport
- LOCAL_CFLAGS := -Wno-unused-parameter
- LOCAL_SHARED_LIBRARIES := libstlport
- include $(BUILD_SHARED_LIBRARY)
-endef
-
-OUTPUT_TESTS := \
- clone_test \
- deep_tail_call \
- dlclose-test \
- dlclose-test-so \
- global-overflow \
- heap-overflow \
- large_func_test \
- null_deref \
- shared-lib-test \
- shared-lib-test-so \
- stack-overflow \
- strncpy-overflow \
- use-after-free
-
-$(foreach test,$(filter %-so,$(OUTPUT_TESTS)),$(eval $(call asan-output-test-so,$(test))))
-$(foreach test,$(filter-out %-so,$(OUTPUT_TESTS)),$(eval $(call asan-output-test,$(test))))
-
endif # ifeq($(TARGET_ARCH),arm)
diff --git a/lib/asan/asan_android_stub.cc b/lib/asan/asan_android_stub.cc
index d86584489..cf68f58ec 100644
--- a/lib/asan/asan_android_stub.cc
+++ b/lib/asan/asan_android_stub.cc
@@ -1,4 +1,4 @@
-#include "asan_interface.h"
+#include "sanitizer/asan_interface.h"
__attribute__((section(".preinit_array")))
typeof(__asan_init) *__asan_preinit =__asan_init;