diff options
author | Jeff Law <jeffreyalaw@gmail.com> | 2023-12-19 20:54:37 -0700 |
---|---|---|
committer | Jeff Law <jeffreyalaw@gmail.com> | 2023-12-19 20:56:04 -0700 |
commit | c1a61029fedbad16bfd6978be13d62412bdede49 (patch) | |
tree | d2a2b6d642ca436e36e7158502b51b50057179a3 | |
parent | 30c469f2e83023b9f77b1771f539006267c632a9 (diff) | |
download | newlib-c1a61029fedbad16bfd6978be13d62412bdede49.zip newlib-c1a61029fedbad16bfd6978be13d62412bdede49.tar.gz newlib-c1a61029fedbad16bfd6978be13d62412bdede49.tar.bz2 |
Fix various v850 problems
These fixes fall into a few different buckets. First c99 doesn't allow a
parameter without a type. So in cases where the type had previously been an
implicit int, make it an explicit int. Second, for return values, don't allow
them to be implicit ints either, make them explicit. In a few cases change c89
function definitions to c99 function definitions. Lastly include <stdlib.h>
in sbrk.c to get the prototype for abort () which we call when we detect a
heap/stack collision.
-rw-r--r-- | newlib/libc/sys/sysnecv850/_exit.c | 2 | ||||
-rw-r--r-- | newlib/libc/sys/sysnecv850/getpid.c | 3 | ||||
-rw-r--r-- | newlib/libc/sys/sysnecv850/isatty.c | 4 | ||||
-rw-r--r-- | newlib/libc/sys/sysnecv850/kill.c | 5 | ||||
-rw-r--r-- | newlib/libc/sys/sysnecv850/read.c | 1 | ||||
-rw-r--r-- | newlib/libc/sys/sysnecv850/sbrk.c | 2 |
6 files changed, 10 insertions, 7 deletions
diff --git a/newlib/libc/sys/sysnecv850/_exit.c b/newlib/libc/sys/sysnecv850/_exit.c index 44d4132..7e1b092 100644 --- a/newlib/libc/sys/sysnecv850/_exit.c +++ b/newlib/libc/sys/sysnecv850/_exit.c @@ -23,7 +23,7 @@ static void _do_dtors() } -void _exit (n) +void _exit (int n) { /* Destructors should be done earlier because they need to be done before the files are closed, but here is better than nowhere (and this balances the diff --git a/newlib/libc/sys/sysnecv850/getpid.c b/newlib/libc/sys/sysnecv850/getpid.c index 32ac7fb..f0fc4d8 100644 --- a/newlib/libc/sys/sysnecv850/getpid.c +++ b/newlib/libc/sys/sysnecv850/getpid.c @@ -9,7 +9,8 @@ int __trap0 (int function, int p1, int p2, int p3); #define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) -_getpid (n) +int +_getpid (int n) { return 1; } diff --git a/newlib/libc/sys/sysnecv850/isatty.c b/newlib/libc/sys/sysnecv850/isatty.c index 248ab52..6e4f205 100644 --- a/newlib/libc/sys/sysnecv850/isatty.c +++ b/newlib/libc/sys/sysnecv850/isatty.c @@ -9,8 +9,8 @@ int __trap0 (int function, int p1, int p2, int p3); #define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) -_isatty (fd) - int fd; +int +_isatty (int fd) { return 1; } diff --git a/newlib/libc/sys/sysnecv850/kill.c b/newlib/libc/sys/sysnecv850/kill.c index 34e5db7..562eaf6 100644 --- a/newlib/libc/sys/sysnecv850/kill.c +++ b/newlib/libc/sys/sysnecv850/kill.c @@ -10,9 +10,8 @@ int __trap0 (int function, int p1, int p2, int p3); #define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) -_kill (pid, sig) - pid_t pid; - int sig; +int +_kill (pid_t pid, int sig) { return TRAP0 (SYS_exit, 0xdead0000 | sig, 0, 0); } diff --git a/newlib/libc/sys/sysnecv850/read.c b/newlib/libc/sys/sysnecv850/read.c index b55d1cb..5ae2c97 100644 --- a/newlib/libc/sys/sysnecv850/read.c +++ b/newlib/libc/sys/sysnecv850/read.c @@ -9,6 +9,7 @@ int __trap0 (int function, int p1, int p2, int p3); #define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) +int _read (int file, char *ptr, int len) diff --git a/newlib/libc/sys/sysnecv850/sbrk.c b/newlib/libc/sys/sysnecv850/sbrk.c index 2893c32..b5673d4 100644 --- a/newlib/libc/sys/sysnecv850/sbrk.c +++ b/newlib/libc/sys/sysnecv850/sbrk.c @@ -2,7 +2,9 @@ #include <sys/types.h> #include <sys/stat.h> #include "sys/syscall.h" +#include <stdlib.h> +extern int _write (int, char *, int); caddr_t _sbrk (int incr) { |