$OpenBSD: pp-gcc_toplev_c,v 1.1 2005/01/04 23:06:33 espie Exp $
--- gcc/toplev.c.orig	Fri Mar  5 18:55:51 2004
+++ gcc/toplev.c	Mon Jan  3 10:17:42 2005
@@ -2449,6 +2471,8 @@ rest_of_compilation (decl)
 
       insns = get_insns ();
 
+      if (flag_propolice_protection) prepare_stack_protection (inlinable);
+  
       /* Dump the rtl code if we are dumping rtl.  */
 
       if (open_dump_file (DFI_rtl, decl))
@@ -5230,6 +5256,12 @@ process_options ()
     /* The presence of IEEE signaling NaNs, implies all math can trap.  */
     if (flag_signaling_nans)
       flag_trapping_math = 1;
+
+    /* This combination makes optimized frame addressings and causes
+       a internal compilation error at prepare_stack_protection.
+       so don't allow it.  */
+    if (flag_stack_protection && !flag_propolice_protection)
+      flag_propolice_protection = TRUE;
 }
 
 /* Initialize the compiler back end.  */
