Index: testsuite/gcc.target/i386/pr45206.c
===================================================================
--- testsuite/gcc.target/i386/pr45206.c	(revision 0)
+++ testsuite/gcc.target/i386/pr45206.c	(revision 0)
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-Os -fno-omit-frame-pointer" } */
+
+struct _Unwind_Context { void *ra; };
+
+long uw_install_context_1 (struct _Unwind_Context *, struct _Unwind_Context *);
+
+void _Unwind_RaiseException(void)
+{
+  struct _Unwind_Context this_context, cur_context;
+  long offset = uw_install_context_1 (&this_context, &cur_context);
+  void *handler = __builtin_frob_return_addr ((&cur_context)->ra);
+
+  __builtin_eh_return (offset, handler);
+}
+
Index: config/i386/i386.c
===================================================================
--- config/i386/i386.c	(revision 163943)
+++ config/i386/i386.c	(working copy)
@@ -10118,6 +10118,7 @@ ix86_expand_epilogue (int style)
 		}
 	    }
 	  m->fs.sp_offset = UNITS_PER_WORD;
+	  m->fs.sp_valid = true;
 	}
     }
   else
