* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Terminate FDE
authorRoland McGrath <roland@gnu.org>
Tue, 4 Apr 2006 07:01:16 +0000 (07:01 +0000)
committerRoland McGrath <roland@gnu.org>
Tue, 4 Apr 2006 07:01:16 +0000 (07:01 +0000)
before syscall.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.

ChangeLog
sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S

index bd599a1..5a7bade 100644 (file)
--- 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].
 
index f4c92ad..37b7777 100644 (file)
@@ -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))
index 366206d..f1a55e6 100644 (file)
@@ -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))