public inbox for newlib-cvs@sourceware.org
help / color / mirror / Atom feed
From: Hans-Peter Nilsson <hp@sourceware.org>
To: newlib-cvs@sourceware.org
Subject: [newlib-cygwin] newlib MMIX: Fix compilation warnings that recent gcc treats as errors
Date: Fri, 29 Dec 2023 18:29:45 +0000 (GMT)	[thread overview]
Message-ID: <20231229182945.442A23858D33@sourceware.org> (raw)

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;

                 reply	other threads:[~2023-12-29 18:29 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231229182945.442A23858D33@sourceware.org \
    --to=hp@sourceware.org \
    --cc=newlib-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).