Add support for TARGET_GLOBAL_UNSUPPORTED_CFLAGS
To ease the transition between toolchains, allow a target to specify
a list of cflags that the toolchain does not support. These will be
filtered out of the cflags provided by the module.
Add TARGET_GLOBAL_UNSUPPORTED_CFLAGS := -fstack-protector for the
aarch64 toolchain, it does not yet suport -fstack-protector.
Change-Id: I168d0c6f131326fad305ec86fad46e6a3e03295a
diff --git a/core/binary.mk b/core/binary.mk
index 3556b99..adc2f44 100644
--- a/core/binary.mk
+++ b/core/binary.mk
@@ -97,6 +97,7 @@
my_c_includes := $(LOCAL_C_INCLUDES) $(LOCAL_C_INCLUDES_$(TARGET_$(LOCAL_2ND_ARCH_VAR_PREFIX)ARCH))
my_generated_sources := $(LOCAL_GENERATED_SOURCES)
+my_cflags := $(filter-out $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_GLOBAL_UNSUPPORTED_CFLAGS),$(my_cflags))
# The real dependency will be added after all Android.mks are loaded and the install paths
# of the shared libraries are determined.
diff --git a/core/combo/TARGET_linux-arm64.mk b/core/combo/TARGET_linux-arm64.mk
index a175eab..76ee567 100644
--- a/core/combo/TARGET_linux-arm64.mk
+++ b/core/combo/TARGET_linux-arm64.mk
@@ -91,6 +91,9 @@
-include $(android_config_h) \
-I $(dir $(android_config_h))
+# HACK: globally disable -fstack-protector until the toolchain supports it
+TARGET_GLOBAL_UNSUPPORTED_CFLAGS := -fstack-protector
+
# TODO - remove __ANDROID__ after the next aarch64 toolchain refresh
TARGET_GLOBAL_CFLAGS += -D__ANDROID__=1