$OpenBSD: patch-gcc_config_i386_i386_c,v 1.1 2012/03/31 20:02:03 pascal Exp $
--- gcc/config/i386/i386.c.orig	Wed Feb 22 20:17:42 2012
+++ gcc/config/i386/i386.c	Mon Mar 12 08:48:17 2012
@@ -2326,6 +2326,8 @@ struct ix86_frame
   HOST_WIDE_INT reg_save_offset;
   HOST_WIDE_INT sse_reg_save_offset;
 
+  HOST_WIDE_INT local_size;
+
   /* When save_regs_using_mov is set, emit prologue using
      move instead of push instructions.  */
   bool save_regs_using_mov;
@@ -9223,6 +9225,7 @@ ix86_compute_frame_layout (struct ix86_frame *frame)
   HOST_WIDE_INT size = get_frame_size ();
   HOST_WIDE_INT to_allocate;
 
+  frame->local_size = size;
   frame->nregs = ix86_nsaved_regs ();
   frame->nsseregs = ix86_nsaved_sseregs ();
 
@@ -10498,6 +10501,9 @@ ix86_expand_prologue (void)
       m->fs.sp_offset = INCOMING_FRAME_SP_OFFSET;
       m->fs.realigned = true;
     }
+
+  if (warn_stack_larger_than && frame.local_size > stack_larger_than_size)
+    warning (OPT_Wstack_larger_than_, "stack usage is %d bytes", frame.local_size);
 
   if (frame_pointer_needed && !m->fs.fp_valid)
     {
