about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
Diffstat (limited to 'nptl')
-rw-r--r--nptl/Makefile2
-rw-r--r--nptl/descr.h6
-rw-r--r--nptl/unwind.c34
-rw-r--r--nptl/version.c2
4 files changed, 1 insertions, 43 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 311b1a78b4..7b816a3e2d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -311,14 +311,12 @@ LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
 CFLAGS-tst-cleanup2.c = -fno-builtin
 CFLAGS-tst-cleanupx2.c = -fno-builtin
 
-ifeq ($(have-forced-unwind),yes)
 tests += tst-cancelx2 tst-cancelx3 tst-cancelx4 tst-cancelx5 \
 	 tst-cancelx6 tst-cancelx7 tst-cancelx8 tst-cancelx9 tst-cancelx10 \
 	 tst-cancelx11 tst-cancelx12 tst-cancelx13 tst-cancelx14 tst-cancelx15 \
 	 tst-cancelx16 tst-cancelx17 tst-cancelx18 tst-cancelx20 tst-cancelx21 \
 	 tst-cleanupx0 tst-cleanupx1 tst-cleanupx2 tst-cleanupx3 tst-cleanupx4 \
 	 tst-oncex3 tst-oncex4
-endif
 ifeq ($(build-shared),yes)
 tests += tst-atfork2 tst-tls3 tst-tls4 tst-tls5 tst-_res1 tst-fini1 \
 	 tst-stackguard1
diff --git a/nptl/descr.h b/nptl/descr.h
index a502048b44..bd99c367a7 100644
--- a/nptl/descr.h
+++ b/nptl/descr.h
@@ -32,9 +32,7 @@
 #include <dl-sysdep.h>
 #include "../nptl_db/thread_db.h"
 #include <tls.h>
-#ifdef HAVE_FORCED_UNWIND
-# include <unwind.h>
-#endif
+#include <unwind.h>
 #define __need_res_state
 #include <resolv.h>
 #include <kernel-features.h>
@@ -362,10 +360,8 @@ struct pthread
   /* Next descriptor with a pending event.  */
   struct pthread *nextevent;
 
-#ifdef HAVE_FORCED_UNWIND
   /* Machine-specific unwind info.  */
   struct _Unwind_Exception exc;
-#endif
 
   /* If nonzero pointer to area allocated for the stack and its
      size.  */
diff --git a/nptl/unwind.c b/nptl/unwind.c
index 904187ed55..5a41c1b61d 100644
--- a/nptl/unwind.c
+++ b/nptl/unwind.c
@@ -25,8 +25,6 @@
 #include "pthreadP.h"
 #include <jmpbuf-unwind.h>
 
-#ifdef HAVE_FORCED_UNWIND
-
 #ifdef _STACK_GROWS_DOWN
 # define FRAME_LEFT(frame, other, adj) \
   ((uintptr_t) frame - adj >= (uintptr_t) other - adj)
@@ -107,8 +105,6 @@ unwind_cleanup (_Unwind_Reason_Code reason, struct _Unwind_Exception *exc)
   __libc_fatal ("FATAL: exception not rethrown\n");
 }
 
-#endif	/* have forced unwind */
-
 
 void
 __cleanup_fct_attribute __attribute ((noreturn))
@@ -117,42 +113,12 @@ __pthread_unwind (__pthread_unwind_buf_t *buf)
   struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
   struct pthread *self = THREAD_SELF;
 
-#ifdef HAVE_FORCED_UNWIND
   /* This is not a catchable exception, so don't provide any details about
      the exception type.  We do need to initialize the field though.  */
   THREAD_SETMEM (self, exc.exception_class, 0);
   THREAD_SETMEM (self, exc.exception_cleanup, &unwind_cleanup);
 
   _Unwind_ForcedUnwind (&self->exc, unwind_stop, ibuf);
-#else
-  /* Handle the compatibility stuff first.  Execute all handlers
-     registered with the old method.  We don't execute them in order,
-     instead, they will run first.  */
-  struct _pthread_cleanup_buffer *oldp = ibuf->priv.data.cleanup;
-  struct _pthread_cleanup_buffer *curp = THREAD_GETMEM (self, cleanup);
-
-  if (curp != oldp)
-    {
-      do
-	{
-	  /* Pointer to the next element.  */
-	  struct _pthread_cleanup_buffer *nextp = curp->__prev;
-
-	  /* Call the handler.  */
-	  curp->__routine (curp->__arg);
-
-	  /* To the next.  */
-	  curp = nextp;
-	}
-      while (curp != oldp);
-
-      /* Mark the current element as handled.  */
-      THREAD_SETMEM (self, cleanup, curp);
-    }
-
-  /* We simply jump to the registered setjmp buffer.  */
-  __libc_unwind_longjmp ((struct __jmp_buf_tag *) ibuf->cancel_jmp_buf, 1);
-#endif
   /* NOTREACHED */
 
   /* We better do not get here.  */
diff --git a/nptl/version.c b/nptl/version.c
index cfa2acb3d8..ba01a6540a 100644
--- a/nptl/version.c
+++ b/nptl/version.c
@@ -27,9 +27,7 @@ static const char banner[] =
 This is free software; see the source for copying conditions.\n\
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n\
 PARTICULAR PURPOSE.\n"
-#ifdef HAVE_FORCED_UNWIND
 "Forced unwind support included.\n"
-#endif
 ;