libc: sh: add missing prototypes and change functions from K&R to ANSI
Commit Message
The SuperH target doesn't build on GCC 14.1 because of missing
function prototypes or because some function declarations use the
deprecated K&R style. This patch adds missing prototypes on the files
the functions are used and convert K&R declarations to ANSI-style.
Signed-off-by: Pietro Monteiro <pietro@sociotechnical.xyz>
---
newlib/libc/sys/sh/creat.c | 7 +++---
newlib/libc/sys/sh/ftruncate.c | 2 ++
newlib/libc/sys/sh/syscalls.c | 40 +++++++++++++++++++++-------------
newlib/libc/sys/sh/truncate.c | 2 ++
4 files changed, 33 insertions(+), 18 deletions(-)
Comments
On Jun 24 19:08, Pietro Monteiro wrote:
> The SuperH target doesn't build on GCC 14.1 because of missing
> function prototypes or because some function declarations use the
> deprecated K&R style. This patch adds missing prototypes on the files
> the functions are used and convert K&R declarations to ANSI-style.
>
> Signed-off-by: Pietro Monteiro <pietro@sociotechnical.xyz>
> ---
> newlib/libc/sys/sh/creat.c | 7 +++---
> newlib/libc/sys/sh/ftruncate.c | 2 ++
> newlib/libc/sys/sh/syscalls.c | 40 +++++++++++++++++++++-------------
> newlib/libc/sys/sh/truncate.c | 2 ++
> 4 files changed, 33 insertions(+), 18 deletions(-)
Pushed.
Thanks,
Corinna
@@ -1,7 +1,8 @@
+extern int
+_creat (const char *path, int mode);
+
int
-creat(path, mode)
- const char *path;
- int mode;
+creat (const char *path, int mode)
{
return _creat (path, mode);
}
@@ -2,6 +2,8 @@
#include <sys/types.h>
#include "sys/syscall.h"
+extern int __trap34 (int function, ...);
+
int
ftruncate (int file, off_t length)
{
@@ -3,11 +3,19 @@
#include <sys/stat.h>
#include <sys/time.h>
#include "sys/syscall.h"
-int errno;
+#include <errno.h>
+#undef errno
+extern int errno;
+
+void abort (void) __attribute__((__noreturn__));
+
+extern int __trap34 (int function, ...);
/* This is used by _sbrk. */
register char *stack_ptr asm ("r15");
+extern int main (int, char**);
+
int
_read (int file,
char *ptr,
@@ -93,34 +101,38 @@ _unlink ()
return -1;
}
-isatty (fd)
- int fd;
+int
+isatty (int fd)
{
return 1;
}
-_isatty (fd)
- int fd;
+int
+_isatty (int fd)
{
return 1;
}
-
-_exit (n)
+_ATTRIBUTE ((__noreturn__)) void
+_exit (int n)
{
- return __trap34 (SYS_exit, n, 0, 0);
+ __trap34 (SYS_exit, n, 0, 0);
}
-_kill (n, m)
+int
+_kill (int pid,
+ int sig)
{
return __trap34 (SYS_exit, 0xdead, 0, 0);
}
-_getpid (n)
+int
+_getpid ()
{
return 1;
}
+void
_raise ()
{
}
@@ -145,9 +157,8 @@ _chown (const char *path, short owner, short group)
}
int
-_utime (path, times)
- const char *path;
- char *times;
+_utime (const char *path,
+ char *times)
{
return __trap34 (SYS_utime, path, times);
}
@@ -159,8 +170,7 @@ _fork ()
}
int
-_wait (statusp)
- int *statusp;
+_wait (int *statusp)
{
return __trap34 (SYS_wait);
}
@@ -2,6 +2,8 @@
#include <sys/types.h>
#include "sys/syscall.h"
+extern int __trap34 (int function, ...);
+
int
truncate (const char *path, off_t length)
{