summary refs log tree commit diff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-07-17 11:46:00 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-07-17 14:25:40 -0300
commit48145e1c7dabaeab7ad8346d14f910cdeb6bc910 (patch)
tree82441c4758de863c083897293b1bed7e15f9ffd5
parent204b3d4d2088cf94e8205a4db247aaa011cbe181 (diff)
downloadglibc-48145e1c7dabaeab7ad8346d14f910cdeb6bc910.tar.gz
glibc-48145e1c7dabaeab7ad8346d14f910cdeb6bc910.tar.xz
glibc-48145e1c7dabaeab7ad8346d14f910cdeb6bc910.zip
hppa: Fix clone exit syscall argument passing (BZ#21512)
This patch fixes the argument passing for exit syscall after
the clone function returns on hppa.  This fixes misc/tst-clone2
on hppa-linux-gnu.

Checked misc/tst-clone2 on hppa-linux-gnu.

	[BZ #21512]
	* sysdeps/unix/sysv/linux/hppa/clone.S (__clone): Fix argument
	passing to syscall exit.
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/unix/sysv/linux/hppa/clone.S2
2 files changed, 7 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 2f7c086df2..1accc21fb5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-07-17  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
+
+	[BZ #21512]
+	* sysdeps/unix/sysv/linux/hppa/clone.S (__clone): Fix argument
+	passing to syscall exit.
+
 2017-07-17  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
 	* sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h (HWCAP_FCMA): New macro.
diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S
index ead3c9227a..e0daf174bb 100644
--- a/sysdeps/unix/sysv/linux/hppa/clone.S
+++ b/sysdeps/unix/sysv/linux/hppa/clone.S
@@ -150,7 +150,7 @@ ENTRY(__clone)
 #ifdef PIC
 	copy	%r4, %r19
 #endif
-	/* The call to _exit needs saved r19.  */
+	copy	%r28, %r26
 	ble     0x100(%sr2, %r0)
 	ldi	__NR_exit, %r20