diff options
author | Roland McGrath <roland@gnu.org> | 2006-03-06 01:41:08 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2006-03-06 01:41:08 +0000 |
commit | 7ccbe1a1339471b3b538f76d83de454f1d78f608 (patch) | |
tree | 587e5ab5a1fb41927ad3fc13c49f2ec49230425e /nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | |
parent | 043cee3700d01624d694d8e1afc76a666309f89c (diff) | |
download | glibc-7ccbe1a1339471b3b538f76d83de454f1d78f608.tar.gz glibc-7ccbe1a1339471b3b538f76d83de454f1d78f608.tar.xz glibc-7ccbe1a1339471b3b538f76d83de454f1d78f608.zip |
* sysdeps/sparc/sparc32/dl-trampoline.S: Add CFI markings.
* sysdeps/sparc/sparc32/elf/start.S: Likewise. * sysdeps/sparc/sparc64/dl-trampoline.S: Likewise. * sysdeps/sparc/sparc64/elf/start.S: Likewise. * sysdeps/sparc/sparc32/memchr.S: Rearrange code to reside within ENTRY/END. * sysdeps/sparc/sparc32/memcpy.S: Likewise. * sysdeps/sparc/sparc32/stpcpy.S: Likewise. * sysdeps/sparc/sparc32/strcat.S: Likewise. * sysdeps/sparc/sparc32/strchr.S: Likewise. * sysdeps/sparc/sparc32/strcmp.S: Likewise. * sysdeps/sparc/sparc32/strcpy.S: Likewise. * sysdeps/sparc/sparc32/strlen.S: Likewise. * sysdeps/sparc/sparc64/memcpy.S: Likewise. * sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/clone.S: Add CFI markings and use __syscall_error. * sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S: Use __syscall_error. * sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Rewrite to use CFI markings and __syscall_error. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S: Rearrange code to reside within ENTRY/END. * sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.c: New file. * sysdeps/unix/sysv/linux/sparc/sysdep.S: File removed. * sysdeps/unix/sysv/linux/sparc/rt-sysdep.c: New file. * sysdeps/unix/sysv/linux/sparc/Makefile (librt-routines): Add it.
Diffstat (limited to 'nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S index d6b2455d43..5597574304 100644 --- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S +++ b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S @@ -21,6 +21,7 @@ #include <tcb-offsets.h> .text + .globl __syscall_error ENTRY(__vfork) ld [%g7 + PID], %o5 sethi %hi(0x80000000), %o3 @@ -31,16 +32,18 @@ ENTRY(__vfork) LOADSYSCALL(vfork) ta 0x6d - bcs,a,pn %xcc, __syscall_error_handler - st %o5, [%g7 + PID] - SYSCALL_ERROR_HANDLER - sub %o1, 1, %o1 + bcc,pt %xcc, 2f + mov %o7, %g1 + st %o5, [%g7 + PID] + call __syscall_error + mov %g1, %o7 +2: sub %o1, 1, %o1 andcc %o0, %o1, %o0 bne,a,pt %icc, 1f st %o5, [%g7 + PID] 1: retl nop +END(__vfork) -PSEUDO_END (__vfork) libc_hidden_def (__vfork) weak_alias (__vfork, vfork) |