diff options
Diffstat (limited to 'toolchain/uclibc-ng/patches/1.0.50/0001-add-process_vm_-read-write-v-syscall-wrapper-from-gl.patch')
-rw-r--r-- | toolchain/uclibc-ng/patches/1.0.50/0001-add-process_vm_-read-write-v-syscall-wrapper-from-gl.patch | 137 |
1 files changed, 0 insertions, 137 deletions
diff --git a/toolchain/uclibc-ng/patches/1.0.50/0001-add-process_vm_-read-write-v-syscall-wrapper-from-gl.patch b/toolchain/uclibc-ng/patches/1.0.50/0001-add-process_vm_-read-write-v-syscall-wrapper-from-gl.patch deleted file mode 100644 index 5c591f7e2..000000000 --- a/toolchain/uclibc-ng/patches/1.0.50/0001-add-process_vm_-read-write-v-syscall-wrapper-from-gl.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 3d975fa52b82e390ecbb0252739ee3fae64266c2 Mon Sep 17 00:00:00 2001 -From: Waldemar Brodkorb <wbx@openadk.org> -Date: Wed, 14 Aug 2024 17:28:19 +0200 -Subject: [PATCH 1/2] add process_vm_{read,write}v syscall wrapper from glibc - -Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> ---- - include/sys/uio.h | 19 +++++++++++ - libc/sysdeps/linux/common/Makefile.in | 2 ++ - libc/sysdeps/linux/common/process_vm_readv.c | 32 +++++++++++++++++++ - libc/sysdeps/linux/common/process_vm_writev.c | 32 +++++++++++++++++++ - 4 files changed, 85 insertions(+) - create mode 100644 libc/sysdeps/linux/common/process_vm_readv.c - create mode 100644 libc/sysdeps/linux/common/process_vm_writev.c - -diff --git a/include/sys/uio.h b/include/sys/uio.h -index 330426fec..9e9708c0c 100644 ---- a/include/sys/uio.h -+++ b/include/sys/uio.h -@@ -74,6 +74,25 @@ extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count, - __off64_t __offset) __wur; - #endif /* Use misc. */ - -+#ifdef __USE_GNU -+/* Read from another process' address space. */ -+extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec, -+ unsigned long int __liovcnt, -+ const struct iovec *__rvec, -+ unsigned long int __riovcnt, -+ unsigned long int __flags) -+ __THROW; -+ -+/* Write to another process' address space. */ -+extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec, -+ unsigned long int __liovcnt, -+ const struct iovec *__rvec, -+ unsigned long int __riovcnt, -+ unsigned long int __flags) -+ __THROW; -+ -+#endif -+ - __END_DECLS - - #endif /* sys/uio.h */ -diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in -index 83be2691e..e0b280c33 100644 ---- a/libc/sysdeps/linux/common/Makefile.in -+++ b/libc/sysdeps/linux/common/Makefile.in -@@ -40,6 +40,8 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \ - ppoll.c \ - prctl.c \ - prlimit.c \ -+ process_vm_readv.c \ -+ process_vm_writev.c \ - readahead.c \ - reboot.c \ - remap_file_pages.c \ -diff --git a/libc/sysdeps/linux/common/process_vm_readv.c b/libc/sysdeps/linux/common/process_vm_readv.c -new file mode 100644 -index 000000000..b69c1c97a ---- /dev/null -+++ b/libc/sysdeps/linux/common/process_vm_readv.c -@@ -0,0 +1,32 @@ -+/* process_vm_readv - Linux specific syscall. -+ Copyright (C) 2020-2024 Free Software Foundation, Inc. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <https://www.gnu.org/licenses/>. */ -+ -+#include <sys/uio.h> -+#include <sys/syscall.h> -+#include <unistd.h> -+ -+#ifdef __NR_process_vm_readv -+ssize_t -+process_vm_readv (pid_t pid, const struct iovec *local_iov, -+ unsigned long int liovcnt, -+ const struct iovec *remote_iov, -+ unsigned long int riovcnt, unsigned long int flags) -+{ -+ return INLINE_SYSCALL (process_vm_readv, 6, pid, local_iov, -+ liovcnt, remote_iov, riovcnt, flags); -+} -+#endif -diff --git a/libc/sysdeps/linux/common/process_vm_writev.c b/libc/sysdeps/linux/common/process_vm_writev.c -new file mode 100644 -index 000000000..e22817a8d ---- /dev/null -+++ b/libc/sysdeps/linux/common/process_vm_writev.c -@@ -0,0 +1,32 @@ -+/* process_vm_writev - Linux specific syscall. -+ Copyright (C) 2020-2024 Free Software Foundation, Inc. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library; if not, see -+ <https://www.gnu.org/licenses/>. */ -+ -+#include <sys/uio.h> -+#include <sys/syscall.h> -+#include <unistd.h> -+ -+#ifdef __NR_process_vm_writev -+ssize_t -+process_vm_writev (pid_t pid, const struct iovec *local_iov, -+ unsigned long int liovcnt, -+ const struct iovec *remote_iov, -+ unsigned long int riovcnt, unsigned long int flags) -+{ -+ return INLINE_SYSCALL (process_vm_writev, 6, pid, local_iov, -+ liovcnt, remote_iov, riovcnt, flags); -+} -+#endif --- -2.30.2 - |