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-02-17 18:25:22 +0400
commitf20da497ed770207500d9441f5e8bfbd9500686d (patch)
tree7b5a67037dc6c26179d70a11f1e7c4d7e1fdf0da
parent3ed4a3fd85d4683334c2d759c7101e3244bc109c (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 25f1e6ccc2ec..48ee885fb147 100644
--- a/Makefile
+++ b/Makefile
@@ -607,12 +607,14 @@ ifdef CONFIG_CC_STACKPROTECTOR_REGULAR
ifeq ($(call cc-option, $(stackp-flag)),)
$(warning Cannot use CONFIG_CC_STACKPROTECTOR: \
-fstack-protector not supported by compiler)
+ stackp-flag :=
endif
else ifdef CONFIG_CC_STACKPROTECTOR_STRONG
stackp-flag := -fstack-protector-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.