public inbox for newlib-cvs@sourceware.org help / color / mirror / Atom feed
From: Jeff Law <law@sourceware.org> To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] Fix epiphany libgloss for c99/gcc-14 Date: Sat, 23 Dec 2023 04:30:31 +0000 (GMT) [thread overview] Message-ID: <20231223043031.CBC8F3858D33@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=1df8f9f09b0999e04bc0bbd7170ac7dbfa278213 commit 1df8f9f09b0999e04bc0bbd7170ac7dbfa278213 Author: Jeff Law <jeffreyalaw@gmail.com> Date: Fri Dec 22 21:29:56 2023 -0700 Fix epiphany libgloss for c99/gcc-14 So in this case we mostly need to include an internal header (epiphany-syscalls.h). In a few cases an explicit prototype is added. We've also got a return with no value in a function with a non-void return type. Finally the asm_syscall interface expects a pointer as its first argument. In a few cases we've actually got an int (file descriptor) which we just cast to a void *. It's slightly more than Jeff J's pre-approval, but I think still reasonable. Diff: --- libgloss/epiphany/_isatty.c | 1 + libgloss/epiphany/epiphany-syscalls.c | 2 +- libgloss/epiphany/epiphany-syscalls.h | 2 ++ libgloss/epiphany/fstat.c | 3 ++- libgloss/epiphany/gettimeofday.c | 1 + libgloss/epiphany/link.c | 1 + libgloss/epiphany/lseek.c | 3 ++- libgloss/epiphany/stat.c | 1 + libgloss/epiphany/unlink.c | 1 + 9 files changed, 12 insertions(+), 3 deletions(-) diff --git a/libgloss/epiphany/_isatty.c b/libgloss/epiphany/_isatty.c index cfb1bf6e4..f05aba3c3 100644 --- a/libgloss/epiphany/_isatty.c +++ b/libgloss/epiphany/_isatty.c @@ -18,6 +18,7 @@ #include <sys/stat.h> #include <errno.h> +#include "epiphany-syscalls.h" int _isatty (int fd) diff --git a/libgloss/epiphany/epiphany-syscalls.c b/libgloss/epiphany/epiphany-syscalls.c index e6ebcee24..4c03fe291 100644 --- a/libgloss/epiphany/epiphany-syscalls.c +++ b/libgloss/epiphany/epiphany-syscalls.c @@ -253,7 +253,7 @@ int __attribute__ ((section ("libgloss_epiphany"))) e_raise(int signum) { __asm__ __volatile__ ("wand"); //ilatst = 1 << WAND_IVT_N; //break; - return; + return 0; case SIG_USR1: ilatst = 1 << USR_SOFT_IVT_N; diff --git a/libgloss/epiphany/epiphany-syscalls.h b/libgloss/epiphany/epiphany-syscalls.h index 3af1c6f7b..b46587573 100644 --- a/libgloss/epiphany/epiphany-syscalls.h +++ b/libgloss/epiphany/epiphany-syscalls.h @@ -35,5 +35,7 @@ int asm_open(const char* FILE, int FLAGS, int MODE); void asm_exit(int STATUS); int asm_close(int CHAN); int asm_syscall(void *P1, void *P2, void *P3, int SUBFUN); +int _fstat (int, struct stat *st); + #endif diff --git a/libgloss/epiphany/fstat.c b/libgloss/epiphany/fstat.c index 5a20b57f3..d126c2de8 100644 --- a/libgloss/epiphany/fstat.c +++ b/libgloss/epiphany/fstat.c @@ -31,6 +31,7 @@ #include <sys/stat.h> #include <syscall.h> +#include "epiphany-syscalls.h" /* ------------------------------------------------------------------------- */ @@ -44,6 +45,6 @@ int __attribute__ ((section ("libgloss_epiphany"))) _fstat (int fildes, struct stat *st) { - return asm_syscall (fildes, st, NULL, SYS_fstat); + return asm_syscall ((void *)fildes, st, NULL, SYS_fstat); } /* _fstat () */ diff --git a/libgloss/epiphany/gettimeofday.c b/libgloss/epiphany/gettimeofday.c index e169385ea..36f17b8b0 100644 --- a/libgloss/epiphany/gettimeofday.c +++ b/libgloss/epiphany/gettimeofday.c @@ -31,6 +31,7 @@ #include <errno.h> #include <sys/time.h> #include "syscall.h" +#include "epiphany-syscalls.h" int _gettimeofday (struct timeval *tp, void *tzp) diff --git a/libgloss/epiphany/link.c b/libgloss/epiphany/link.c index d87637e39..fd0d8b9cb 100644 --- a/libgloss/epiphany/link.c +++ b/libgloss/epiphany/link.c @@ -31,6 +31,7 @@ #include <unistd.h> #include <syscall.h> +#include "epiphany-syscalls.h" /* ------------------------------------------------------------------------- */ diff --git a/libgloss/epiphany/lseek.c b/libgloss/epiphany/lseek.c index 64ffcdd28..65d7e52da 100644 --- a/libgloss/epiphany/lseek.c +++ b/libgloss/epiphany/lseek.c @@ -30,6 +30,7 @@ #include <syscall.h> #include <sys/types.h> +#include "epiphany-syscalls.h" /* ------------------------------------------------------------------------- */ /*!Set a position in a file @@ -43,5 +44,5 @@ off_t __attribute__ ((section ("libgloss_epiphany"))) _lseek (int fildes, off_t offset, int whence) { - return asm_syscall (fildes, offset, whence, SYS_lseek); + return asm_syscall ((void *)fildes, (void *)offset, (void *)whence, SYS_lseek); } /* _lseek () */ diff --git a/libgloss/epiphany/stat.c b/libgloss/epiphany/stat.c index 988f28dba..f9a3872a8 100644 --- a/libgloss/epiphany/stat.c +++ b/libgloss/epiphany/stat.c @@ -31,6 +31,7 @@ #include <sys/stat.h> #include <syscall.h> +#include "epiphany-syscalls.h" /* ------------------------------------------------------------------------- */ diff --git a/libgloss/epiphany/unlink.c b/libgloss/epiphany/unlink.c index c78af284d..653f24b95 100644 --- a/libgloss/epiphany/unlink.c +++ b/libgloss/epiphany/unlink.c @@ -31,6 +31,7 @@ #include <unistd.h> #include <syscall.h> +#include "epiphany-syscalls.h" /* ------------------------------------------------------------------------- */
reply other threads:[~2023-12-23 4:30 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=20231223043031.CBC8F3858D33@sourceware.org \ --to=law@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: linkBe 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).