Re: [PATCH] Fix some compiler warnings

2023-01-18 Thread Samuel Thibault
Applied, thanks!

Svante Signell, le mer. 18 janv. 2023 13:29:48 +0100, a ecrit:
> On Wed, 2023-01-18 at 12:27 +0100, Samuel Thibault wrote:
> > Svante Signell, le mer. 18 janv. 2023 11:59:40 +0100, a ecrit:
> > > On Wed, 2023-01-18 at 02:02 +0100, Samuel Thibault wrote:
> > > > Hello,
> > > > 
> > > > 
> > > > But conversely when we'll build it in 64bit, vm_page_size
> > > > (actually uintptr_t) will be an unsigned long.
> > > > 
> > > > This needs to be fixed the *proper* way: either use the PRIuPTR
> > > > macro, or cast the value into unsigned long.
> > > 
> > > Now cast to an unsigned long, new patch attached.
> > 
> > I only took the ext2fs.c part for an example, but it's the same for
> > all other files.
> 
> I've changed to (unsigned long) everywhere.
> 
> (There is also debug code not triggered by normal build needing fixes).
> 
> Thanks!
> 

> Index: hurd-0.9.git20221224/ext2fs/ext2fs.c
> ===
> --- hurd-0.9.git20221224.orig/ext2fs/ext2fs.c
> +++ hurd-0.9.git20221224/ext2fs/ext2fs.c
> @@ -233,7 +233,7 @@ main (int argc, char **argv)
>  ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
>if (store->log2_blocks_per_page < 0)
>  ext2_panic ("device block size (%zu) greater than page size (%lu)",
> - store->block_size, vm_page_size);
> + store->block_size, (unsigned long)vm_page_size);
>  
>/* Map the entire disk. */
>create_disk_pager ();
> Index: hurd-0.9.git20221224/ext2fs/dir.c
> ===
> --- hurd-0.9.git20221224.orig/ext2fs/dir.c
> +++ hurd-0.9.git20221224/ext2fs/dir.c
> @@ -417,7 +417,7 @@ dirscanblock (vm_address_t blockaddr, st
>   {
> ext2_warning ("bad directory entry: inode: %Ld offset: %lu",
>   dp->cache_id,
> - currentoff - blockaddr + idx * DIRBLKSIZ);
> + (unsigned long)(currentoff - blockaddr + idx * 
> DIRBLKSIZ));
> return ENOENT;
>   }
>  
> Index: hurd-0.9.git20221224/libpager/data-request.c
> ===
> --- hurd-0.9.git20221224.orig/libpager/data-request.c
> +++ hurd-0.9.git20221224/libpager/data-request.c
> @@ -49,7 +49,7 @@ _pager_S_memory_object_data_request (str
>  }
>if (length != __vm_page_size)
>  {
> -  printf ("incg data request: bad length size %lu\n", length);
> +  printf ("incg data request: bad length size %lu\n", (unsigned 
> long)length);
>goto release_out;
>  }
>if (offset % __vm_page_size)
> Index: hurd-0.9.git20221224/libpager/data-return.c
> ===
> --- hurd-0.9.git20221224.orig/libpager/data-return.c
> +++ hurd-0.9.git20221224/libpager/data-return.c
> @@ -60,7 +60,7 @@ _pager_do_write_request (struct pager *p
>  }
>if (length % __vm_page_size)
>  {
> -  printf ("incg data return: bad length size %lu\n", length);
> +  printf ("incg data return: bad length size %lu\n", (unsigned 
> long)length);
>goto release_out;
>  }
>if (offset % __vm_page_size)
> Index: hurd-0.9.git20221224/libpager/data-unlock.c
> ===
> --- hurd-0.9.git20221224.orig/libpager/data-unlock.c
> +++ hurd-0.9.git20221224/libpager/data-unlock.c
> @@ -58,7 +58,7 @@ _pager_S_memory_object_data_unlock (stru
>  }
>if (length != __vm_page_size)
>  {
> -  printf ("incg data unlock: bad length size %lu\n", length);
> +  printf ("incg data unlock: bad length size %lu\n", (unsigned 
> long)length);
>goto out;
>  }
>  
> Index: hurd-0.9.git20221224/ext2fs/pager.c
> ===
> --- hurd-0.9.git20221224.orig/ext2fs/pager.c
> +++ hurd-0.9.git20221224/ext2fs/pager.c
> @@ -643,7 +643,7 @@ pager_unlock_page (struct user_pager_inf
>   ext2_warning ("This filesystem is out of space.");
>else if (err)
>   ext2_warning ("inode=%Ld, page=0x%lx: %s",
> -   node->cache_id, page, strerror (err));
> +   node->cache_id, (unsigned long)page, strerror (err));
>  
>return err;
>  }
> @@ -906,7 +906,7 @@ disk_cache_init (void)
>  {
>if (block_size != vm_page_size)
>  ext2_panic ("Block size %u != vm_page_size %lu",
> - block_size, vm_page_size);
> + block_size, (unsigned long)vm_page_size);
>  
>pthread_mutex_init (_cache_lock, NULL);
>pthread_cond_init (_cache_reassociation, NULL);
> Index: hurd-0.9.git20221224/mach-defpager/main.c
> ===
> --- hurd-0.9.git20221224.orig/mach-defpager/main.c
> +++ hurd-0.9.git20221224/mach-defpager/main.c
> @@ -43,6 +43,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  /* XXX */
>  


