This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #54120] [PATCH] [metaconfig] Need more -fstack-protector
authorAndy Dougherty <doughera@lafayette.edu>
Tue, 13 May 2008 09:37:07 +0000 (02:37 -0700)
committerH.Merijn Brand <h.m.brand@xs4all.nl>
Sat, 17 May 2008 13:56:26 +0000 (13:56 +0000)
From: Andy Dougherty (via RT) <perlbug-followup@perl.org>
Message-ID: <rt-3.6.HEAD-9992-1210696625-331.54120-75-0@perl.org>

p4raw-id: //depot/perl@33843

Configure

index 9cd7fe6..847a90a 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -25,7 +25,7 @@
 
 # $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
 #
-# Generated on Wed Apr  2 20:45:31 CEST 2008 [metaconfig 3.5 PL0]
+# Generated on Sat May 17 15:55:21 CEST 2008 [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -5119,7 +5119,7 @@ default|recommended)
        # as that way the compiler can do the right implementation dependant
        # thing. (NWC)
        case "$gccversion" in
-       ?*)     set stack-protector -fstack-protector 'ldflags="$ldflags -fstack-protector"'
+       ?*)     set stack-protector -fstack-protector
                eval $checkccflag
                ;;
        esac
@@ -5258,6 +5258,10 @@ case "$ldflags" in
        case "$ccflags" in
        *-posix*) dflt="$dflt -posix" ;;
        esac
+       # See note above about -fstack-protector
+       case "$ccflags" in
+       *-fstack-protector*) dflt="$dflt -fstack-protector" ;;
+       esac
        ;;
 *) dflt="$ldflags";;
 esac
@@ -8023,6 +8027,16 @@ EOM
        ''|' ') dflt='none' ;;
        esac
 
+       case "$ldflags" in
+       *-fstack-protector*)
+           case "$dflt" in
+                       *-fstack-protector*) ;; # Don't add it again
+                       *) dflt="$dflt -fstack-protector" ;; 
+               esac
+               ;;
+       esac
+
+
     rp="Any special flags to pass to $ld to create a dynamically loaded library?"
     . ./myread
     case "$ans" in