[PATCH] nvptx: Add _ssize_t as _READ_WRITE_RETURN_TYPE in newlib/libc/include/sys/config.h
Arijit Kumar Das
arijitkdgit.official@gmail.com
Wed Jul 16 19:57:41 GMT 2025
Hi Thomas!
Here's the final commit. I hope it's okay :-)
Best regards,
Arijit
>From 3089acec0f3b5606bffcbca3b6864023ccd2afa3 Mon Sep 17 00:00:00 2001
From: Arijit Kumar Das <arijitkdgit.official@gmail.com>
Date: Thu, 17 Jul 2025 01:01:03 +0530
Subject: [PATCH] [nvptx]: Use _READ_WRITE_RETURN_TYPE for return type and
_READ_WRITE_BUFSIZE_TYPE for count in read() and write()
- Changed the return type of read() from int to
_READ_WRITE_RETURN_TYPE as per conventions.
- Changed the 'count' parameter of read() and write() to
_READ_WRITE_BUFSIZE_TYPE.
- Defined both of the above macros in libc/include/sys/config.h under __nvptx__.
- _READ_WRITE_RETURN_TYPE defined as _ssize_t (ssize_t).
- _READ_WRITE_BUFSIZE_TYPE defined as __size_t (size_t).
Signed-off-by: Arijit Kumar Das <arijitkdgit.official@gmail.com>
---
newlib/libc/include/sys/config.h | 5 +++++
newlib/libc/machine/nvptx/misc.c | 4 ++--
newlib/libc/machine/nvptx/write.c | 3 ++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h
index 4c9acc55c..c3cd51e86 100644
--- a/newlib/libc/include/sys/config.h
+++ b/newlib/libc/include/sys/config.h
@@ -12,6 +12,11 @@
#define __DYNAMIC_REENT__
#endif
+#ifdef __nvptx__
+#define _READ_WRITE_RETURN_TYPE _ssize_t
+#define _READ_WRITE_BUFSIZE_TYPE __size_t
+#endif
+
/* exceptions first */
#if defined(__H8500__) || defined(__W65__)
#define __SMALL_BITFIELDS
diff --git a/newlib/libc/machine/nvptx/misc.c b/newlib/libc/machine/nvptx/misc.c
index 56e66b9f3..329804f88 100644
--- a/newlib/libc/machine/nvptx/misc.c
+++ b/newlib/libc/machine/nvptx/misc.c
@@ -62,8 +62,8 @@ open (const char *pathname, int flags, ...) {
return -1;
}
-int
-read(int fd, void *buf, size_t count) {
+_READ_WRITE_RETURN_TYPE
+read(int fd, void *buf, _READ_WRITE_BUFSIZE_TYPE count) {
return 0;
}
diff --git a/newlib/libc/machine/nvptx/write.c
b/newlib/libc/machine/nvptx/write.c
index 0544dd05e..49fb65944 100644
--- a/newlib/libc/machine/nvptx/write.c
+++ b/newlib/libc/machine/nvptx/write.c
@@ -18,7 +18,8 @@
#include <unistd.h>
#include <errno.h>
-_READ_WRITE_RETURN_TYPE write (int fd, const void *buf, size_t count)
+_READ_WRITE_RETURN_TYPE
+write (int fd, const void *buf, _READ_WRITE_BUFSIZE_TYPE count)
{
size_t i;
char *b = (char *)buf;
--
2.39.5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-nvptx-Use-_READ_WRITE_RETURN_TYPE-for-return-type-an.patch
Type: text/x-patch
Size: 2275 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/newlib/attachments/20250717/0146fe58/attachment-0001.bin>
More information about the Newlib
mailing list