The branch, v4-9-test has been updated via 29883c7 waf: Add -fstack-clash-protection via 7249a4e waf: Check for -fstack-protect-strong support from 7a39bcd VERSION: Bump version up to 4.9.2...
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-9-test - Log ----------------------------------------------------------------- commit 29883c7bcbdc742bf22d6205543321f57200a20e Author: Andreas Schneider <a...@samba.org> Date: Mon Sep 3 10:49:52 2018 +0200 waf: Add -fstack-clash-protection https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/ BUG: https://bugzilla.samba.org/show_bug.cgi?id=13601 Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> (cherry picked from commit fc4df251c88365142515a81bea1120b2b84cc4a0) Autobuild-User(v4-9-test): Karolin Seeger <ksee...@samba.org> Autobuild-Date(v4-9-test): Wed Sep 26 15:55:52 CEST 2018 on sn-devel-144 commit 7249a4e54b290bb2d3081d2cbcee3ebcd6f198a9 Author: Andreas Schneider <a...@samba.org> Date: Mon Sep 3 10:35:08 2018 +0200 waf: Check for -fstack-protect-strong support The -fstack-protector* flags are compiler only flags, don't pass them to the linker. https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc/ BUG: https://bugzilla.samba.org/show_bug.cgi?id=13601 Signed-off-by: Andreas Schneider <a...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> (cherry picked from commit 38e97f8b52e85bdfcf2d74a4fb3c848fa46ba371) ----------------------------------------------------------------------- Summary of changes: buildtools/wafsamba/samba_autoconf.py | 53 ++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 17 deletions(-) Changeset truncated at 500 lines: diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index c4391d0..f2b3ec8 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -674,23 +674,42 @@ def SAMBA_CONFIG_H(conf, path=None): return # 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', - mandatory=False, - msg='Checking if toolchain accepts -fstack-protector'): - conf.ADD_CFLAGS('-fstack-protector') - conf.ADD_LDFLAGS('-fstack-protector') + stack_protect_list = ['-fstack-protector-strong', '-fstack-protector'] + for stack_protect_flag in stack_protect_list: + flag_supported = conf.check(fragment=''' + #include <stdio.h> + + int main(void) + { + char t[100000]; + while (fgets(t, sizeof(t), stdin)); + return 0; + } + ''', + execute=0, + ccflags=[ '-Werror', '-Wp,-D_FORTIFY_SOURCE=2', stack_protect_flag], + mandatory=False, + msg='Checking if compiler accepts %s' % (stack_protect_flag)) + if flag_supported: + conf.ADD_CFLAGS('-Wp,-D_FORTIFY_SOURCE=2 %s' % (stack_protect_flag)) + break + + flag_supported = conf.check(fragment=''' + #include <stdio.h> + + int main(void) + { + char t[100000]; + while (fgets(t, sizeof(t), stdin)); + return 0; + } + ''', + execute=0, + ccflags=[ '-Werror', '-fstack-clash-protection'], + mandatory=False, + msg='Checking if compiler accepts -fstack-clash-protection') + if flag_supported: + conf.ADD_CFLAGS('-fstack-clash-protection') if Options.options.debug: conf.ADD_CFLAGS('-g', testflags=True) -- Samba Shared Repository