1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00

hurd: Fix vm_size_t incoherencies

In gnumach, 3e1702a65fb3 ("add rpc_versions for vm types") changed the type
of vm_size_t, making it always a unsigned long. This made it incompatible on
x86 with size_t. Even if we may want to revert it to unsigned int, it's
better to fix the types of parameters according to the .defs files.
This commit is contained in:
Samuel Thibault
2022-08-29 01:42:47 +02:00
parent cb033e6b0c
commit 063f7462da
12 changed files with 18 additions and 14 deletions

View File

@@ -26,7 +26,7 @@ _hurd_fd_write (struct hurd_fd *fd,
const void *buf, size_t *nbytes, loff_t offset) const void *buf, size_t *nbytes, loff_t offset)
{ {
error_t err; error_t err;
mach_msg_type_number_t wrote; vm_size_t wrote;
error_t writefd (io_t port) error_t writefd (io_t port)
{ {

View File

@@ -48,7 +48,7 @@ readio (void *cookie, char *buf, size_t n)
static ssize_t static ssize_t
writeio (void *cookie, const char *buf, size_t n) writeio (void *cookie, const char *buf, size_t n)
{ {
mach_msg_type_number_t wrote; vm_size_t wrote;
error_t err; error_t err;
if (err = __io_write ((io_t) cookie, buf, n, -1, &wrote)) if (err = __io_write ((io_t) cookie, buf, n, -1, &wrote))

View File

@@ -27,7 +27,8 @@ _hurd_get_host_config (const char *item, char *buf, size_t buflen)
{ {
error_t err; error_t err;
char *data; char *data;
mach_msg_type_number_t nread, more; mach_msg_type_number_t nread;
vm_size_t more;
file_t config; file_t config;
err = __hurd_file_name_lookup (&_hurd_ports_use, &__getdport, 0, err = __hurd_file_name_lookup (&_hurd_ports_use, &__getdport, 0,

View File

@@ -70,7 +70,7 @@ fioctl (int fd,
case FIONREAD: case FIONREAD:
{ {
mach_msg_type_number_t navail; vm_size_t navail;
err = HURD_DPORT_USE (fd, __io_readable (port, &navail)); err = HURD_DPORT_USE (fd, __io_readable (port, &navail));
if (!err) if (!err)
*arg = (int) navail; *arg = (int) navail;

View File

@@ -24,7 +24,7 @@ ssize_t
_hurd_set_host_config (const char *item, const char *value, size_t valuelen) _hurd_set_host_config (const char *item, const char *value, size_t valuelen)
{ {
error_t err; error_t err;
mach_msg_type_number_t nwrote; vm_size_t nwrote;
file_t new, dir; file_t new, dir;
char *name; char *name;

View File

@@ -25,8 +25,8 @@
static ssize_t static ssize_t
do_write (void *cookie, const char *buf, size_t n) do_write (void *cookie, const char *buf, size_t n)
{ {
error_t error = __io_write ((io_t) cookie, buf, n, -1, vm_size_t amount = n;
(mach_msg_type_number_t *) &n); error_t error = __io_write ((io_t) cookie, buf, n, -1, &amount);
if (error) if (error)
return __hurd_fail (error); return __hurd_fail (error);
return n; return n;

View File

@@ -382,7 +382,7 @@ __ssize_t weak_function
__write (int fd, const void *buf, size_t nbytes) __write (int fd, const void *buf, size_t nbytes)
{ {
error_t err; error_t err;
mach_msg_type_number_t nwrote; vm_size_t nwrote;
assert (fd < _hurd_init_dtablesize); assert (fd < _hurd_init_dtablesize);
@@ -415,7 +415,7 @@ __writev (int fd, const struct iovec *iov, int niov)
{ {
char buf[total], *bufp = buf; char buf[total], *bufp = buf;
error_t err; error_t err;
mach_msg_type_number_t nwrote; vm_size_t nwrote;
for (i = 0; i < niov; ++i) for (i = 0; i < niov; ++i)
bufp = (memcpy (bufp, iov[i].iov_base, iov[i].iov_len) bufp = (memcpy (bufp, iov[i].iov_base, iov[i].iov_len)

View File

@@ -47,8 +47,11 @@ ptrace (enum __ptrace_request request, ... )
{ {
/* Read the pages containing the addressed range. */ /* Read the pages containing the addressed range. */
error_t err; error_t err;
mach_msg_type_number_t nread;
*size = round_page (addr + data) - trunc_page (addr); *size = round_page (addr + data) - trunc_page (addr);
err = __vm_read (task, trunc_page (addr), *size, ourpage, size); err = __vm_read (task, trunc_page (addr), *size, ourpage, &nread);
if (!err)
*size = nread;
return err; return err;
} }

View File

@@ -27,7 +27,7 @@ ssize_t
__send (int fd, const void *buf, size_t n, int flags) __send (int fd, const void *buf, size_t n, int flags)
{ {
error_t err; error_t err;
size_t wrote; vm_size_t wrote;
int cancel_oldtype; int cancel_oldtype;
cancel_oldtype = LIBC_CANCEL_ASYNC(); cancel_oldtype = LIBC_CANCEL_ASYNC();

View File

@@ -42,7 +42,7 @@ __sendfile64 (int out_fd, int in_fd, off64_t *offset, size_t count)
count)); count));
if (err == 0) if (err == 0)
{ {
size_t nwrote; vm_size_t nwrote;
if (datalen == 0) if (datalen == 0)
return 0; return 0;
err = HURD_DPORT_USE (out_fd, __io_write (port, data, datalen, err = HURD_DPORT_USE (out_fd, __io_write (port, data, datalen,

View File

@@ -47,7 +47,7 @@ __libc_sendmsg (int fd, const struct msghdr *message, int flags)
} data = { .ptr = NULL }; } data = { .ptr = NULL };
char data_buf[2048]; char data_buf[2048];
mach_msg_type_number_t len; mach_msg_type_number_t len;
mach_msg_type_number_t amount; vm_size_t amount;
int dealloc = 0; int dealloc = 0;
int socketrpc = 0; int socketrpc = 0;
int i; int i;

View File

@@ -37,7 +37,7 @@ __sendto (int fd,
{ {
addr_port_t aport = MACH_PORT_NULL; addr_port_t aport = MACH_PORT_NULL;
error_t err; error_t err;
size_t wrote; vm_size_t wrote;
/* Get an address port for the desired destination address. */ /* Get an address port for the desired destination address. */
error_t create_address_port (io_t port, error_t create_address_port (io_t port,