public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
* [newlib-cygwin] newlib MMIX: Fix compilation warnings that recent gcc treats as errors
@ 2023-12-29 18:29 Hans-Peter Nilsson
  0 siblings, 0 replies; only message in thread
From: Hans-Peter Nilsson @ 2023-12-29 18:29 UTC (permalink / raw)
  To: newlib-cvs

https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=ddb614993a78bf2cdf2ed269617f7f552490e76f

commit ddb614993a78bf2cdf2ed269617f7f552490e76f
Author: Hans-Peter Nilsson <hp@axis.com>
Date:   Thu Dec 28 04:31:19 2023 +0100

    newlib MMIX: Fix compilation warnings that recent gcc treats as errors
    
    Without this, when building with recent gcc, we'll see errors when
    compiling for --target mmix the first being:
      CC       libc/sys/mmixware/libc_a-chmod.o
    In file included from /x/newlib/libc/sys/mmixware/chmod.c:17:
    /x/newlib/libc/sys/mmixware/chmod.c: In function 'chmod':
    /x/newlib/libc/sys/mmixware/sys/syscall.h:139:6: error: implicit declaration \
    of function 'sprintf' [-Wimplicit-function-declaration]
      139 |      sprintf (buf, "UNIMPLEMENTED %s in %s\n", __FUNCTION__,
     __FILE__); \
    
    Other warnings also quelled.
    
            * libc/sys/mmixware/sys/syscall.h: Include stdio.h, string.h
            and unistd.h.
            * libc/sys/mmixware/_exit.c: Call __unreachable after simulator exit.
            * libc/sys/mmixware/chown.c (chown): Match declaration in unistd.h.
            * libc/sys/mmixware/getpid.c (_getpid): Ditto.
            * libc/sys/mmixware/kill.c (_kill): Ditto.
            * libc/sys/mmixware/link.c (_link): Ditto.
            * libc/sys/mmixware/read.c (_read): Ditto.
            * libc/sys/mmixware/sbrk.c (_sbrk): Ditto.
            * libc/sys/mmixware/unlink.c (_unlink): Ditto.
            * libc/sys/mmixware/write.c (_write): Ditto.

Diff:
---
 newlib/libc/sys/mmixware/_exit.c       |  3 ++-
 newlib/libc/sys/mmixware/chown.c       |  4 ++--
 newlib/libc/sys/mmixware/getpid.c      |  5 +++--
 newlib/libc/sys/mmixware/kill.c        |  5 +++--
 newlib/libc/sys/mmixware/link.c        |  4 ++--
 newlib/libc/sys/mmixware/read.c        |  4 ++--
 newlib/libc/sys/mmixware/sbrk.c        | 10 +++++-----
 newlib/libc/sys/mmixware/sys/syscall.h |  8 +++++++-
 newlib/libc/sys/mmixware/unlink.c      |  4 ++--
 newlib/libc/sys/mmixware/write.c       |  4 ++--
 10 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/newlib/libc/sys/mmixware/_exit.c b/newlib/libc/sys/mmixware/_exit.c
index 2f70154f2..9ac62c743 100644
--- a/newlib/libc/sys/mmixware/_exit.c
+++ b/newlib/libc/sys/mmixware/_exit.c
@@ -1,6 +1,6 @@
 /* _exit for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -27,4 +27,5 @@ void _exit (int n)
 	   : /* No outputs.  */
 	   : "r" (n)
 	   : "memory");
+  __unreachable ();
 }
