The combination of GCC (r116604 or later) and binutils-2.17 creates bad .eh_frame data causing SIGSEGV at runtime anytime an exception is thrown.
To reproduce just run the g++ testsuite. All exception tests FAIL. This problem is discussed further in: http://gcc.gnu.org/ml/gcc-patches/2006-09/msg00732.html -- Summary: [4.2 Regression] Mips exception handling broken. Product: gcc Version: 4.2.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: daney at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: mipsel-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29132