summaryrefslogtreecommitdiff
path: root/tests/cleanup-13.c
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-01-05 21:44:53 +0100
committerMark Wielaard <mjw@redhat.com>2014-01-05 21:44:53 +0100
commit7c463121a7806dfc0d7a50d130a5d49e074b742c (patch)
tree679b4b5976354d863a1aec6361f28c3768d44d01 /tests/cleanup-13.c
parent14e5056319def0555bc4183488e7af5c14a3fb28 (diff)
parent27aae18ce872409b70afef8503941c7e75c8d93d (diff)
downloadelfutils-robustify.tar.gz
Merge branch 'master' into robustifyrobustify
Diffstat (limited to 'tests/cleanup-13.c')
-rw-r--r--tests/cleanup-13.c24
1 files changed, 3 insertions, 21 deletions
diff --git a/tests/cleanup-13.c b/tests/cleanup-13.c
index b87c6965..3919b91a 100644
--- a/tests/cleanup-13.c
+++ b/tests/cleanup-13.c
@@ -283,30 +283,12 @@ extern char verify_it[sizeof (cfi_arch_program) - 0x80 < 0x3f80 ? 1 : -1];
: : "i" (sizeof (cfi_arch_program)))
#endif
#endif
-static _Unwind_Reason_Code
-force_unwind_stop (int version, _Unwind_Action actions,
- _Unwind_Exception_Class exc_class,
- struct _Unwind_Exception *exc_obj,
- struct _Unwind_Context *context,
- void *stop_parameter)
-{
- if (actions & _UA_END_OF_STACK)
- abort ();
- return _URC_NO_REASON;
-}
+
+/* The original GCC testcase tests the runtime unwinder using
+ _Unwind_ForcedUnwind, we just inspect the child when it aborts. */
static void force_unwind ()
{
- struct _Unwind_Exception *exc = malloc (sizeof (*exc));
- memset (&exc->exception_class, 0, sizeof (exc->exception_class));
- exc->exception_cleanup = 0;
-
-#ifndef __USING_SJLJ_EXCEPTIONS__
- _Unwind_ForcedUnwind (exc, force_unwind_stop, 0);
-#else
- _Unwind_SjLj_ForcedUnwind (exc, force_unwind_stop, 0);
-#endif
-
abort ();
}