Fix various v850 problems

Message ID 99b81fad-d0c9-4a30-b132-851f58960fd4@gmail.com
State New
Headers
Series Fix various v850 problems |

Commit Message

Jeff Law Dec. 17, 2023, 5:20 a.m. UTC
  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.

OK for the trunk?

Thanks,
Jeff
  

Comments

Jeff Johnston Dec. 19, 2023, 6:27 p.m. UTC | #1
Please go ahead.

-- Jeff J.

On Sun, Dec 17, 2023 at 12:20 AM Jeff Law <jeffreyalaw@gmail.com> wrote:

>
> 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.
>
> OK for the trunk?
>
> Thanks,
> Jeff
  

Patch

diff --git a/newlib/libc/sys/sysnecv850/_exit.c b/newlib/libc/sys/sysnecv850/_exit.c
index 44d4132bd..7e1b09262 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 32ac7fbfb..f0fc4d895 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 248ab5248..6e4f205f0 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 34e5db793..562eaf6c7 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 b55d1cb9e..5ae2c9799 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 2893c322f..b5673d467 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)
 {