[klibc] arm/setjmp.S: fix longjmp

There's a real bug in the ARM assembly version of longjmp in
usr/klibc/arch/arm/setjmp.S: it will always pass back its first
argument as a return value, even if it's 0 (see the man page for
more details). Oddly, the Thumb implementation in the same file
*is* correct!

Signed-off-by: Steve McIntyre <steve@einval.com>
Signed-off-by: maximilian attems <max@stro.at>
diff --git a/usr/klibc/arch/arm/setjmp.S b/usr/klibc/arch/arm/setjmp.S
index 6018bda..d351e0e 100644
--- a/usr/klibc/arch/arm/setjmp.S
+++ b/usr/klibc/arch/arm/setjmp.S
@@ -41,7 +41,9 @@
 longjmp:
 	ldmia	r0, {r4, r5, r6, r7, r8, r9, r10, fp, sp, lr}
 	mov	r0, r1
-	BX(lr)
+	bne	1f
+	mov	r0, #1
+1:	BX(lr)
 	.size longjmp,.-longjmp
 
 #else /* __thumb__ */