--- gcc-4.7.3/gcc/diagnostic.c	2012-02-02 15:46:06.000000000 -0500
+++ gcc-patched/gcc/diagnostic.c	2013-05-23 14:07:10.756527912 -0400
@@ -31,6 +31,10 @@
 #include "intl.h"
 #include "diagnostic.h"
 
+#include <execinfo.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <stdio.h>
 #define pedantic_warning_kind(DC)			\
   ((DC)->pedantic_errors ? DK_ERROR : DK_WARNING)
 #define permissive_error_kind(DC) ((DC)->permissive ? DK_WARNING : DK_ERROR)
@@ -237,6 +241,11 @@
       if (context->abort_on_error)
 	real_abort ();
 
+      {
+        void *stack[100];
+        int count = backtrace(stack, 100);
+        backtrace_symbols_fd(stack, count, STDERR_FILENO);
+      }
       fnotice (stderr, "Please submit a full bug report,\n"
 	       "with preprocessed source if appropriate.\n"
 	       "See %s for instructions.\n", bug_report_url);
