summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/powerpc/clone.S
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/powerpc/clone.S')
-rw-r--r--libc/sysdeps/linux/powerpc/clone.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/powerpc/clone.S b/libc/sysdeps/linux/powerpc/clone.S
index c8f0ebfc5..edce8d569 100644
--- a/libc/sysdeps/linux/powerpc/clone.S
+++ b/libc/sysdeps/linux/powerpc/clone.S
@@ -79,18 +79,30 @@ __clone:
mr r3,r31
bctrl
/* Call _exit with result from procedure. */
+#ifdef __PIC__
+ b _exit@plt
+#else
b _exit
+#endif
.Lparent:
/* Parent. Restore registers & return. */
lmw r29,16(r1)
addi r1,r1,32
bnslr+
+#ifdef __PIC__
+ b __syscall_error@plt
+#else
b __syscall_error
+#endif
.Lbadargs:
li r3,EINVAL
+#ifdef __PIC__
+ b __syscall_error@plt
+#else
b __syscall_error
+#endif
.size __clone,.-__clone
.weak clone;