diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/socket.S | 13 |
2 files changed, 16 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 1596d6567e..9727fdd236 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-04-06 Richard Henderson <rth@cygnus.com> + + * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Revert 03-01 change, + as the buffer is not properly aligned. + Reported by Juan Cespedes <cespedes@debian.org>. + 1998-04-05 Andreas Jaeger <aj@arthur.rhein-neckar.de> * manual/examples/mkfsock.c (make_named_socket): Use AF_LOCAL diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S b/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S index db8eb4e8bb..8d6fd77c10 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/socket.S @@ -48,11 +48,18 @@ ENTRY (__socket) /* Drop up to 6 arguments (recvfrom) into the memory allocated by the caller for varargs, since that's really what we have. */ - std %o0, [%sp + 68 + 0] + st %o0, [%sp + 68 + 0] + st %o1, [%sp + 68 + 4] #if NARGS > 2 - std %o2, [%sp + 68 + 8] + st %o2, [%sp + 68 + 8] +#if NARGS > 3 + st %o3, [%sp + 68 + 12] #if NARGS > 4 - std %o4, [%sp + 68 + 16] + st %o4, [%sp + 68 + 16] +#if NARGS > 5 + st %o5, [%sp + 68 + 20] +#endif +#endif #endif #endif |