diff options
Diffstat (limited to 'package/samba4/0002-build-improve-stack-protector-check.patch')
| -rw-r--r-- | package/samba4/0002-build-improve-stack-protector-check.patch | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/package/samba4/0002-build-improve-stack-protector-check.patch b/package/samba4/0002-build-improve-stack-protector-check.patch deleted file mode 100644 index 51ffc045b1..0000000000 --- a/package/samba4/0002-build-improve-stack-protector-check.patch +++ /dev/null @@ -1,56 +0,0 @@ -From e4ef92852023f4e2f192d3c47220dc75930a615c Mon Sep 17 00:00:00 2001 -From: Gustavo Zacarias <gustavo@zacarias.com.ar> -Date: Fri, 11 Sep 2015 16:41:31 -0300 -Subject: [PATCH] build: improve stack protector check - -Testing a toolchain for proper -fstack-protector must go beyond ensuring -the compiler and linker accept the option. -If the test C program does nothing with the stack then guards aren't -inserted and/or are optimized away giving the false impression that it -works when in fact the libc might not support it. - -Update the check to a program that uses the stack, hence making a link -fail if proper support isn't available, for example in non-ssp enabled -uclibc toolchains like this: - -test.c:(.text.startup+0x64): undefined reference to `__stack_chk_fail' - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> ---- - buildtools/wafsamba/samba_autoconf.py | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py -index c5f132c..ef34b00 100644 ---- a/buildtools/wafsamba/samba_autoconf.py -+++ b/buildtools/wafsamba/samba_autoconf.py -@@ -657,9 +657,23 @@ def SAMBA_CONFIG_H(conf, path=None): - if not IN_LAUNCH_DIR(conf): - return - -- if conf.CHECK_CFLAGS(['-fstack-protector']) and conf.CHECK_LDFLAGS(['-fstack-protector']): -- conf.ADD_CFLAGS('-fstack-protector') -- conf.ADD_LDFLAGS('-fstack-protector') -+ # we need to build real code that can't be optimized away to test -+ if conf.check(fragment=''' -+ #include <stdio.h> -+ -+ int main(void) -+ { -+ char t[100000]; -+ while (fgets(t, sizeof(t), stdin)); -+ return 0; -+ } -+ ''', -+ execute=0, -+ ccflags='-fstack-protector', -+ ldflags='-fstack-protector', -+ msg='Checking if toolchain accepts -fstack-protector'): -+ conf.ADD_CFLAGS('-fstack-protector') -+ conf.ADD_LDFLAGS('-fstack-protector') - - if Options.options.debug: - conf.ADD_CFLAGS('-g', testflags=True) --- -2.4.6 - |

