summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2006-04-04 07:01:16 +0000
committerRoland McGrath <roland@gnu.org>2006-04-04 07:01:16 +0000
commit97d901a672d83124287565d1b6649dc76a8e8659 (patch)
tree79450631fb0ef9f09f5d79b4e73a5a45baf57bfd /sysdeps
parent9b5e78fe899018a31302094de8f57433b26de963 (diff)
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Terminate FDE
before syscall. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S6
2 files changed, 12 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
index f4c92ad7c7..37b777799c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
@@ -84,6 +84,10 @@ ENTRY (BP_SYM (__clone))
mr r6,r8
mr r7,r9
+ /* End FDE now, because in the child the unwind info will be
+ wrong. */
+ cfi_endproc
+
/* Do the call. */
DO_CALL(SYS_ify(clone))
@@ -138,6 +142,8 @@ L(parent):
L(badargs):
li r3,EINVAL
b __syscall_error@local
+
+ cfi_startproc
END (BP_SYM (__clone))
weak_alias (BP_SYM (__clone), BP_SYM (clone))
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
index 366206d286..f1a55e64db 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
@@ -81,6 +81,10 @@ ENTRY (BP_SYM (__clone))
mr r6,r8
mr r7,r9
+ /* End FDE now, because in the child the unwind info will be
+ wrong. */
+ cfi_endproc
+
/* Do the call. */
DO_CALL(SYS_ify(clone))
@@ -132,6 +136,8 @@ L(parent):
L(badargs):
li r3,EINVAL
b JUMPTARGET(__syscall_error)
+
+ cfi_startproc
END (BP_SYM (__clone))
weak_alias (BP_SYM (__clone), BP_SYM (clone))