Merge "App_process: Clean up sanitized binaries" am: 273adb5257
am: c07a430722
Change-Id: Ib507ba1a1abd185ed6977722f9c1cb42cf84eab0
diff --git a/cmds/app_process/Android.mk b/cmds/app_process/Android.mk
index e18de8e..f4314fb 100644
--- a/cmds/app_process/Android.mk
+++ b/cmds/app_process/Android.mk
@@ -1,38 +1,58 @@
LOCAL_PATH:= $(call my-dir)
+app_process_common_shared_libs := \
+ libandroid_runtime \
+ libbinder \
+ libcutils \
+ libdl \
+ liblog \
+ libnativeloader \
+ libutils \
+
# This is a list of libraries that need to be included in order to avoid
# bad apps. This prevents a library from having a mismatch when resolving
# new/delete from an app shared library.
# See b/21032018 for more details.
-app_process_common_shared_libs := \
+app_process_common_shared_libs += \
libwilhelm \
+app_process_common_static_libs := \
+ libsigchain \
+
+app_process_src_files := \
+ app_main.cpp \
+
+app_process_cflags := \
+ -Wall -Werror -Wunused -Wunreachable-code
+
+app_process_ldflags_32 := \
+ -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
+app_process_ldflags_64 := \
+ -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
+
include $(CLEAR_VARS)
-LOCAL_SRC_FILES:= \
- app_main.cpp
+LOCAL_SRC_FILES:= $(app_process_src_files)
-LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
-LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
+LOCAL_LDFLAGS_32 := $(app_process_ldflags_32)
+LOCAL_LDFLAGS_64 := $(app_process_ldflags_64)
-LOCAL_SHARED_LIBRARIES := \
- libdl \
- libcutils \
- libutils \
- liblog \
- libbinder \
- libnativeloader \
- libandroid_runtime \
- $(app_process_common_shared_libs) \
+LOCAL_SHARED_LIBRARIES := $(app_process_common_shared_libs)
-LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
+LOCAL_WHOLE_STATIC_LIBRARIES := $(app_process_common_static_libs)
LOCAL_MODULE:= app_process
LOCAL_MULTILIB := both
LOCAL_MODULE_STEM_32 := app_process32
LOCAL_MODULE_STEM_64 := app_process64
-LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
+LOCAL_CFLAGS += $(app_process_cflags)
+
+# In SANITIZE_LITE mode, the main app_process is not sanitized - special
+# binaries below do that.
+ifeq ($(SANITIZE_LITE),true)
+LOCAL_SANITIZE := never
+endif
include $(BUILD_EXECUTABLE)
@@ -41,38 +61,28 @@
include $(BUILD_SYSTEM)/executable_prefer_symlink.mk
# Build a variant of app_process binary linked with ASan runtime.
-# ARM-only at the moment.
-ifeq ($(TARGET_ARCH),arm)
+# Built when SANITIZE_LITE is enabled.
+ifeq ($(SANITIZE_LITE),true)
include $(CLEAR_VARS)
-LOCAL_SRC_FILES:= \
- app_main.cpp
+LOCAL_SRC_FILES:= $(app_process_src_files)
-LOCAL_SHARED_LIBRARIES := \
- libcutils \
- libutils \
- liblog \
- libbinder \
- libandroid_runtime \
- $(app_process_common_shared_libs) \
+LOCAL_LDFLAGS_32 := $(app_process_ldflags_32)
+LOCAL_LDFLAGS_64 := $(app_process_ldflags_64)
-LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
+LOCAL_SHARED_LIBRARIES := $(app_process_common_shared_libs)
-LOCAL_LDFLAGS := -ldl
-LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
-LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
+LOCAL_WHOLE_STATIC_LIBRARIES := $(app_process_common_static_libs)
LOCAL_MODULE := app_process__asan
LOCAL_MULTILIB := both
LOCAL_MODULE_STEM_32 := app_process32
LOCAL_MODULE_STEM_64 := app_process64
-
-LOCAL_SANITIZE := address
LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan
-LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
+LOCAL_CFLAGS += $(app_process_cflags)
include $(BUILD_EXECUTABLE)
-endif # ifeq($(TARGET_ARCH),arm)
+endif # SANITIZE_LITE