-- 
Samuel
---

Re: [PATCH] Fix some compiler warnings

2023-01-18 Thread Svante Signell
On Wed, 2023-01-18 at 12:27 +0100, Samuel Thibault wrote:
> Svante Signell, le mer. 18 janv. 2023 11:59:40 +0100, a ecrit:
> > On Wed, 2023-01-18 at 02:02 +0100, Samuel Thibault wrote:
> > > Hello,
> > > 
> > > 
> > > But conversely when we'll build it in 64bit, vm_page_size
> > > (actually uintptr_t) will be an unsigned long.
> > > 
> > > This needs to be fixed the *proper* way: either use the PRIuPTR
> > > macro, or cast the value into unsigned long.
> > 
> > Now cast to an unsigned long, new patch attached.
> 
> I only took the ext2fs.c part for an example, but it's the same for
> all other files.

I've changed to (unsigned long) everywhere.

(There is also debug code not triggered by normal build needing fixes).

Thanks!

Index: hurd-0.9.git20221224/ext2fs/ext2fs.c
===
--- hurd-0.9.git20221224.orig/ext2fs/ext2fs.c
+++ hurd-0.9.git20221224/ext2fs/ext2fs.c
@@ -233,7 +233,7 @@ main (int argc, char **argv)
 ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
   if (store->log2_blocks_per_page < 0)
 ext2_panic ("device block size (%zu) greater than page size (%lu)",
-		store->block_size, vm_page_size);
+		store->block_size, (unsigned long)vm_page_size);
 
   /* Map the entire disk. */
   create_disk_pager ();
Index: hurd-0.9.git20221224/ext2fs/dir.c
===
--- hurd-0.9.git20221224.orig/ext2fs/dir.c
+++ hurd-0.9.git20221224/ext2fs/dir.c
@@ -417,7 +417,7 @@ dirscanblock (vm_address_t blockaddr, st
 	{
 	  ext2_warning ("bad directory entry: inode: %Ld offset: %lu",
 			dp->cache_id,
-			currentoff - blockaddr + idx * DIRBLKSIZ);
+			(unsigned long)(currentoff - blockaddr + idx * DIRBLKSIZ));
 	  return ENOENT;
 	}
 
Index: hurd-0.9.git20221224/libpager/data-request.c
===
--- hurd-0.9.git20221224.orig/libpager/data-request.c
+++ hurd-0.9.git20221224/libpager/data-request.c
@@ -49,7 +49,7 @@ _pager_S_memory_object_data_request (str
 }
   if (length != __vm_page_size)
 {
-  printf ("incg data request: bad length size %lu\n", length);
+  printf ("incg data request: bad length size %lu\n", (unsigned long)length);
   goto release_out;
 }
   if (offset % __vm_page_size)
Index: hurd-0.9.git20221224/libpager/data-return.c
===
--- hurd-0.9.git20221224.orig/libpager/data-return.c
+++ hurd-0.9.git20221224/libpager/data-return.c
@@ -60,7 +60,7 @@ _pager_do_write_request (struct pager *p
 }
   if (length % __vm_page_size)
 {
-  printf ("incg data return: bad length size %lu\n", length);
+  printf ("incg data return: bad length size %lu\n", (unsigned long)length);
   goto release_out;
 }
   if (offset % __vm_page_size)
