summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/powerpc/clone.S
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2002-04-10 07:20:20 +0000
committerDavid Schleef <ds@schleef.org>2002-04-10 07:20:20 +0000
commitf0923988dea536a51618d3cdca0c2621699143f4 (patch)
treea94477742415f4434d13774ff79a5345e2c75749 /libc/sysdeps/linux/powerpc/clone.S
parent17c0e72289c2f3703405eba3392861077dae8030 (diff)
Make assembly code PIC-compatible.
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;