diff options
Diffstat (limited to 'runtime/Android.mk')
| -rw-r--r-- | runtime/Android.mk | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/runtime/Android.mk b/runtime/Android.mk index 74cc89911d..993f37f3f7 100644 --- a/runtime/Android.mk +++ b/runtime/Android.mk @@ -229,6 +229,16 @@ LIBART_COMMON_SRC_FILES += \ LIBART_TARGET_LDFLAGS := LIBART_HOST_LDFLAGS := +# Keep the __jit_debug_register_code symbol as a unique symbol during ICF for architectures where +# we use gold as the linker (arm, x86, x86_64). The symbol is used by the debuggers to detect when +# new jit code is generated. We don't want it to be called when a different function with the same +# (empty) body is called. +JIT_DEBUG_REGISTER_CODE_LDFLAGS := -Wl,--keep-unique,__jit_debug_register_code +LIBART_TARGET_LDFLAGS_arm := $(JIT_DEBUG_REGISTER_CODE_LDFLAGS) +LIBART_TARGET_LDFLAGS_x86 := $(JIT_DEBUG_REGISTER_CODE_LDFLAGS) +LIBART_TARGET_LDFLAGS_x86_64 := $(JIT_DEBUG_REGISTER_CODE_LDFLAGS) +JIT_DEBUG_REGISTER_CODE_LDFLAGS := + LIBART_TARGET_SRC_FILES := \ $(LIBART_COMMON_SRC_FILES) \ jdwp/jdwp_adb.cc \ @@ -450,6 +460,8 @@ $$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PAT ifeq ($$(art_target_or_host),target) LOCAL_CFLAGS += $$(LIBART_TARGET_CFLAGS) LOCAL_LDFLAGS += $$(LIBART_TARGET_LDFLAGS) + $$(foreach arch,$$(ART_TARGET_SUPPORTED_ARCH), \ + $$(eval LOCAL_LDFLAGS_$$(arch) := $$(LIBART_TARGET_LDFLAGS_$$(arch)))) else #host LOCAL_CFLAGS += $$(LIBART_HOST_CFLAGS) LOCAL_LDFLAGS += $$(LIBART_HOST_LDFLAGS) @@ -457,8 +469,6 @@ $$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PAT LOCAL_LDFLAGS += -static endif endif - $$(foreach arch,$$(ART_TARGET_SUPPORTED_ARCH), \ - $$(eval LOCAL_LDFLAGS_$$(arch) := $$(LIBART_TARGET_LDFLAGS_$$(arch)))) # Clang usage ifeq ($$(art_target_or_host),target) @@ -491,9 +501,19 @@ $$(ENUM_OPERATOR_OUT_GEN): $$(GENERATED_SRC_DIR)/%_operator_out.cc : $(LOCAL_PAT LOCAL_C_INCLUDES += art ifeq ($$(art_static_or_shared),static) - LOCAL_STATIC_LIBRARIES := libnativehelper libnativebridge libsigchain_dummy libbacktrace + LOCAL_STATIC_LIBRARIES := libnativehelper + LOCAL_STATIC_LIBRARIES += libnativebridge + LOCAL_STATIC_LIBRARIES += libnativeloader + LOCAL_STATIC_LIBRARIES += libsigchain_dummy + LOCAL_STATIC_LIBRARIES += libbacktrace + LOCAL_STATIC_LIBRARIES += liblz4 else - LOCAL_SHARED_LIBRARIES := libnativehelper libnativebridge libsigchain libbacktrace + LOCAL_SHARED_LIBRARIES := libnativehelper + LOCAL_SHARED_LIBRARIES += libnativebridge + LOCAL_SHARED_LIBRARIES += libnativeloader + LOCAL_SHARED_LIBRARIES += libsigchain + LOCAL_SHARED_LIBRARIES += libbacktrace + LOCAL_SHARED_LIBRARIES += liblz4 endif ifeq ($$(art_target_or_host),target) @@ -577,8 +597,14 @@ LIBART_COMMON_SRC_FILES := LIBART_HOST_DEFAULT_INSTRUCTION_SET_FEATURES := LIBART_TARGET_DEFAULT_INSTRUCTION_SET_FEATURES := 2ND_LIBART_TARGET_DEFAULT_INSTRUCTION_SET_FEATURES := -LIBART_TARGET_LDFLAGS := LIBART_HOST_LDFLAGS := +LIBART_TARGET_LDFLAGS := +LIBART_TARGET_LDFLAGS_arm := +LIBART_TARGET_LDFLAGS_arm64 := +LIBART_TARGET_LDFLAGS_x86 := +LIBART_TARGET_LDFLAGS_x86_64 := +LIBART_TARGET_LDFLAGS_mips := +LIBART_TARGET_LDFLAGS_mips64 := LIBART_TARGET_SRC_FILES := LIBART_TARGET_SRC_FILES_arm := LIBART_TARGET_SRC_FILES_arm64 := |