Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <jeffreyalaw@gmail.com>2023-12-30 07:31:27 +0300
committerJeff Law <jeffreyalaw@gmail.com>2023-12-30 07:31:27 +0300
commit3d10b04f1ed9bf53c282081c88165951e8c32cec (patch)
treec9741dfd1ca7ac46661fe3c0f58e94f25972dd58 /libgloss
parent7ef32a98cdf74157ae734a7a833af5171585db0c (diff)
Fix various c99/gcc-14 issues in generic libgloss code
Similar to what's been done in the ports, but this time in generic code. Add missing #includes to pick up prototypes. Add prototypes for various internal functions where needed. Fix signatures of various functions to match what's provided by the headers (read, sbrk, write, unlink). Nearly done with this effort ;-) Pushed to the trunk,
Diffstat (limited to 'libgloss')
-rw-r--r--libgloss/glue.h2
-rw-r--r--libgloss/putnum.c2
-rw-r--r--libgloss/read.c5
-rw-r--r--libgloss/sbrk.c5
-rw-r--r--libgloss/unlink.c2
-rw-r--r--libgloss/write.c5
6 files changed, 13 insertions, 8 deletions
diff --git a/libgloss/glue.h b/libgloss/glue.h
index 0a7e36db2..98c0a6ad2 100644
--- a/libgloss/glue.h
+++ b/libgloss/glue.h
@@ -13,6 +13,7 @@
* they apply.
*/
#include <_ansi.h>
+#include <unistd.h>
#ifndef NULL
# define NULL 0
@@ -28,4 +29,5 @@ extern char _end[]; /* _end is set in the linker command file */
/* only one prcess support, as this is OS dependant */
#define __MYPID 1
+int outbyte (char);
diff --git a/libgloss/putnum.c b/libgloss/putnum.c
index c368c4136..6e1051e24 100644
--- a/libgloss/putnum.c
+++ b/libgloss/putnum.c
@@ -14,6 +14,8 @@
*/
#include "glue.h"
+extern void print (char *ptr);
+
/*
* putnum -- print a 32 bit number in hex
*/
diff --git a/libgloss/read.c b/libgloss/read.c
index 24108ce0d..83a3b549b 100644
--- a/libgloss/read.c
+++ b/libgloss/read.c
@@ -22,10 +22,11 @@ extern char inbyte (void);
*/
int
read (int fd,
- char *buf,
- int nbytes)
+ void *buf_,
+ size_t nbytes)
{
int i = 0;
+ char *buf = buf_;
for (i = 0; i < nbytes; i++) {
*(buf + i) = inbyte();
diff --git a/libgloss/sbrk.c b/libgloss/sbrk.c
index c222b4bbf..d567a4a60 100644
--- a/libgloss/sbrk.c
+++ b/libgloss/sbrk.c
@@ -27,9 +27,8 @@ char *heap_ptr;
* RAM. We just increment a pointer in what's
* left of memory on the board.
*/
-char *
-sbrk (nbytes)
- int nbytes;
+void *
+sbrk (ptrdiff_t nbytes)
{
char *base;
diff --git a/libgloss/unlink.c b/libgloss/unlink.c
index 76c1a4fef..af06c51d7 100644
--- a/libgloss/unlink.c
+++ b/libgloss/unlink.c
@@ -20,7 +20,7 @@
* we just return an error.
*/
int
-unlink (char * path)
+unlink (const char * path)
{
errno = EIO;
return (-1);
diff --git a/libgloss/write.c b/libgloss/write.c
index 28b7ea37a..80bcd4a77 100644
--- a/libgloss/write.c
+++ b/libgloss/write.c
@@ -23,10 +23,11 @@ extern int outbyte (char x);
*/
int
write (int fd,
- char *buf,
- int nbytes)
+ const void *buf_,
+ size_t nbytes)
{
int i;
+ const char *buf = buf_;
for (i = 0; i < nbytes; i++) {
if (*(buf + i) == '\n') {