summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <markos.chandras@imgtec.com>2014-02-07 17:15:27 +0000
committerAndrey Konovalov <andrey.konovalov@linaro.org>2014-11-04 13:48:27 +0300
commit5ff7a27fe1511b044c194603c94d030ec261b2a9 (patch)
tree8df8c188465f5450fe48d36faf7a4ee7a61c45a9
parent72271c21a4bc12d87b0c484daedac64f4a8e84f6 (diff)
Makefile: Unset stack-protector gcc flag if it is not supported
In case the compiler does not support the stack-protector option, unset the flag to avoid build failures. Printing a warning is enough to let the user know that this flag will not be used. Fixes the following build problem when using a toolchain which does not support the -fstack-protector-strong flag: Makefile:614: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler mips-linux-gnu-gcc: error: unrecognized command line option '-fstack-protector-strong' scripts/Makefile.build:308: recipe for target 'scripts/mod/empty.o' failed make[2]: *** [scripts/mod/empty.o] Error 1 make[2]: *** Waiting for unfinished jobs.... scripts/Makefile.build:455: recipe for target 'scripts/mod' failed Cc: Michal Marek <mmarek@suse.cz> Cc: linux-kbuild@vger.kernel.org Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
-rw-r--r--Makefile2
1 files changed, 2 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 52c129725270..49ccf4e9a447 100644
--- a/Makefile
+++ b/Makefile
@@ -655,6 +655,7 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR_REGULAR: \
-fstack-protector not supported by compiler)
+ stackp-flag :=
endif
else
ifdef CONFIG_CC_STACKPROTECTOR_STRONG
@@ -662,6 +663,7 @@ ifdef CONFIG_CC_STACKPROTECTOR_STRONG
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: \
-fstack-protector-strong not supported by compiler)
+ stackp-flag :=
endif
else
# Force off for distro compilers that enable stack protector by default.