[SCM] Samba Shared Repository - branch v4-9-test updated

Karolin Seeger kseeger at samba.org
Wed Sep 26 13:56:02 UTC 2018


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 <asn at 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 <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    (cherry picked from commit fc4df251c88365142515a81bea1120b2b84cc4a0)
    
    Autobuild-User(v4-9-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-9-test): Wed Sep 26 15:55:52 CEST 2018 on sn-devel-144

commit 7249a4e54b290bb2d3081d2cbcee3ebcd6f198a9
Author: Andreas Schneider <asn at 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 <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at 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



More information about the samba-cvs mailing list