[Bug libstdc++/59392] crash on throw from "unexpected exception" handler with ARM EABI unwinder
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392 roland at gnu dot org changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from roland at gnu dot org --- Fixed on trunk and 4.8.
[Bug libstdc++/59392] crash on throw from "unexpected exception" handler with ARM EABI unwinder
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392 --- Comment #5 from roland at gcc dot gnu.org --- Author: roland Date: Wed Mar 12 22:44:09 2014 New Revision: 208520 URL: http://gcc.gnu.org/viewcvs?rev=208520&root=gcc&view=rev Log: PR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler libstdc++-v3/ PR libstdc++/59392 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with the address of a null pointer, not with a null pointer to pointer. Copy comment for this case from eh_personality.cc:__cxa_call_unexpected. * testsuite/18_support/bad_exception/59392.cc: New file. Added: branches/gcc-4_8-branch/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc (with props) Modified: branches/gcc-4_8-branch/libstdc++-v3/ChangeLog branches/gcc-4_8-branch/libstdc++-v3/libsupc++/eh_call.cc Propchange: branches/gcc-4_8-branch/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc ('svn:eol-style' added)
[Bug libstdc++/59392] crash on throw from "unexpected exception" handler with ARM EABI unwinder
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392 --- Comment #4 from roland at gcc dot gnu.org --- Author: roland Date: Wed Mar 12 22:42:13 2014 New Revision: 208519 URL: http://gcc.gnu.org/viewcvs?rev=208519&root=gcc&view=rev Log: PR libstdc++/59392: Fix ARM EABI uncaught throw from unexpected exception handler libstdc++-v3/ PR libstdc++/59392 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with the address of a null pointer, not with a null pointer to pointer. Copy comment for this case from eh_personality.cc:__cxa_call_unexpected. * testsuite/18_support/bad_exception/59392.cc: New file. Added: trunk/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc (with props) Modified: trunk/libstdc++-v3/ChangeLog trunk/libstdc++-v3/libsupc++/eh_call.cc Propchange: trunk/libstdc++-v3/testsuite/18_support/bad_exception/59392.cc ('svn:eol-style' added)
[Bug libstdc++/59392] crash on throw from "unexpected exception" handler with ARM EABI unwinder
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392 Jonathan Wakely changed: What|Removed |Added Keywords||patch Status|UNCONFIRMED |NEW Last reconfirmed||2014-03-12 Ever confirmed|0 |1 --- Comment #3 from Jonathan Wakely --- The posted patch is OK, approved for trunk and 4.8
[Bug libstdc++/59392] crash on throw from "unexpected exception" handler with ARM EABI unwinder
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392 --- Comment #2 from roland at gnu dot org --- Fix posted: http://gcc.gnu.org/ml/gcc-patches/2013-12/msg00753.html
[Bug libstdc++/59392] crash on throw from "unexpected exception" handler with ARM EABI unwinder
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59392 Mark Seaborn changed: What|Removed |Added CC||mseaborn at chromium dot org --- Comment #1 from Mark Seaborn --- Instead of: if (catch_type->__do_catch(&bad_exc, NULL, 1)) I think this should be: // We don't have a thrown object to compare against, but since // bad_exception doesn't have virtual bases, that's OK; just pass 0. void *obj = NULL; if (catch_type->__do_catch(&bad_exc, &obj, 1)) or to avoid the comment, just: std::bad_exception ex; void *obj = &ex; if (catch_type->__do_catch(&typeid(ex), &obj, 1)) The non-EABI equivalent is the second check_exception_spec() call in __cxa_call_unexpected() in eh_personality.cc.