Index: hurd-0.9.git20221224/libpager/data-unlock.c
===
--- hurd-0.9.git20221224.orig/libpager/data-unlock.c
+++ hurd-0.9.git20221224/libpager/data-unlock.c
@@ -58,7 +58,7 @@ _pager_S_memory_object_data_unlock (stru
 }
   if (length != __vm_page_size)
 {
-  printf ("incg data unlock: bad length size %lu\n", length);
+  printf ("incg data unlock: bad length size %lu\n", (unsigned long)length);
   goto out;
 }
 
Index: hurd-0.9.git20221224/ext2fs/pager.c
===
--- hurd-0.9.git20221224.orig/ext2fs/pager.c
+++ hurd-0.9.git20221224/ext2fs/pager.c
@@ -643,7 +643,7 @@ pager_unlock_page (struct user_pager_inf
 	ext2_warning ("This filesystem is out of space.");
   else if (err)
 	ext2_warning ("inode=%Ld, page=0x%lx: %s",
-		  node->cache_id, page, strerror (err));
+		  node->cache_id, (unsigned long)page, strerror (err));
 
   return err;
 }
@@ -906,7 +906,7 @@ disk_cache_init (void)
 {
   if (block_size != vm_page_size)
 ext2_panic ("Block size %u != vm_page_size %lu",
-		block_size, vm_page_size);
+		block_size, (unsigned long)vm_page_size);
 
   pthread_mutex_init (_cache_lock, NULL);
   pthread_cond_init (_cache_reassociation, NULL);
Index: hurd-0.9.git20221224/mach-defpager/main.c
===
--- hurd-0.9.git20221224.orig/mach-defpager/main.c
+++ hurd-0.9.git20221224/mach-defpager/main.c
@@ -43,6 +43,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 /* XXX */
 


Re: [PATCH] Fix some compiler warnings

2023-01-18 Thread Samuel Thibault
Svante Signell, le mer. 18 janv. 2023 11:59:40 +0100, a ecrit:
> On Wed, 2023-01-18 at 02:02 +0100, Samuel Thibault wrote:
> > Hello,
> > 
> > 
> > But conversely when we'll build it in 64bit, vm_page_size (actually
> > uintptr_t) will be an unsigned long.
> > 
> > This needs to be fixed the *proper* way: either use the PRIuPTR
> > macro, or cast the value into unsigned long.
> 
> Now cast to an unsigned long, new patch attached.

I only took the ext2fs.c part for an example, but it's the same for all
other files.

Samuel

