Patchwork [13/18] Prohibit stack-protection if the compiler is not capable.

login
register
mail settings
Submitter Nix
Date March 8, 2016, 1:50 p.m.
Message ID <1457445064-7107-14-git-send-email-nix@esperi.org.uk>
Download mbox | patch
Permalink /patch/11257/
State New
Headers show

Comments

Nix - March 8, 2016, 1:50 p.m.
From: Nick Alcock <nick.alcock@oracle.com>

We need support for __attribute__ ((__optimize__ ("-fno-stack-protector")))
if -fno-stack-protector is to work reliably.

v4: New.

	* configure.ac [stack_protector && !libc_cv_cc_no_stack_protector]:
	Error out in this case.
---
 configure.ac | 5 +++++
 1 file changed, 5 insertions(+)

Patch

diff --git a/configure.ac b/configure.ac
index 38e9c27..9df57ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -665,6 +665,11 @@  AC_SUBST(stack_protector)
 AC_SUBST(no_stack_protector)
 
 if test -n "$stack_protector"; then
+  dnl We cannot work without the ability to disable -fstack-protector for
+  dnl specific functions.
+  if test $libc_cv_cc_no_stack_protector = no; then
+      AC_MSG_ERROR([--enable-stack-protector not supported without __attribute__ ((__optimize__ ("-fno-stack-protector"))).])
+  fi
   dnl Don't run configure tests with stack-protection on, to avoid problems with
   dnl bootstrapping.
   no_ssp=-fno-stack-protector