diff --git a/newlib/libc/sys/mmixware/chown.c b/newlib/libc/sys/mmixware/chown.c
index f4fc49cac..646504b32 100644
--- a/newlib/libc/sys/mmixware/chown.c
+++ b/newlib/libc/sys/mmixware/chown.c
@@ -1,6 +1,6 @@
 /* chown stub for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -18,7 +18,7 @@
 #include <errno.h>
 
 int
-chown (const char *path, short owner, short group)
+chown (const char *path, uid_t owner, gid_t group)
 {
   UNIMPLEMENTED (("path: %s, owner: %d, group: %d", path, owner, group));
   errno = ENOSYS;
diff --git a/newlib/libc/sys/mmixware/getpid.c b/newlib/libc/sys/mmixware/getpid.c
index 5190726bf..723317f17 100644
--- a/newlib/libc/sys/mmixware/getpid.c
+++ b/newlib/libc/sys/mmixware/getpid.c
@@ -1,6 +1,6 @@
 /* getpid stub for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -16,7 +16,8 @@
 #include <sys/stat.h>
 #include "sys/syscall.h"
 
-_getpid (n)
+pid_t
+_getpid (void)
 {
   return 1;
 }
diff --git a/newlib/libc/sys/mmixware/kill.c b/newlib/libc/sys/mmixware/kill.c
index c01f53c81..ed9d92bb1 100644
--- a/newlib/libc/sys/mmixware/kill.c
+++ b/newlib/libc/sys/mmixware/kill.c
@@ -1,6 +1,6 @@
 /* kill for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -17,7 +17,8 @@
 #include "sys/syscall.h"
 #include <errno.h>
 
-_kill (n, m)
+int
+_kill (pid_t n, int m __unused)
 {
   if (n == 1)
     return TRAP1i (SYS_halt, 0);
diff --git a/newlib/libc/sys/mmixware/link.c b/newlib/libc/sys/mmixware/link.c
index 0629163b3..cbcf7ee44 100644
--- a/newlib/libc/sys/mmixware/link.c
+++ b/newlib/libc/sys/mmixware/link.c
@@ -1,6 +1,6 @@
 /* link stub for MMIXware.
 
-   Copyright (C) 2002 Hans-Peter Nilsson
+   Copyright (C) 2002, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -18,7 +18,7 @@
 #include <errno.h>
 
 int
-_link ()
+_link (const char *p1 __unused, const char *p2 __unused)
 {
   errno = EMLINK;
   return -1;
diff --git a/newlib/libc/sys/mmixware/read.c b/newlib/libc/sys/mmixware/read.c
index f0f5e22f9..3f34ca487 100644
--- a/newlib/libc/sys/mmixware/read.c
+++ b/newlib/libc/sys/mmixware/read.c
@@ -1,6 +1,6 @@
 /* read for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -19,7 +19,7 @@
 
 int
 _read (int file,
-       char *ptr,
+       void *ptr,
        size_t len)
 {
   long ret;
diff --git a/newlib/libc/sys/mmixware/sbrk.c b/newlib/libc/sys/mmixware/sbrk.c
index f50886df8..621169fc8 100644
--- a/newlib/libc/sys/mmixware/sbrk.c
+++ b/newlib/libc/sys/mmixware/sbrk.c
@@ -1,6 +1,6 @@
 /* sbrk for MMIXware.
 
-   Copyright (C) 2001, 2012 Hans-Peter Nilsson
+   Copyright (C) 2001, 2012, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -31,10 +31,10 @@ __asm__ (" .global _Sbrk_high\n"
 	 "_Sbrk_high	IS	Pool_Segment\n"
 	 "Pool_Segment	IS	0x40<<56");
 
-caddr_t
-_sbrk (size_t incr)
+void *
+_sbrk (ptrdiff_t incr)
 {
-  char *prev_heap_end;
+  void *prev_heap_end;
 
   prev_heap_end = _Sbrk_high;
 
@@ -55,5 +55,5 @@ _sbrk (size_t incr)
     }
 
   _Sbrk_high += incr;
-  return (caddr_t) prev_heap_end;
+  return prev_heap_end;
 }
diff --git a/newlib/libc/sys/mmixware/sys/syscall.h b/newlib/libc/sys/mmixware/sys/syscall.h
index 4b4419cc0..b5e40cc12 100644
--- a/newlib/libc/sys/mmixware/sys/syscall.h
+++ b/newlib/libc/sys/mmixware/sys/syscall.h
@@ -1,6 +1,6 @@
 /* syscall defines for MMIXware.
 
-   Copyright (C) 2001, 2002, 2007 Hans-Peter Nilsson
+   Copyright (C) 2001, 2002, 2007, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -11,6 +11,12 @@
    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    PURPOSE.  */
 
+/* The standard-library calls in UNIMPLEMENTED, defined below, need to
+   be declared.  Don't push the #include requirements to the caller.  */
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
 /* These are the mmixware simulator calls that are of use in newlib.  */
 
 #define SYS_halt	0
diff --git a/newlib/libc/sys/mmixware/unlink.c b/newlib/libc/sys/mmixware/unlink.c
index b70df2dc3..dfc92c622 100644
--- a/newlib/libc/sys/mmixware/unlink.c
+++ b/newlib/libc/sys/mmixware/unlink.c
@@ -1,6 +1,6 @@
 /* unlink stub for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -17,7 +17,7 @@
 #include "sys/syscall.h"
 
 int
-_unlink ()
+_unlink (const char *p __unused)
 {
   return -1;
 }
diff --git a/newlib/libc/sys/mmixware/write.c b/newlib/libc/sys/mmixware/write.c
index 74d5fcaa7..89247895e 100644
--- a/newlib/libc/sys/mmixware/write.c
+++ b/newlib/libc/sys/mmixware/write.c
@@ -1,6 +1,6 @@
 /* write for MMIXware.
 
-   Copyright (C) 2001 Hans-Peter Nilsson
+   Copyright (C) 2001, 2023 Hans-Peter Nilsson
 
    Permission to use, copy, modify, and distribute this software is
    freely granted, provided that the above copyright notice, this notice
@@ -19,7 +19,7 @@
 
 int
 _write ( int file,
-	 char *ptr,
+	 const void *ptr,
 	 size_t len)
 {
   long ret;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-29 18:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-29 18:29 [newlib-cygwin] newlib MMIX: Fix compilation warnings that recent gcc treats as errors Hans-Peter Nilsson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).