diff options
author | Roland McGrath <roland@gnu.org> | 2006-03-06 01:34:09 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2006-03-06 01:34:09 +0000 |
commit | 043cee3700d01624d694d8e1afc76a666309f89c (patch) | |
tree | aa2f8a2b421429ca84eba888fefd946df6e3d669 /sysdeps/unix/sysv/linux/sparc/sparc32/socket.S | |
parent | * bits/resource.h (RLIMIT_SBSIZE, RLIMIT_AS, RLIMIT_VMEM): Define. (diff) | |
download | glibc-043cee3700d01624d694d8e1afc76a666309f89c.tar.gz glibc-043cee3700d01624d694d8e1afc76a666309f89c.tar.bz2 glibc-043cee3700d01624d694d8e1afc76a666309f89c.zip |
* shlib-versions: Use sparc64.*- for CPU patterns.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sparc32/socket.S')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/socket.S | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S b/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S index 911d5c6b39..71a63d5b79 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S @@ -47,7 +47,7 @@ # endif #endif -.globl __socket + .globl __syscall_error ENTRY (__socket) /* Drop up to 6 arguments (recvfrom) into the memory allocated by @@ -76,18 +76,19 @@ ENTRY (__socket) add %sp, 68, %o1 /* arg 2: parameter block */ LOADSYSCALL(socketcall) t 0x10 - bcs __syscall_error_handler - nop - retl + bcc 1f + mov %o7, %g1 + call __syscall_error + mov %g1, %o7 +1: jmpl %o7 + 8, %g0 nop #if defined NEED_CANCELLATION && defined CENABLE .Lsocket_cancel: - cfi_startproc save %sp, -96, %sp - cfi_def_cfa_register (%fp) + cfi_def_cfa_register(%fp) cfi_window_save - cfi_register (%o7, %i7) + cfi_register(%o7, %i7) CENABLE nop mov %o0, %l0 @@ -95,18 +96,20 @@ ENTRY (__socket) mov P(SOCKOP_,socket), %o0 LOADSYSCALL(socketcall) t 0x10 - bcs __syscall_error_handler2 + bcc 1f mov %o0, %l1 - CDISABLE + CDISABLE; + mov %l0, %o0; + call __syscall_error; + mov %l1, %o0; + b 1f + mov -1, %l1; +1: CDISABLE mov %l0, %o0 - jmpl %i7 + 8, %g0 +2: jmpl %i7 + 8, %g0 restore %g0, %l1, %o0 - cfi_endproc - SYSCALL_ERROR_HANDLER2 #endif - SYSCALL_ERROR_HANDLER - END (__socket) #ifndef NO_WEAK_ALIAS |