From: Ulrich Drepper Date: Fri, 9 May 2003 03:00:52 +0000 (+0000) Subject: (unwind_cleanup): Print error message and then abort. This function must never be... X-Git-Tag: cvs/glibc-2_3_3~748 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=29b095a1561f866b995b23621d1e2ee78e473dc4;p=thirdparty%2Fglibc.git (unwind_cleanup): Print error message and then abort. This function must never be reached. --- diff --git a/nptl/unwind.c b/nptl/unwind.c index 7529174d5a4..f6537ba69b8 100644 --- a/nptl/unwind.c +++ b/nptl/unwind.c @@ -50,7 +50,13 @@ unwind_stop (int version, _Unwind_Action actions, static void unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc) { - /* Nothing to do. */ + /* When we get here a C++ catch block didn't rethrow the object. We + cannot handle this case and therefore abort. */ +# define STR_N_LEN(str) str, strlen (str) + INTERNAL_SYSCALL_DECL (err); + INTERNAL_SYSCALL (write, err, 3, STDERR_FILENO, + STR_N_LEN ("FATAL: exception not rethrown\n")); + abort (); } #endif /* have forced unwind */