about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-12-14 10:07:44 -0200
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-12-19 12:02:01 -0200
commit554e3d51efdd7d15c15876b80a7cba3ad9b6a738 (patch)
treed28607d0f923e551df1cf98dd50374b63a784b88 /sysdeps/unix/sysv/linux
parentcba595c350e52194e10c0006732e1991e3d0803b (diff)
downloadglibc-554e3d51efdd7d15c15876b80a7cba3ad9b6a738.tar.gz
glibc-554e3d51efdd7d15c15876b80a7cba3ad9b6a738.tar.xz
glibc-554e3d51efdd7d15c15876b80a7cba3ad9b6a738.zip
sh: Fix clone exit return code (BZ #22605)
Since 3f823e87cc (Call exit directly in clone (BZ #21512)) SH clone
implementation fails to set the exit code resulting in the failures:

FAIL: nptl/tst-align-clone
FAIL: nptl/tst-getpid1

This patch fixes the both testcases.

	[BZ #22605]
	* sysdeps/unix/sysv/linux/sh/clone.S (__clone): Fix exit return
	code.

Signed-off-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r--sysdeps/unix/sysv/linux/sh/clone.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sh/clone.S b/sysdeps/unix/sysv/linux/sh/clone.S
index b13a64bb10..d369a82d87 100644
--- a/sysdeps/unix/sysv/linux/sh/clone.S
+++ b/sysdeps/unix/sysv/linux/sh/clone.S
@@ -73,6 +73,7 @@ ENTRY(__clone)
 	 mov.l	@(4,r15), r4
 
 	/* we are done, passing the return value through r0  */
+	mov     r0, r4
 	mov	#+SYS_ify(exit), r3
 	trapa	#0x15
 	.align	2