aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/mach')
-rw-r--r--sysdeps/mach/alpha/syscall.S30
-rw-r--r--sysdeps/mach/bits/libc-lock.h3
-rw-r--r--sysdeps/mach/hurd/abi-tag.h5
-rw-r--r--sysdeps/mach/hurd/accept.c5
-rw-r--r--sysdeps/mach/hurd/bind.c5
-rw-r--r--sysdeps/mach/hurd/connect.c5
-rw-r--r--sysdeps/mach/hurd/getpeername.c6
-rw-r--r--sysdeps/mach/hurd/getsockname.c5
-rw-r--r--sysdeps/mach/hurd/open.c2
-rw-r--r--sysdeps/mach/hurd/recvfrom.c5
-rw-r--r--sysdeps/mach/hurd/rename.c3
-rw-r--r--sysdeps/mach/hurd/select.c3
-rw-r--r--sysdeps/mach/hurd/sigaltstack.c3
-rw-r--r--sysdeps/mach/hurd/sysd-stdio.c2
-rw-r--r--sysdeps/mach/i386/syscall.S28
15 files changed, 62 insertions, 48 deletions
diff --git a/sysdeps/mach/alpha/syscall.S b/sysdeps/mach/alpha/syscall.S
index 31ccb5fc30..615357d3f6 100644
--- a/sysdeps/mach/alpha/syscall.S
+++ b/sysdeps/mach/alpha/syscall.S
@@ -1,20 +1,20 @@
-/* Copyright (C) 1994 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#include <sysdep.h>
#include <mach/machine/alpha_instruction.h>
@@ -27,7 +27,7 @@ ENTRY (syscall)
mov a3, a2
mov a4, a3
mov a5, a4
- /* Load the remaining possible args (up to 11) from the stack. */
+ /* Load the remaining possible args (up to 11) from the stack. */
ldq a5,0(sp)
ldq t0,8(sp)
ldq t1,16(sp)
diff --git a/sysdeps/mach/bits/libc-lock.h b/sysdeps/mach/bits/libc-lock.h
index f3ce23a88c..464f2e3e06 100644
--- a/sysdeps/mach/bits/libc-lock.h
+++ b/sysdeps/mach/bits/libc-lock.h
@@ -27,6 +27,9 @@
typedef struct __libc_lock_opaque__ __libc_lock_t;
#endif
+/* Type for key of thread specific data. */
+typedef cthread_key_t __libc_key_t;
+
/* Define a lock variable NAME with storage class CLASS. The lock must be
initialized with __libc_lock_init before it can be used (or define it
with __libc_lock_define_initialized, below). Use `extern' for CLASS to
diff --git a/sysdeps/mach/hurd/abi-tag.h b/sysdeps/mach/hurd/abi-tag.h
new file mode 100644
index 0000000000..0cf6e80c66
--- /dev/null
+++ b/sysdeps/mach/hurd/abi-tag.h
@@ -0,0 +1,5 @@
+#define HURD_MAJOR_VERSION 0
+#define HURD_MINOR_VERSION 2
+
+#define ABI_TAG ((HURD_MAJOR_VERSION << 24) + \
+ (HURD_MINOR_VERSION << 16))
diff --git a/sysdeps/mach/hurd/accept.c b/sysdeps/mach/hurd/accept.c
index ce0ba7bfa3..14e9848858 100644
--- a/sysdeps/mach/hurd/accept.c
+++ b/sysdeps/mach/hurd/accept.c
@@ -30,14 +30,15 @@
peer and *ADDR_LEN to the address's actual length, and return the
new socket's descriptor, or -1 for errors. */
int
-accept (fd, addr, addr_len)
+accept (fd, addrarg, addr_len)
int fd;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addrarg;
size_t *addr_len;
{
error_t err;
socket_t new;
addr_port_t aport;
+ struct sockaddr *addr = addrarg.__sockaddr__;
char *buf = (char *) addr;
mach_msg_type_number_t buflen;
int type;
diff --git a/sysdeps/mach/hurd/bind.c b/sysdeps/mach/hurd/bind.c
index 78bc8cc368..393291b94d 100644
--- a/sysdeps/mach/hurd/bind.c
+++ b/sysdeps/mach/hurd/bind.c
@@ -30,13 +30,14 @@
/* Give the socket FD the local address ADDR (which is LEN bytes long). */
int
-bind (fd, addr, len)
+bind (fd, addrarg, len)
int fd;
- const struct sockaddr_un *addr;
+ __CONST_SOCKADDR_ARG addrarg;
size_t len;
{
addr_port_t aport;
error_t err;
+ struct sockaddr_un *addr = addrarg.__sockaddr_un__;
if (addr->sun_family == AF_LOCAL)
{
diff --git a/sysdeps/mach/hurd/connect.c b/sysdeps/mach/hurd/connect.c
index 1dc4570d4d..193f2c6325 100644
--- a/sysdeps/mach/hurd/connect.c
+++ b/sysdeps/mach/hurd/connect.c
@@ -29,13 +29,14 @@
and the only address from which to accept transmissions.
Return 0 on success, -1 for errors. */
int
-__connect (fd, addr, len)
+__connect (fd, addrarg, len)
int fd;
- const struct sockaddr_un *addr;
+ __CONST_SOCKADDR_ARG addrarg;
size_t len;
{
error_t err;
addr_port_t aport;
+ const struct sockaddr_un *addr = addrarg.__sockaddr_un__;
if (addr->sun_family == AF_LOCAL)
{
diff --git a/sysdeps/mach/hurd/getpeername.c b/sysdeps/mach/hurd/getpeername.c
index d218f02c63..f10a14e429 100644
--- a/sysdeps/mach/hurd/getpeername.c
+++ b/sysdeps/mach/hurd/getpeername.c
@@ -28,15 +28,17 @@
/* XXX should be __getpeername ? */
int
-getpeername (fd, addr, len)
+getpeername (fd, addrarg, len)
int fd;
struct sockaddr *addr;
+ __SOCKADDR_ARG addrarg;
size_t *len;
{
error_t err;
- char *buf = (char *) addr;
mach_msg_type_number_t buflen = *len;
int type;
+ struct sockaddr *addr = addrarg.__sockaddr__;
+ char *buf = (char *) addr;
addr_port_t aport;
if (err = HURD_DPORT_USE (fd, __socket_peername (port, &aport)))
diff --git a/sysdeps/mach/hurd/getsockname.c b/sysdeps/mach/hurd/getsockname.c
index e6dc542fae..ad447eec79 100644
--- a/sysdeps/mach/hurd/getsockname.c
+++ b/sysdeps/mach/hurd/getsockname.c
@@ -25,12 +25,13 @@
/* Put the local address of FD into *ADDR and its length in *LEN. */
int
-getsockname (fd, addr, len)
+getsockname (fd, addrarg, len)
int fd;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addrarg;
size_t *len;
{
error_t err;
+ struct sockaddr *addr = addrarg.__sockaddr__;
char *buf = (char *) addr;
mach_msg_type_number_t buflen = *len;
int type;
diff --git a/sysdeps/mach/hurd/open.c b/sysdeps/mach/hurd/open.c
index 98fa41091e..489e5577b8 100644
--- a/sysdeps/mach/hurd/open.c
+++ b/sysdeps/mach/hurd/open.c
@@ -25,7 +25,7 @@
/* Open FILE with access OFLAG. If OFLAG includes O_CREAT,
a third argument is the file protection. */
int
-__open (char *file, int oflag, ...)
+__open (const char *file, int oflag, ...)
{
mode_t mode;
io_t port;
diff --git a/sysdeps/mach/hurd/recvfrom.c b/sysdeps/mach/hurd/recvfrom.c
index ec99343bc0..981b922654 100644
--- a/sysdeps/mach/hurd/recvfrom.c
+++ b/sysdeps/mach/hurd/recvfrom.c
@@ -29,12 +29,12 @@
/* XXX should be __recvfrom ? */
int
-recvfrom (fd, buf, n, flags, addr, addr_len)
+recvfrom (fd, buf, n, flags, addrarg, addr_len)
int fd;
void *buf;
size_t n;
int flags;
- struct sockaddr *addr;
+ __SOCKADDR_ARG addrarg;
size_t *addr_len;
{
error_t err;
@@ -45,6 +45,7 @@ recvfrom (fd, buf, n, flags, addr, addr_len)
mach_msg_type_number_t nports;
char *cdata = NULL;
mach_msg_type_number_t clen = 0;
+ struct sockaddr *addr = addrarg.__sockaddr__;
if (err = HURD_DPORT_USE (fd, __socket_recv (port, &addrport,
flags, &bufp, &nread,
diff --git a/sysdeps/mach/hurd/rename.c b/sysdeps/mach/hurd/rename.c
index 9cecbd2d5c..f217dedc6a 100644
--- a/sysdeps/mach/hurd/rename.c
+++ b/sysdeps/mach/hurd/rename.c
@@ -20,11 +20,10 @@
#include <hurd.h>
/* Rename the file OLD to NEW. */
-/* XXX should be __rename ? */
int
rename (old, new)
const char *old;
- const char **new;
+ const char *new;
{
error_t err;
file_t olddir, newdir;
diff --git a/sysdeps/mach/hurd/select.c b/sysdeps/mach/hurd/select.c
index f8385ff29b..1ea6b2cb14 100644
--- a/sysdeps/mach/hurd/select.c
+++ b/sysdeps/mach/hurd/select.c
@@ -223,7 +223,8 @@ __select (nfds, readfds, writefds, exceptfds, timeout)
/* We got a message. Decode it. */
#define IO_SELECT_REPLY_MSGID (21012 + 100) /* XXX */
const mach_msg_type_t inttype =
- { MACH_MSG_TYPE_INTEGER_T, MACH_MSG_SIZE_INTEGER_T, 1, 1, 0, 0 };
+ { MACH_MSG_TYPE_INTEGER_T, sizeof (MACH_MSG_SIZE_INTEGER_T),
+ 1, 1, 0, 0 };
if (msg.head.msgh_id == IO_SELECT_REPLY_MSGID &&
msg.head.msgh_size >= sizeof msg.error &&
!(msg.head.msgh_bits & MACH_MSGH_BITS_COMPLEX) &&
diff --git a/sysdeps/mach/hurd/sigaltstack.c b/sysdeps/mach/hurd/sigaltstack.c
index c292b36fda..659b6b87a8 100644
--- a/sysdeps/mach/hurd/sigaltstack.c
+++ b/sysdeps/mach/hurd/sigaltstack.c
@@ -22,9 +22,8 @@
/* Run signals handlers on the stack specified by SS (if not NULL).
If OSS is not NULL, it is filled in with the old signal stack status. */
-/* XXX should be __sigaltstack ? */
int
-sigaltstack (ss, oss)
+sigaltstack (argss, oss)
const struct sigaltstack *argss;
struct sigaltstack *oss;
{
diff --git a/sysdeps/mach/hurd/sysd-stdio.c b/sysdeps/mach/hurd/sysd-stdio.c
index c350d9b31a..9d56473924 100644
--- a/sysdeps/mach/hurd/sysd-stdio.c
+++ b/sysdeps/mach/hurd/sysd-stdio.c
@@ -170,7 +170,7 @@ __stdio_open (filename, m, cookieptr)
/* Open FILENAME with the mode in M. Use the same magic cookie
already in *COOKIEPTR if possible, closing the old cookie with CLOSEFN. */
int
-__stdio_reopen (filename, m, cookieptr)
+__stdio_reopen (filename, m, cookieptr, closefn)
const char *filename;
__io_mode m;
void **cookieptr;
diff --git a/sysdeps/mach/i386/syscall.S b/sysdeps/mach/i386/syscall.S
index 1e9fbb81e8..7881d4ae88 100644
--- a/sysdeps/mach/i386/syscall.S
+++ b/sysdeps/mach/i386/syscall.S
@@ -1,20 +1,20 @@
-/* Copyright (C) 1993 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#include <sysdep.h>