mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +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:
		@@ -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)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user