From c111ec176c3f3a3b48cd3c9f10562d63d7c6fef4 Mon Sep 17 00:00:00 2001 From: Ulrich Mohr Date: Fri, 14 Nov 2025 17:27:56 +0100 Subject: [PATCH] debian seems to have a newlib without reent :( --- bsp_z7/hardware/interfaces.c | 6 +++--- bsp_z7/newlib/read.c | 14 +++++++------- bsp_z7/newlib/write.c | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/bsp_z7/hardware/interfaces.c b/bsp_z7/hardware/interfaces.c index 8293038..682576c 100644 --- a/bsp_z7/hardware/interfaces.c +++ b/bsp_z7/hardware/interfaces.c @@ -39,7 +39,7 @@ int hw_device_open(const char *path, size_t path_len) { return UART_1; } - _REENT_ERRNO(_REENT) = ENOENT; +// _REENT_ERRNO(_REENT) = ENOENT; return -1; } @@ -70,7 +70,7 @@ int hw_interface_write(int fd, const char *ptr, size_t len) { uart_send(XPS_UART1_BASEADDR, ptr, len); return len; } - _REENT_ERRNO(_REENT) = EBADF; +// _REENT_ERRNO(_REENT) = EBADF; return -1; } @@ -83,4 +83,4 @@ int hw_interface_read(int fd, char *ptr, size_t len) { return uart1_read(ptr,len);; } return -1; -} \ No newline at end of file +} diff --git a/bsp_z7/newlib/read.c b/bsp_z7/newlib/read.c index 4cd4631..1c0db7e 100644 --- a/bsp_z7/newlib/read.c +++ b/bsp_z7/newlib/read.c @@ -10,19 +10,19 @@ int read(int fd, void *ptr, size_t len) { if (ptr == NULL) { - _REENT_ERRNO(_REENT) = EINVAL; +// _REENT_ERRNO(_REENT) = EINVAL; return -1; } // 0 is stdin, TODO: do we support it? if (fd < 1) { - _REENT_ERRNO(_REENT) = EBADF; +// _REENT_ERRNO(_REENT) = EBADF; return -1; } // stdout and stderr if (fd < 3) { - _REENT_ERRNO(_REENT) = EBADF; +// _REENT_ERRNO(_REENT) = EBADF; return -1; } @@ -30,13 +30,13 @@ int read(int fd, void *ptr, size_t len) { int result = hw_interface_read(fd, ptr, len); if (result >= 0) { return result; - } else if (_REENT_ERRNO(_REENT) != EBADF) { - return result; +// } else if (_REENT_ERRNO(_REENT) != EBADF) { +// return result; } // continue if fd did not match to try other fd providers } // we do not have dynamic fds, so fd is invalid - _REENT_ERRNO(_REENT) = EBADF; +// _REENT_ERRNO(_REENT) = EBADF; return -1; -} \ No newline at end of file +} diff --git a/bsp_z7/newlib/write.c b/bsp_z7/newlib/write.c index 6e397d4..063c413 100644 --- a/bsp_z7/newlib/write.c +++ b/bsp_z7/newlib/write.c @@ -10,14 +10,14 @@ int write(int fd, const void *ptr, size_t len) { if (ptr == NULL) { - _REENT_ERRNO(_REENT) = EINVAL; +// _REENT_ERRNO(_REENT) = EINVAL; return -1; } //TODO check len // 0 is stdin, do not write to it if (fd < 1) { - _REENT_ERRNO(_REENT) = EBADF; +// _REENT_ERRNO(_REENT) = EBADF; return -1; } // we only support a single debug UART, so @@ -38,13 +38,13 @@ int write(int fd, const void *ptr, size_t len) { int result = hw_interface_write(fd, ptr, len); if (result >= 0) { return result; - } else if (_REENT_ERRNO(_REENT) != EBADF) { - return result; +// } else if (_REENT_ERRNO(_REENT) != EBADF) { +// return result; } // continue if fd did not match to try other fd providers } // we do not have dynamic fds, so fd is invalid - _REENT_ERRNO(_REENT) = EBADF; +// _REENT_ERRNO(_REENT) = EBADF; return -1; -} \ No newline at end of file +}