diff --git a/core/clear_vars.mk b/core/clear_vars.mk index f23c4a65e..6ba4e717f 100644 --- a/core/clear_vars.mk +++ b/core/clear_vars.mk @@ -157,6 +157,7 @@ LOCAL_MODULE_TARGET_ARCH_WARN:= LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH:= LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN:= LOCAL_MODULE_HOST_ARCH:= +LOCAL_NO_FPIE := # arch specific variables LOCAL_SRC_FILES_$(TARGET_ARCH):= diff --git a/core/definitions.mk b/core/definitions.mk index b18f56e7c..dcb9fc601 100644 --- a/core/definitions.mk +++ b/core/definitions.mk @@ -1442,7 +1442,6 @@ $(hide) $(PRIVATE_CXX) \ $($(PRIVATE_2ND_ARCH_VAR_PREFIX)HOST_GLOBAL_LD_DIRS) \ $(if $(PRIVATE_NO_DEFAULT_COMPILER_FLAGS),, \ $(PRIVATE_HOST_GLOBAL_LDFLAGS) \ - $(HOST_FPIE_FLAGS) \ ) \ $(PRIVATE_LDFLAGS) \ -o $@ \ diff --git a/core/host_executable.mk b/core/host_executable.mk index bf3cde1fd..0091f3f73 100644 --- a/core/host_executable.mk +++ b/core/host_executable.mk @@ -13,6 +13,10 @@ endif endif endif +ifeq ($(LOCAL_NO_FPIE),) +LOCAL_LDFLAGS += $(HOST_FPIE_FLAGS) +endif + ifeq ($(my_module_multilib),both) ifeq ($(LOCAL_MODULE_PATH_32)$(LOCAL_MODULE_STEM_32),) $(error $(LOCAL_PATH): LOCAL_MODULE_STEM_32 or LOCAL_MODULE_PATH_32 is required for LOCAL_MULTILIB := both for module $(LOCAL_MODULE))