aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <jeffreyalaw@gmail.com>2023-12-19 20:54:37 -0700
committerJeff Law <jeffreyalaw@gmail.com>2023-12-19 20:56:04 -0700
commitc1a61029fedbad16bfd6978be13d62412bdede49 (patch)
treed2a2b6d642ca436e36e7158502b51b50057179a3
parent30c469f2e83023b9f77b1771f539006267c632a9 (diff)
downloadnewlib-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.c2
-rw-r--r--newlib/libc/sys/sysnecv850/getpid.c3
-rw-r--r--newlib/libc/sys/sysnecv850/isatty.c4
-rw-r--r--newlib/libc/sys/sysnecv850/kill.c5
-rw-r--r--newlib/libc/sys/sysnecv850/read.c1
-rw-r--r--newlib/libc/sys/sysnecv850/sbrk.c2
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)
{