about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 9582d8cfed..5dd9e9fcb6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -27,6 +27,8 @@
 	* mach/mach/mach_traps.h: Drop comment about MACH_IPC_COMPAT.
 	* sysdeps/mach/hurd/fork.c (__fork): Drop special casing
 	MACH_IPC_COMPAT.
+	* sysdeps/mach/hurd/dl-sysdep.c (_exit): Call LOSE and abort() if
+	__task_terminate would ever return successfully.
 
 2018-01-27  James Clarke  <jrtc27@jrtc27.com>
 
diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c
index 2cd63bb83a..ef96df054e 100644
--- a/sysdeps/mach/hurd/dl-sysdep.c
+++ b/sysdeps/mach/hurd/dl-sysdep.c
@@ -643,6 +643,9 @@ _exit (int status)
 		    W_EXITCODE (status, 0), 0);
   while (__task_terminate (__mach_task_self ()))
     __mach_task_self_ = (__mach_task_self) ();
+
+  LOSE;
+  abort ();
 }
 /* We need this alias to satisfy references from libc_pic.a objects
    that were affected by the libc_hidden_proto declaration for _exit.  */