about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/hppa/clone.S
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/hppa/clone.S')
-rw-r--r--sysdeps/unix/sysv/linux/hppa/clone.S12
1 files changed, 3 insertions, 9 deletions
diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S
index 0a18137118..3d037f1430 100644
--- a/sysdeps/unix/sysv/linux/hppa/clone.S
+++ b/sysdeps/unix/sysv/linux/hppa/clone.S
@@ -133,19 +133,13 @@ ENTRY(__clone)
 
 .LthreadStart:
 # define CLONE_VM_BIT		23	/* 0x00000100  */
-# define CLONE_THREAD_BIT	15	/* 0x00010000  */
 	/* Load original clone flags.
-	   If CLONE_THREAD was passed, don't reset the PID/TID.
-	   If CLONE_VM was passed, we need to store -1 to PID/TID.
-	   If CLONE_VM and CLONE_THREAD were not set store the result
-	   of getpid to PID/TID.  */
+	   If CLONE_VM was passed, don't modify PID/TID.
+	   Otherwise store the result of getpid to PID/TID.  */
 	ldw	-56(%sp), %r26
-	bb,<,n	%r26, CLONE_THREAD_BIT, 1f
-	bb,<	%r26, CLONE_VM_BIT, 2f
-	ldi	-1, %ret0
+	bb,<,n	%r26, CLONE_VM_BIT, 1f
 	ble     0x100(%sr2, %r0)
 	ldi	__NR_getpid, %r20
-2:
 	mfctl	%cr27, %r26
 	stw	%ret0, PID_THREAD_OFFSET(%r26)
 	stw	%ret0, TID_THREAD_OFFSET(%r26)