libgloss: fix read and write prototype

Message ID 87msp4ul1q.fsf@arrakis.kataplop.net
State New
Headers
Series libgloss: fix read and write prototype |

Commit Message

Marc May 5, 2024, 7:16 p.m. UTC
  Use _READ_WRITE_RETURN_TYPE for read/write in libgloss/{read,write}.c to
avoid mismatching types.

Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
---
Hello,

building with gcc14-rc for m68k fails with (see my mail earlier this week):

 src/newlib/libgloss/m68k/../read.c:24:1: error: conflicting types for 'read'; have 'int(int,  void *, size_t)' {aka 'int(int,  void *, long unsigned int)'}

This simple fix makes use of _READ_WRITE_RETURN_TYPE macro to avoid mismatching types.

Marc

 libgloss/read.c  | 2 +-
 libgloss/write.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--
2.42.0
  

Comments

Jeff Johnston May 6, 2024, 11:17 p.m. UTC | #1
Thanks Marc,

Patch applied.

-- Jeff J.

On Sun, May 5, 2024 at 3:16 PM Marc <dkm+newlib@kataplop.net> wrote:

> Use _READ_WRITE_RETURN_TYPE for read/write in libgloss/{read,write}.c to
> avoid mismatching types.
>
> Signed-off-by: Marc Poulhiès <dkm@kataplop.net>
> ---
> Hello,
>
> building with gcc14-rc for m68k fails with (see my mail earlier this week):
>
>  src/newlib/libgloss/m68k/../read.c:24:1: error: conflicting types for
> 'read'; have 'int(int,  void *, size_t)' {aka 'int(int,  void *, long
> unsigned int)'}
>
> This simple fix makes use of _READ_WRITE_RETURN_TYPE macro to avoid
> mismatching types.
>
> Marc
>
>  libgloss/read.c  | 2 +-
>  libgloss/write.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/libgloss/read.c b/libgloss/read.c
> index 83a3b549b..867648278 100644
> --- a/libgloss/read.c
> +++ b/libgloss/read.c
> @@ -20,7 +20,7 @@ extern char inbyte (void);
>   * read  -- read bytes from the serial port. Ignore fd, since
>   *          we only have stdin.
>   */
> -int
> +_READ_WRITE_RETURN_TYPE
>  read (int fd,
>         void *buf_,
>         size_t nbytes)
> diff --git a/libgloss/write.c b/libgloss/write.c
> index 80bcd4a77..757141291 100644
> --- a/libgloss/write.c
> +++ b/libgloss/write.c
> @@ -21,7 +21,7 @@ extern int  outbyte (char x);
>   *          stdout and stderr are the same. Since we have no filesystem,
>   *          open will only return an error.
>   */
> -int
> +_READ_WRITE_RETURN_TYPE
>  write (int fd,
>         const void *buf_,
>         size_t nbytes)
> --
> 2.42.0
>
>
  

Patch

diff --git a/libgloss/read.c b/libgloss/read.c
index 83a3b549b..867648278 100644
--- a/libgloss/read.c
+++ b/libgloss/read.c
@@ -20,7 +20,7 @@  extern char inbyte (void);
  * read  -- read bytes from the serial port. Ignore fd, since
  *          we only have stdin.
  */
-int
+_READ_WRITE_RETURN_TYPE
 read (int fd,
        void *buf_,
        size_t nbytes)
diff --git a/libgloss/write.c b/libgloss/write.c
index 80bcd4a77..757141291 100644
--- a/libgloss/write.c
+++ b/libgloss/write.c
@@ -21,7 +21,7 @@  extern int  outbyte (char x);
  *          stdout and stderr are the same. Since we have no filesystem,
  *          open will only return an error.
  */
-int
+_READ_WRITE_RETURN_TYPE
 write (int fd,
        const void *buf_,
        size_t nbytes)