> Index: hurd-0.9.git20221224/ext2fs/ext2fs.c
> ===
> --- hurd-0.9.git20221224.orig/ext2fs/ext2fs.c
> +++ hurd-0.9.git20221224/ext2fs/ext2fs.c
> @@ -233,7 +233,7 @@ main (int argc, char **argv)
>  ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
>if (store->log2_blocks_per_page < 0)
>  ext2_panic ("device block size (%zu) greater than page size (%lu)",
> - store->block_size, vm_page_size);
> + store->block_size, (unsigned long)vm_page_size);
>  
>/* Map the entire disk. */
>create_disk_pager ();
> Index: hurd-0.9.git20221224/ext2fs/dir.c
> ===
> --- hurd-0.9.git20221224.orig/ext2fs/dir.c
> +++ hurd-0.9.git20221224/ext2fs/dir.c
> @@ -415,7 +415,7 @@ dirscanblock (vm_address_t blockaddr, st
> || EXT2_DIR_REC_LEN (entry->name_len) > le16toh (entry->rec_len)
> || memchr (entry->name, '\0', entry->name_len))
>   {
> -   ext2_warning ("bad directory entry: inode: %Ld offset: %lu",
> +   ext2_warning ("bad directory entry: inode: %Ld offset: %u",
>   dp->cache_id,
>   currentoff - blockaddr + idx * DIRBLKSIZ);
> return ENOENT;
> Index: hurd-0.9.git20221224/libpager/data-request.c
> ===
> --- hurd-0.9.git20221224.orig/libpager/data-request.c
> +++ hurd-0.9.git20221224/libpager/data-request.c
> @@ -49,7 +49,7 @@ _pager_S_memory_object_data_request (str
>  }
>if (length != __vm_page_size)
>  {
> -  printf ("incg data request: bad length size %lu\n", length);
> +  printf ("incg data request: bad length size %u\n", length);
>goto release_out;
>  }
>if (offset % __vm_page_size)
> Index: hurd-0.9.git20221224/libpager/data-return.c
> ===
> --- hurd-0.9.git20221224.orig/libpager/data-return.c
> +++ hurd-0.9.git20221224/libpager/data-return.c
> @@ -60,7 +60,7 @@ _pager_do_write_request (struct pager *p
>  }
>if (length % __vm_page_size)
>  {
> -  printf ("incg data return: bad length size %lu\n", length);
> +  printf ("incg data return: bad length size %u\n", length);
>goto release_out;
>  }
>if (offset % __vm_page_size)
> Index: hurd-0.9.git20221224/libpager/data-unlock.c
> ===
> --- hurd-0.9.git20221224.orig/libpager/data-unlock.c
> +++ hurd-0.9.git20221224/libpager/data-unlock.c
> @@ -58,7 +58,7 @@ _pager_S_memory_object_data_unlock (stru
>  }
>if (length != __vm_page_size)
>  {
> -  printf ("incg data unlock: bad length size %lu\n", length);
> +  printf ("incg data unlock: bad length size %u\n", length);
>goto out;
>  }
>  
> Index: hurd-0.9.git20221224/ext2fs/pager.c
> ===
> --- hurd-0.9.git20221224.orig/ext2fs/pager.c
> +++ hurd-0.9.git20221224/ext2fs/pager.c
> @@ -642,7 +642,7 @@ pager_unlock_page (struct user_pager_inf
>if (err == ENOSPC)
>   ext2_warning ("This filesystem is out of space.");
>else if (err)
> - ext2_warning ("inode=%Ld, page=0x%lx: %s",
> + ext2_warning ("inode=%Ld, page=0x%x: %s",
> node->cache_id, page, strerror (err));
>  
>return err;
> @@ -905,7 +905,7 @@ static void
>  disk_cache_init (void)
>  {
>if (block_size != vm_page_size)
> -ext2_panic ("Block size %u != vm_page_size %lu",
> +ext2_panic ("Block size %u != vm_page_size %u",
>   block_size, vm_page_size);
>  
>pthread_mutex_init (_cache_lock, NULL);
> Index: hurd-0.9.git20221224/mach-defpager/main.c
> ===
> --- hurd-0.9.git20221224.orig/mach-defpager/main.c
> +++ hurd-0.9.git20221224/mach-defpager/main.c
> @@ -43,6 +43,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  /* XXX */
>  


-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.



Re: [PATCH] Fix some compiler warnings

2023-01-18 Thread Svante Signell
On Wed, 2023-01-18 at 02:02 +0100, Samuel Thibault wrote:
> Hello,
> 
> 
> But conversely when we'll build it in 64bit, vm_page_size (actually
> uintptr_t) will be an unsigned long.
> 
> This needs to be fixed the *proper* way: either use the PRIuPTR
> macro, or cast the value into unsigned long.

Now cast to an unsigned long, new patch attached.

Thanks!
Index: hurd-0.9.git20221224/ext2fs/ext2fs.c
===
--- hurd-0.9.git20221224.orig/ext2fs/ext2fs.c
+++ hurd-0.9.git20221224/ext2fs/ext2fs.c
@@ -233,7 +233,7 @@ main (int argc, char **argv)
 ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
   if (store->log2_blocks_per_page < 0)
 ext2_panic ("device block size (%zu) greater than page size (%lu)",
-		store->block_size, vm_page_size);
+		store->block_size, (unsigned long)vm_page_size);
 
   /* Map the entire disk. */
   create_disk_pager ();
Index: hurd-0.9.git20221224/ext2fs/dir.c
===
--- hurd-0.9.git20221224.orig/ext2fs/dir.c
+++ hurd-0.9.git20221224/ext2fs/dir.c
@@ -415,7 +415,7 @@ dirscanblock (vm_address_t blockaddr, st
 	  || EXT2_DIR_REC_LEN (entry->name_len) > le16toh (entry->rec_len)
 	  || memchr (entry->name, '\0', entry->name_len))
 	{
-	  ext2_warning ("bad directory entry: inode: %Ld offset: %lu",
+	  ext2_warning ("bad directory entry: inode: %Ld offset: %u",
 			dp->cache_id,
 			currentoff - blockaddr + idx * DIRBLKSIZ);
 	  return ENOENT;
Index: hurd-0.9.git20221224/libpager/data-request.c
===
--- hurd-0.9.git20221224.orig/libpager/data-request.c
+++ hurd-0.9.git20221224/libpager/data-request.c
@@ -49,7 +49,7 @@ _pager_S_memory_object_data_request (str
 }
   if (length != __vm_page_size)
 {
-  printf ("incg data request: bad length size %lu\n", length);
+  printf ("incg data request: bad length size %u\n", length);
   goto release_out;
 }
   if (offset % __vm_page_size)
Index: hurd-0.9.git20221224/libpager/data-return.c
===
--- hurd-0.9.git20221224.orig/libpager/data-return.c
+++ hurd-0.9.git20221224/libpager/data-return.c
@@ -60,7 +60,7 @@ _pager_do_write_request (struct pager *p
 }
   if (length % __vm_page_size)
 {
-  printf ("incg data return: bad length size %lu\n", length);
+  printf ("incg data return: bad length size %u\n", length);
   goto release_out;
 }
   if (offset % __vm_page_size)
Index: hurd-0.9.git20221224/libpager/data-unlock.c
===
--- hurd-0.9.git20221224.orig/libpager/data-unlock.c
+++ hurd-0.9.git20221224/libpager/data-unlock.c
@@ -58,7 +58,7 @@ _pager_S_memory_object_data_unlock (stru
 }
   if (length != __vm_page_size)
 {
-  printf ("incg data unlock: bad length size %lu\n", length);
+  printf ("incg data unlock: bad length size %u\n", length);
   goto out;
 }
 
Index: hurd-0.9.git20221224/ext2fs/pager.c
===
--- hurd-0.9.git20221224.orig/ext2fs/pager.c
+++ hurd-0.9.git20221224/ext2fs/pager.c
@@ -642,7 +642,7 @@ pager_unlock_page (struct user_pager_inf
   if (err == ENOSPC)
 	ext2_warning ("This filesystem is out of space.");
   else if (err)
-	ext2_warning ("inode=%Ld, page=0x%lx: %s",
+	ext2_warning ("inode=%Ld, page=0x%x: %s",
 		  node->cache_id, page, strerror (err));
 
   return err;
@@ -905,7 +905,7 @@ static void
 disk_cache_init (void)
 {
   if (block_size != vm_page_size)
-ext2_panic ("Block size %u != vm_page_size %lu",
+ext2_panic ("Block size %u != vm_page_size %u",
 		block_size, vm_page_size);
 
   pthread_mutex_init (_cache_lock, NULL);
Index: hurd-0.9.git20221224/mach-defpager/main.c
===
--- hurd-0.9.git20221224.orig/mach-defpager/main.c
+++ hurd-0.9.git20221224/mach-defpager/main.c
@@ -43,6 +43,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 /* XXX */
 


Re: [PATCH] Fix some compiler warnings

2023-01-17 Thread Samuel Thibault
Hello,

Svante Signell, le mar. 17 janv. 2023 13:15:27 +0100, a ecrit:
> --- hurd-git/ext2fs/ext2fs.c  2022-12-08 15:05:29.80800 +0100
> +++ hurd-git/ext2fs/ext2fs.c  2022-12-08 19:11:12.60400 +0100
> @@ -232,7 +232,7 @@
>if (store->size < SBLOCK_OFFS + SBLOCK_SIZE)
>  ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
>if (store->log2_blocks_per_page < 0)
> -ext2_panic ("device block size (%zu) greater than page size (%lu)",
> +ext2_panic ("device block size (%zu) greater than page size (%u)",
>   store->block_size, vm_page_size);

But conversely when we'll build it in 64bit, vm_page_size (actually
uintptr_t) will be an unsigned long.

This needs to be fixed the *proper* way: either use the PRIuPTR macro,
or cast the value into unsigned long.

Samuel



[PATCH] Fix some compiler warnings

2023-01-17 Thread Svante Signell
Hi,

The attached patch fixes some format warnings as well as an implicit
declaration of ‘startup_essential_task’ in mach-defpager/main.c.

Applies nicely to hurd-0.9.git20221224 and latest git.

Thanks!
--- hurd-git/ext2fs/ext2fs.c	2022-12-08 15:05:29.80800 +0100
+++ hurd-git/ext2fs/ext2fs.c	2022-12-08 19:11:12.60400 +0100
@@ -232,7 +232,7 @@
   if (store->size < SBLOCK_OFFS + SBLOCK_SIZE)
 ext2_panic ("device too small for superblock (%Ld bytes)", store->size);
   if (store->log2_blocks_per_page < 0)
-ext2_panic ("device block size (%zu) greater than page size (%lu)",
+ext2_panic ("device block size (%zu) greater than page size (%u)",
 		store->block_size, vm_page_size);
 
   /* Map the entire disk. */
--- hurd-git/ext2fs/dir.c	2022-12-03 16:44:52.78000 +0100
+++ hurd-git/ext2fs/dir.c	2022-12-09 11:35:05.29600 +0100
@@ -415,7 +415,7 @@
 	  || EXT2_DIR_REC_LEN (entry->name_len) > le16toh (entry->rec_len)
 	  || memchr (entry->name, '\0', entry->name_len))
 	{
-	  ext2_warning ("bad directory entry: inode: %Ld offset: %lu",
+	  ext2_warning ("bad directory entry: inode: %Ld offset: %u",
 			dp->cache_id,
 			currentoff - blockaddr + idx * DIRBLKSIZ);
 	  return ENOENT;
--- hurd-git/libpager/data-request.c	2022-12-08 15:05:29.81200 +0100
+++ hurd-git/libpager/data-request.c	2022-12-09 11:23:20.41200 +0100
@@ -49,7 +49,7 @@
 }
   if (length != __vm_page_size)
 {
-  printf ("incg data request: bad length size %lu\n", length);
+  printf ("incg data request: bad length size %u\n", length);
   goto release_out;
 }
   if (offset % __vm_page_size)
--- hurd-git/libpager/data-return.c	2022-12-08 15:05:29.81200 +0100
+++ hurd-git/libpager/data-return.c	2022-12-09 11:24:56.80400 +0100
@@ -60,7 +60,7 @@
 }
   if (length % __vm_page_size)
 {
-  printf ("incg data return: bad length size %lu\n", length);
+  printf ("incg data return: bad length size %u\n", length);
   goto release_out;
 }
   if (offset % __vm_page_size)
--- hurd-git/libpager/data-unlock.c	2022-12-08 15:05:29.81200 +0100
+++ hurd-git/libpager/data-unlock.c	2022-12-09 11:26:07.95600 +0100
@@ -58,7 +58,7 @@
 }
   if (length != __vm_page_size)
 {
-  printf ("incg data unlock: bad length size %lu\n", length);
+  printf ("incg data unlock: bad length size %u\n", length);
   goto out;
 }
 
--- hurd-git/ext2fs/pager.c	2022-12-08 15:05:29.81200 +0100
+++ hurd-git/ext2fs/pager.c	2022-12-08 19:23:39.85600 +0100
@@ -642,7 +642,7 @@
   if (err == ENOSPC)
 	ext2_warning ("This filesystem is out of space.");
   else if (err)
-	ext2_warning ("inode=%Ld, page=0x%lx: %s",
+	ext2_warning ("inode=%Ld, page=0x%x: %s",
 		  node->cache_id, page, strerror (err));
 
   return err;
@@ -905,7 +905,7 @@
 disk_cache_init (void)
 {
   if (block_size != vm_page_size)
-ext2_panic ("Block size %u != vm_page_size %lu",
+ext2_panic ("Block size %u != vm_page_size %u",
 		block_size, vm_page_size);
 
   pthread_mutex_init (_cache_lock, NULL);
--- hurd-git/mach-defpager/main.c	2022-12-04 14:53:41.23200 +0100
+++ hurd-git/mach-defpager/main.c	2022-12-09 11:53:44.37200 +0100
@@ -43,6 +43,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 /* XXX */
 


Re: [PATCH] fix some compiler warnings in gnumach

2016-01-01 Thread Samuel Thibault
Hello,

Flavio Cruz, on Thu 31 Dec 2015 19:08:19 +0100, wrote:
> @@ -1666,7 +1666,7 @@ device_get_status (void *d, dev_flavor_t flavor, 
> dev_status_t status,
>   return D_INVALID_OPERATION;
>else
>   {
> -   struct disk_parms *dp = status;
> +   struct disk_parms *dp = (struct disk_parms *) status;

Mmm, this looks so wrong...  I'd rather actually just remove the
V_GETPARMS code and the whole i386/disk.h header actually: AFAIK this
call is never used, and DEV_GET_SIZE/RECORDS should be used instead
anyway.

> diff --git a/i386/i386/phys.c b/i386/i386/phys.c
> index d55bdd9..8681fba 100644
> --- a/i386/i386/phys.c
> +++ b/i386/i386/phys.c
> @@ -77,7 +77,8 @@ pmap_copy_page(
>   vm_offset_t dst)
>  {
>   vm_offset_t src_addr_v, dst_addr_v;
> - pmap_mapwindow_t *src_map, *dst_map;
> + pmap_mapwindow_t *src_map = NULL;
> + pmap_mapwindow_t *dst_map;

For symmetry, better also initialize dst_map. Gcc happens to be
warning only about src_map for some reason, but it will probably warn
about dst_map someday too.

> @@ -114,13 +114,14 @@ int unit = minor(dev);
>  struct bus_device *isai;
>  struct tty *tp;
>  u_short addr;
> -  
> +caddr_t *caddr = (caddr_t *) 
> +
>   if (unit >= NLPR || (isai = lprinfo[unit]) == 0 || isai->alive == 0)
>   return (D_NO_SUCH_DEVICE);
>   tp = _tty[unit];
>   addr = (u_short) isai->address;
>   tp->t_dev = dev;
> - tp->t_addr = *(caddr_t *)
> + tp->t_addr = *caddr;

The code looks wrong actually, and should be fixed instead of hiding the
warning.  See in lprstart, tp->t_addr is supposed to be the i/o port,
i.e. addr.  I don't know what went through the mind of who wrote
*(caddr_t*), but AIUI, it's completely not needed, and tp->t_addr = addr
is what we actually want.

> diff --git a/kern/slab.c b/kern/slab.c
> index 4f32c8e..99d7c78 100644
> --- a/kern/slab.c
> +++ b/kern/slab.c
> @@ -1480,9 +1480,21 @@ void slab_info(void)
>  #if MACH_KDB
>  #include 
>  
> - void db_show_slab_info(void)
> +static int
> +db_printf_wrapper(const char* fmt, ...)
>  {
> -_slab_info(db_printf);
> +va_list  listp;
> +
> +va_start(listp, fmt);
> +db_printf(fmt, listp);

This looks wrong: db_printf doesn't take a listp, it already builds it
for itself.

Samuel



[PATCH] fix some compiler warnings in gnumach

2015-12-31 Thread Flavio Cruz
Fix some compiler warnings.

* linux/dev/glue/block.c (out): Cast to device_t.
* linux/dev/glue/block.c (device_get_status): Cast to struct disk_params *.
* linux/dev/init/main.c (alloc_contig_mem): Initialize addr and cast return 
value to void *.
* i386/i386/phys.c (pmap_copy_page): Initialize src_map.
* i386/i386at/lpr.c (lpropen): Define caddr to avoid warnings.
* i386/intel/pmap.c: Include i386at/model_dep.h.
* kern/mach_clock.c (mapable_time_init): Cast to void *.
* kern/slab.c: Define wrapper to db_printf that returns an int.

---
diff --git a/linux/dev/glue/block.c b/linux/dev/glue/block.c
index da4ef38..4060e65 100644
--- a/linux/dev/glue/block.c
+++ b/linux/dev/glue/block.c
@@ -1157,7 +1157,7 @@ out:
{
  ipc_kobject_set (bd->port, IKO_NULL, IKOT_NONE);
  ipc_port_dealloc_kernel (bd->port);
- *devp = IP_NULL;
+ *devp = (device_t) IP_NULL;
}
  kfree ((vm_offset_t) bd, sizeof (struct block_data));
  bd = NULL;
@@ -1666,7 +1666,7 @@ device_get_status (void *d, dev_flavor_t flavor, 
dev_status_t status,
return D_INVALID_OPERATION;
   else
{
- struct disk_parms *dp = status;
+ struct disk_parms *dp = (struct disk_parms *) status;
  struct hd_geometry hg;
  DECL_DATA;
 
diff --git a/linux/dev/init/main.c b/linux/dev/init/main.c
index ecbd0b6..8737b62 100644
--- a/linux/dev/init/main.c
+++ b/linux/dev/init/main.c
@@ -193,7 +193,7 @@ alloc_contig_mem (unsigned size, unsigned limit,
   unsigned *bits, len;
   void *m;
   vm_page_t p, page_list, tail, prev;
-  vm_offset_t addr, max_addr;
+  vm_offset_t addr = 0, max_addr;
 
   if (size == 0)
 return (NULL);
@@ -296,7 +296,7 @@ alloc_contig_mem (unsigned size, unsigned limit,
   kfree ((vm_offset_t) bits, bits_len);
   if (pages)
 *pages = page_list;
-  return phystokv(m);
+  return (void *) phystokv(m);
 }
 
 /*

diff --git a/i386/i386/phys.c b/i386/i386/phys.c
index d55bdd9..8681fba 100644
--- a/i386/i386/phys.c
+++ b/i386/i386/phys.c
@@ -77,7 +77,8 @@ pmap_copy_page(
vm_offset_t dst)
 {
vm_offset_t src_addr_v, dst_addr_v;
-   pmap_mapwindow_t *src_map, *dst_map;
+   pmap_mapwindow_t *src_map = NULL;
+   pmap_mapwindow_t *dst_map;
boolean_t src_mapped = src >= phys_last_addr;
boolean_t dst_mapped = dst >= phys_last_addr;
assert(src != vm_page_fictitious_addr);
diff --git a/i386/i386at/lpr.c b/i386/i386at/lpr.c
index edeef9f..6842052 100644
--- a/i386/i386at/lpr.c
+++ b/i386/i386at/lpr.c
@@ -114,13 +114,14 @@ int unit = minor(dev);
 struct bus_device *isai;
 struct tty *tp;
 u_short addr;
-  
+caddr_t *caddr = (caddr_t *) 
+
if (unit >= NLPR || (isai = lprinfo[unit]) == 0 || isai->alive == 0)
return (D_NO_SUCH_DEVICE);
tp = _tty[unit];
addr = (u_short) isai->address;
tp->t_dev = dev;
-   tp->t_addr = *(caddr_t *)
+   tp->t_addr = *caddr;
tp->t_oproc = lprstart;
tp->t_state |= TS_WOPEN;
tp->t_stop = lprstop;
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c
index cf7a736..22e20c9 100644
--- a/i386/intel/pmap.c
+++ b/i386/intel/pmap.c
@@ -83,6 +83,7 @@
 #include 
 #include 
 #include 
+#include 
 
 #ifdef MACH_PSEUDO_PHYS
 #defineWRITE_PTE(pte_p, pte_entry) *(pte_p) = 
pte_entry?pa_to_ma(pte_entry):0;
diff --git a/kern/mach_clock.c b/kern/mach_clock.c
index c6e2d9d..3789571 100644
--- a/kern/mach_clock.c
+++ b/kern/mach_clock.c
@@ -539,7 +539,7 @@ void mapable_time_init(void)
if (kmem_alloc_wired(kernel_map, (vm_offset_t *) , PAGE_SIZE)
!= KERN_SUCCESS)
panic("mapable_time_init");
-   memset(mtime, 0, PAGE_SIZE);
+   memset((void *) mtime, 0, PAGE_SIZE);
update_mapped_time();
 }
 
diff --git a/kern/slab.c b/kern/slab.c
index 4f32c8e..99d7c78 100644
--- a/kern/slab.c
+++ b/kern/slab.c
@@ -1480,9 +1480,21 @@ void slab_info(void)
 #if MACH_KDB
 #include 
 
- void db_show_slab_info(void)
+static int
+db_printf_wrapper(const char* fmt, ...)
 {
-_slab_info(db_printf);
+va_listlistp;
+
+va_start(listp, fmt);
+db_printf(fmt, listp);
+va_end(listp);
+
+return 0;
+}
+
+void db_show_slab_info(void)
+{
+_slab_info(db_printf_wrapper);
 }
 
 #endif /* MACH_KDB */