aboutsummaryrefslogtreecommitdiff
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
parent9b5e78fe899018a31302094de8f57433b26de963 (diff)
downloadglibc-97d901a672d83124287565d1b6649dc76a8e8659.tar
glibc-97d901a672d83124287565d1b6649dc76a8e8659.tar.gz
glibc-97d901a672d83124287565d1b6649dc76a8e8659.tar.bz2
glibc-97d901a672d83124287565d1b6649dc76a8e8659.zip
* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Terminate FDE
before syscall. * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S6
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S6
3 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index bd599a1045..5a7bade0fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2006-04-03 Andreas Schwab <schwab@suse.de>
+ * sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Terminate FDE
+ before syscall.
+ * sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
+
* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Test for <asm/elf.h>
with [! _ASM_POWERPC_ELF_H] as well as [!__PPC64_ELF_H].
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))