[llvm-commits] [llvm-gcc-4.2] r59021 - in /llvm-gcc-4.2/trunk/gcc: common.opt config/darwin.c

Bill Wendling isanbard at gmail.com
Mon Nov 10 20:28:22 PST 2008


Author: void
Date: Mon Nov 10 22:28:21 2008
New Revision: 59021

URL: http://llvm.org/viewvc/llvm-project?rev=59021&view=rev
Log:
- Enable stack protectors by default for Darwin 10.6 and later.
- Don't enable stack protectors by default for Darwin 10.5.

This isn't exact. If we're building a 10.5 binary on a 10.6 system, then stack
protectors should be enabled.

Modified:
    llvm-gcc-4.2/trunk/gcc/common.opt
    llvm-gcc-4.2/trunk/gcc/config/darwin.c

Modified: llvm-gcc-4.2/trunk/gcc/common.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/common.opt?rev=59021&r1=59020&r2=59021&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/common.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/common.opt Mon Nov 10 22:28:21 2008
@@ -1018,9 +1018,8 @@
 -fstack-limit-symbol=<name>	Trap if the stack goes past symbol <name>
 
 ; APPLE LOCAL begin stack-protector default 5095227
-; LLVM LOCAL FIXME Don't add Init just yet
 fstack-protector
-Common Report Var(flag_stack_protect, 1)
+Common Report Var(flag_stack_protect, 1) Init(-1)
 Use propolice as a stack protection method
 ; APPLE LOCAL end stack-protector default 5095227
 

Modified: llvm-gcc-4.2/trunk/gcc/config/darwin.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/darwin.c?rev=59021&r1=59020&r2=59021&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/darwin.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/darwin.c Mon Nov 10 22:28:21 2008
@@ -2686,12 +2686,22 @@
   /* APPLE LOCAL begin stack-protector default 5095227 */
   /* Default flag_stack_protect to 1 if on 10.5 or later for user code,
      or 10.6 or later for code identified as part of the kernel.  */
+  /* LLVM LOCAL begin - Don't enable stack protectors by default for Leopard. */
+#ifndef ENABLE_LLVM
   if (flag_stack_protect == -1
       && darwin_macosx_version_min
       && ((! flag_mkernel && ! flag_apple_kext
 	   && strverscmp (darwin_macosx_version_min, "10.5") >= 0)
 	  || strverscmp (darwin_macosx_version_min, "10.6") >= 0))
     flag_stack_protect = 1;
+#else
+  if (flag_stack_protect == -1 && darwin_macosx_version_min)
+    if (strverscmp (darwin_macosx_version_min, "10.5") >= 0)
+      flag_stack_protect = 0;
+    else if (strverscmp (darwin_macosx_version_min, "10.6") >= 0)
+      flag_stack_protect = 1;
+#endif
+  /* LLVM LOCAL end - Don't enable stack protectors by default for Leopard. */
   /* APPLE LOCAL end stack-protector default 5095227 */
 /* APPLE LOCAL diff confuses me */
 }





More information about the llvm-commits mailing list