From b5390f71940f2188da9e093d4130753bfb88e25a Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Mon, 4 Jul 2016 16:59:53 +0100 Subject: [PATCH] Have LOCAL_ASFLAGS honor debug/non-debug configuration. With this change the NDEBUG macro can be used in assembly files. Change-Id: I640594a20d5654de62cd4116087040b565eef0ce Test: ART host tests. --- benchmark/Android.mk | 2 +- build/Android.common_build.mk | 17 ++++++++++++++++- build/Android.executable.mk | 2 ++ build/Android.gtest.mk | 2 +- compiler/Android.mk | 2 ++ disassembler/Android.mk | 2 ++ runtime/Android.mk | 2 ++ runtime/simulator/Android.mk | 2 ++ test/Android.libarttest.mk | 4 +++- test/Android.libnativebridgetest.mk | 2 +- 10 files changed, 32 insertions(+), 5 deletions(-) diff --git a/benchmark/Android.mk b/benchmark/Android.mk index a4a603ad0..17ea4da14 100644 --- a/benchmark/Android.mk +++ b/benchmark/Android.mk @@ -56,7 +56,7 @@ define build-libartbenchmark else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS) - LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) + LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) $(ART_HOST_DEBUG_ASFLAGS) LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread LOCAL_IS_HOST_MODULE := true LOCAL_MULTILIB := both diff --git a/build/Android.common_build.mk b/build/Android.common_build.mk index 123bcaa3b..bd13d1622 100644 --- a/build/Android.common_build.mk +++ b/build/Android.common_build.mk @@ -34,7 +34,7 @@ ART_BUILD_TARGET_DEBUG ?= true ART_BUILD_HOST_NDEBUG ?= true ART_BUILD_HOST_DEBUG ?= true -# Set this to change what opt level Art is built at. +# Set this to change what opt level ART is built at. ART_DEBUG_OPT_FLAG ?= -O2 ART_NDEBUG_OPT_FLAG ?= -O3 @@ -336,6 +336,12 @@ art_debug_cflags := \ -DDYNAMIC_ANNOTATIONS_ENABLED=1 \ -UNDEBUG +# Assembler flags for non-debug ART and ART tools. +art_non_debug_asflags := + +# Assembler flags for debug ART and ART tools. +art_debug_asflags := -UNDEBUG + art_host_non_debug_cflags := $(art_non_debug_cflags) art_target_non_debug_cflags := $(art_non_debug_cflags) @@ -386,6 +392,11 @@ ART_TARGET_NON_DEBUG_CFLAGS := $(art_target_non_debug_cflags) ART_HOST_DEBUG_CFLAGS := $(art_debug_cflags) ART_TARGET_DEBUG_CFLAGS := $(art_debug_cflags) +ART_HOST_NON_DEBUG_ASFLAGS := $(art_non_debug_asflags) +ART_TARGET_NON_DEBUG_ASFLAGS := $(art_non_debug_asflags) +ART_HOST_DEBUG_ASFLAGS := $(art_debug_asflags) +ART_TARGET_DEBUG_ASFLAGS := $(art_debug_asflags) + ifndef LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA LIBART_IMG_HOST_MIN_BASE_ADDRESS_DELTA=-0x1000000 endif @@ -414,6 +425,8 @@ art_host_cflags := art_target_cflags := art_debug_cflags := art_non_debug_cflags := +art_debug_asflags := +art_non_debug_asflags := art_host_non_debug_cflags := art_target_non_debug_cflags := art_default_gc_type_cflags := @@ -435,8 +448,10 @@ define set-target-local-cflags-vars art_target_cflags_ndebug_or_debug := $(1) ifeq ($$(art_target_cflags_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_TARGET_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_TARGET_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $(ART_TARGET_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_TARGET_NON_DEBUG_ASFLAGS) endif LOCAL_CLANG_CFLAGS := $(ART_TARGET_CLANG_CFLAGS) diff --git a/build/Android.executable.mk b/build/Android.executable.mk index cb6d34058..157500b4b 100644 --- a/build/Android.executable.mk +++ b/build/Android.executable.mk @@ -90,8 +90,10 @@ define build-art-executable LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS) endif LOCAL_LDLIBS += -lpthread -ldl ifeq ($$(art_static_or_shared),static) diff --git a/build/Android.gtest.mk b/build/Android.gtest.mk index 424aa7a7e..fc2ba8931 100644 --- a/build/Android.gtest.mk +++ b/build/Android.gtest.mk @@ -677,7 +677,7 @@ valgrind-test-art-target-gtest-$$(art_gtest_name): $$(ART_TEST_TARGET_VALGRIND_G else # host LOCAL_CLANG := $$(ART_HOST_CLANG) LOCAL_CFLAGS += $$(ART_HOST_CFLAGS) $$(ART_HOST_DEBUG_CFLAGS) - LOCAL_ASFLAGS += $$(ART_HOST_ASFLAGS) + LOCAL_ASFLAGS += $$(ART_HOST_ASFLAGS) $$(ART_HOST_DEBUG_ASFLAGS) LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host libnativehelper libziparchive-host libz-host libvixl LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -lpthread -ldl LOCAL_IS_HOST_MODULE := true diff --git a/compiler/Android.mk b/compiler/Android.mk index e9c22d2b0..43a50e20e 100644 --- a/compiler/Android.mk +++ b/compiler/Android.mk @@ -259,8 +259,10 @@ $$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PAT endif ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS) endif endif diff --git a/disassembler/Android.mk b/disassembler/Android.mk index bf563c766..d76bbb880 100644 --- a/disassembler/Android.mk +++ b/disassembler/Android.mk @@ -68,8 +68,10 @@ define build-libart-disassembler LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS) endif endif diff --git a/runtime/Android.mk b/runtime/Android.mk index 1c442fc8d..99c4a8262 100644 --- a/runtime/Android.mk +++ b/runtime/Android.mk @@ -515,8 +515,10 @@ endif ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $$(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $$(ART_HOST_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $$(ART_HOST_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $$(ART_HOST_NON_DEBUG_ASFLAGS) endif LOCAL_MULTILIB := both endif diff --git a/runtime/simulator/Android.mk b/runtime/simulator/Android.mk index 5c71da625..ad91cdeb2 100644 --- a/runtime/simulator/Android.mk +++ b/runtime/simulator/Android.mk @@ -65,8 +65,10 @@ define build-libart-simulator LOCAL_ASFLAGS += $(ART_HOST_ASFLAGS) ifeq ($$(art_ndebug_or_debug),debug) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS) endif endif diff --git a/test/Android.libarttest.mk b/test/Android.libarttest.mk index 01790aea1..75e74eca3 100644 --- a/test/Android.libarttest.mk +++ b/test/Android.libarttest.mk @@ -102,12 +102,14 @@ define build-libarttest else # host LOCAL_CLANG := $(ART_HOST_CLANG) LOCAL_CFLAGS := $(ART_HOST_CFLAGS) + LOCAL_ASFLAGS := $(ART_HOST_ASFLAGS) ifeq ($$(suffix),d) LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_DEBUG_ASFLAGS) else LOCAL_CFLAGS += $(ART_HOST_NON_DEBUG_CFLAGS) + LOCAL_ASFLAGS += $(ART_HOST_NON_DEBUG_ASFLAGS) endif - 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 e8cc7e45c..992332e92 100644 --- a/test/Android.libnativebridgetest.mk +++ b/test/Android.libnativebridgetest.mk @@ -60,7 +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_ASFLAGS := $(ART_HOST_ASFLAGS) $(ART_HOST_DEBUG_ASFLAGS) LOCAL_SHARED_LIBRARIES := libcutils LOCAL_LDLIBS := $(ART_HOST_LDLIBS) -ldl -lpthread ifeq ($(HOST_OS),linux) -- 2.11.0