diff options
author | 2015-06-04 17:50:27 +0100 | |
---|---|---|
committer | 2015-06-04 11:26:19 -0700 | |
commit | 12bd7210bb2f5738e33dfa3f2f1cba2e0aab4955 (patch) | |
tree | ceff4c27b7d3173da61dda12b1b05e062e82e3d9 | |
parent | 2519fc40d4ae89322d28d1ff610fe81bb90fb564 (diff) |
If heap poisoning is on, pass the relevant flag to LOCAL_ASFLAGS.
This change ensures assembly files honoring heap poisoning
(notably used by stub_test) are compiled with
-DART_HEAP_POISONING=1 when this feature is turned on.
Bug: 21621105
Change-Id: I13fe456cd2733a09bdfd3a9808cfd70513b14698
-rw-r--r-- | build/Android.common_build.mk | 12 | ||||
-rw-r--r-- | build/Android.executable.mk | 5 | ||||
-rw-r--r-- | build/Android.gtest.mk | 2 | ||||
-rw-r--r-- | compiler/Android.mk | 1 | ||||
-rw-r--r-- | disassembler/Android.mk | 5 | ||||
-rw-r--r-- | runtime/Android.mk | 1 | ||||
-rw-r--r-- | sigchainlib/Android.mk | 4 | ||||
-rw-r--r-- | test/Android.libarttest.mk | 1 | ||||
-rw-r--r-- | test/Android.libnativebridgetest.mk | 1 |
9 files changed, 28 insertions, 4 deletions
diff --git a/build/Android.common_build.mk b/build/Android.common_build.mk index b84154b307..ace6a73654 100644 --- a/build/Android.common_build.mk +++ b/build/Android.common_build.mk @@ -68,6 +68,9 @@ art_default_gc_type_cflags := -DART_DEFAULT_GC_TYPE_IS_$(ART_DEFAULT_GC_TYPE) ART_HOST_CFLAGS := ART_TARGET_CFLAGS := +ART_HOST_ASFLAGS := +ART_TARGET_ASFLAGS := + # Clang build support. # Host. @@ -199,6 +202,9 @@ art_cflags := \ -fvisibility=protected \ $(art_default_gc_type_cflags) +# Base set of asflags used by all things ART. +art_asflags := + # Missing declarations: too many at the moment, as we use "extern" quite a bit. # -Wmissing-declarations \ @@ -217,10 +223,12 @@ endif ifeq ($(ART_HEAP_POISONING),true) art_cflags += -DART_HEAP_POISONING=1 + art_asflags += -DART_HEAP_POISONING=1 endif ifeq ($(ART_USE_READ_BARRIER),true) art_cflags += -DART_USE_READ_BARRIER=1 + art_asflags += -DART_USE_READ_BARRIER=1 endif ifeq ($(ART_USE_TLAB),true) @@ -258,11 +266,13 @@ ifndef LIBART_IMG_HOST_BASE_ADDRESS endif ART_HOST_CFLAGS += $(art_cflags) -DART_BASE_ADDRESS=$(LIBART_IMG_HOST_BASE_ADDRESS) ART_HOST_CFLAGS += -DART_DEFAULT_INSTRUCTION_SET_FEATURES=default +ART_HOST_ASFLAGS += $(art_asflags) ifndef LIBART_IMG_TARGET_BASE_ADDRESS $(error LIBART_IMG_TARGET_BASE_ADDRESS unset) endif ART_TARGET_CFLAGS += $(art_cflags) -DART_TARGET -DART_BASE_ADDRESS=$(LIBART_IMG_TARGET_BASE_ADDRESS) +ART_TARGET_ASFLAGS += $(art_asflags) ART_HOST_NON_DEBUG_CFLAGS := $(art_host_non_debug_cflags) ART_TARGET_NON_DEBUG_CFLAGS := $(art_target_non_debug_cflags) @@ -292,6 +302,7 @@ ART_TARGET_CFLAGS += -DART_BASE_ADDRESS_MAX_DELTA=$(LIBART_IMG_TARGET_MAX_BASE_A # Clear locals now they've served their purpose. art_cflags := +art_asflags := art_debug_cflags := art_non_debug_cflags := art_host_non_debug_cflags := @@ -311,6 +322,7 @@ ART_TARGET_LDFLAGS := define set-target-local-cflags-vars LOCAL_CFLAGS += $(ART_TARGET_CFLAGS) LOCAL_CFLAGS_x86 += $(ART_TARGET_CFLAGS_x86) + LOCAL_ASFLAGS += $(ART_TARGET_ASFLAGS) LOCAL_LDFLAGS += $(ART_TARGET_LDFLAGS) art_target_cflags_ndebug_or_debug := $(1) ifeq ($$(art_target_cflags_ndebug_or_debug),debug) diff --git a/build/Android.executable.mk b/build/Android.executable.mk index dfea6e191e..7b036825e7 100644 --- a/build/Android.executable.mk +++ b/build/Android.executable.mk @@ -70,13 +70,14 @@ define build-art-executable endif ifeq ($$(art_target_or_host),target) - $(call set-target-local-clang-vars) - $(call set-target-local-cflags-vars,$(6)) + $(call set-target-local-clang-vars) + $(call set-target-local-cflags-vars,$(6)) LOCAL_SHARED_LIBRARIES += libdl else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_LDLIBS := $(ART_HOST_LDLIBS) LOCAL_CFLAGS += $(ART_HOST_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) else diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk index 5052187794..4fc184ecd9 100644 --- a/build/Android.gtest.mk +++ b/build/Android.gtest.mk @@ -291,6 +291,7 @@ LOCAL_MODULE := libart-gtest LOCAL_MODULE_TAGS := optional LOCAL_CPP_EXTENSION := cc LOCAL_CFLAGS := $(ART_HOST_CFLAGS) +LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) LOCAL_SRC_FILES := runtime/common_runtime_test.cc compiler/common_compiler_test.cc LOCAL_C_INCLUDES := $(ART_C_INCLUDES) art/runtime art/compiler LOCAL_SHARED_LIBRARIES := libartd libartd-compiler @@ -489,6 +490,7 @@ test-art-target-gtest-$$(art_gtest_name): $$(ART_TEST_TARGET_GTEST_$$(art_gtest_ else # host LOCAL_CLANG := $$(ART_HOST_CLANG) LOCAL_CFLAGS += $$(ART_HOST_CFLAGS) $$(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $$(ART_HOST_ASFLAGS) LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host libnativehelper libziparchive-host libz-host libvixld LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -lpthread -ldl LOCAL_IS_HOST_MODULE := true diff --git a/compiler/Android.mk b/compiler/Android.mk index 3f5271d31f..67536f00b9 100644 --- a/compiler/Android.mk +++ b/compiler/Android.mk @@ -234,6 +234,7 @@ $$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PAT else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_CFLAGS += $(ART_HOST_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) LOCAL_LDLIBS := $(ART_HOST_LDLIBS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) diff --git a/disassembler/Android.mk b/disassembler/Android.mk index 691c43f7a6..039986ce2b 100644 --- a/disassembler/Android.mk +++ b/disassembler/Android.mk @@ -59,12 +59,13 @@ define build-libart-disassembler LOCAL_SRC_FILES := $$(LIBART_DISASSEMBLER_SRC_FILES) ifeq ($$(art_target_or_host),target) - $(call set-target-local-clang-vars) - $(call set-target-local-cflags-vars,$(2)) + $(call set-target-local-clang-vars) + $(call set-target-local-cflags-vars,$(2)) else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_LDLIBS := $(ART_HOST_LDLIBS) LOCAL_CFLAGS += $(ART_HOST_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) else diff --git a/runtime/Android.mk b/runtime/Android.mk index b38f9bc9a5..c1e6e09728 100644 --- a/runtime/Android.mk +++ b/runtime/Android.mk @@ -451,6 +451,7 @@ $$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PAT endif LOCAL_CFLAGS += $$(ART_HOST_CFLAGS) LOCAL_CFLAGS += -DART_DEFAULT_INSTRUCTION_SET_FEATURES="$(LIBART_HOST_DEFAULT_INSTRUCTION_SET_FEATURES)" + LOCAL_ASFLAGS += $$(ART_HOST_ASFLAGS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $$(ART_HOST_DEBUG_CFLAGS) diff --git a/sigchainlib/Android.mk b/sigchainlib/Android.mk index e1aae11f06..11f44fec83 100644 --- a/sigchainlib/Android.mk +++ b/sigchainlib/Android.mk @@ -22,6 +22,7 @@ include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION) LOCAL_MODULE_TAGS := optional LOCAL_CFLAGS += $(ART_TARGET_CFLAGS) +LOCAL_ASFLAGS += $(ART_TARGET_ASFLAGS) LOCAL_SRC_FILES := sigchain_dummy.cc LOCAL_CLANG = $(ART_TARGET_CLANG) LOCAL_MODULE:= libsigchain @@ -36,6 +37,7 @@ include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION) LOCAL_MODULE_TAGS := optional LOCAL_CFLAGS += $(ART_TARGET_CFLAGS) +LOCAL_ASFLAGS += $(ART_TARGET_ASFLAGS) LOCAL_SRC_FILES := sigchain.cc LOCAL_CLANG = $(ART_TARGET_CLANG) LOCAL_MODULE:= libsigchain @@ -51,6 +53,7 @@ LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION) LOCAL_MODULE_TAGS := optional LOCAL_IS_HOST_MODULE := true LOCAL_CFLAGS += $(ART_HOST_CFLAGS) +LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) LOCAL_CLANG = $(ART_HOST_CLANG) LOCAL_SRC_FILES := sigchain_dummy.cc LOCAL_MODULE:= libsigchain @@ -65,6 +68,7 @@ LOCAL_CPP_EXTENSION := $(ART_CPP_EXTENSION) LOCAL_MODULE_TAGS := optional LOCAL_IS_HOST_MODULE := true LOCAL_CFLAGS += $(ART_HOST_CFLAGS) +LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) LOCAL_CLANG = $(ART_HOST_CLANG) LOCAL_SRC_FILES := sigchain.cc LOCAL_MODULE:= libsigchain diff --git a/test/Android.libarttest.mk b/test/Android.libarttest.mk index 57d06c49cd..847ad0d2f7 100644 --- a/test/Android.libarttest.mk +++ b/test/Android.libarttest.mk @@ -74,6 +74,7 @@ define build-libarttest else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread LOCAL_IS_HOST_MODULE := true LOCAL_MULTILIB := both diff --git a/test/Android.libnativebridgetest.mk b/test/Android.libnativebridgetest.mk index 5a5f72584f..e8cc7e45ce 100644 --- a/test/Android.libnativebridgetest.mk +++ b/test/Android.libnativebridgetest.mk @@ -60,6 +60,7 @@ define build-libnativebridgetest else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) LOCAL_SHARED_LIBRARIES := libcutils LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread ifeq ($(HOST_OS),linux) |