diff options
Diffstat (limited to 'main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch')
| -rw-r--r-- | main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch b/main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch deleted file mode 100644 index 2ee0bbe7ff..0000000000 --- a/main/qemu/0001-linux-user-avoid-using-glibc-internals-in-_syscall5-.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 73a0fc74069c5dd4c5895a406b9cc64358da90e6 Mon Sep 17 00:00:00 2001 -From: Natanael Copa <ncopa@alpinelinux.org> -Date: Wed, 23 Apr 2014 16:51:31 +0200 -Subject: [PATCH 1/6] linux-user: avoid using glibc internals in _syscall5 and - in definition of target_sigevent struct - -Use the public sigset_t instead of the glibc specific internal -__sigset_t in _syscall. - -Calculate the sigevent pad size is calculated in similar way as kernel -does it instead of using glibc internal field _pad. - -This is needed for building with musl libc. - -Signed-off-by: Natanael Copa <ncopa@alpinelinux.org> ---- - linux-user/syscall.c | 2 +- - linux-user/syscall_defs.h | 16 +++++++++++++++- - 2 files changed, 16 insertions(+), 2 deletions(-) - -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 9864813..c8989b6 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -406,7 +406,7 @@ static int sys_inotify_init1(int flags) - #endif - #define __NR_sys_ppoll __NR_ppoll - _syscall5(int, sys_ppoll, struct pollfd *, fds, nfds_t, nfds, -- struct timespec *, timeout, const __sigset_t *, sigmask, -+ struct timespec *, timeout, const sigset_t *, sigmask, - size_t, sigsetsize) - #endif - -diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h -index fdf9a47..69c3982 100644 ---- a/linux-user/syscall_defs.h -+++ b/linux-user/syscall_defs.h -@@ -2552,12 +2552,26 @@ struct target_timer_t { - abi_ulong ptr; - }; - -+#define TARGET_SIGEV_MAX_SIZE 64 -+ -+/* This is architecture-specific but most architectures use the default */ -+#ifdef TARGET_MIPS -+#define TARGET_SIGEV_PREAMBLE_SIZE (sizeof(int32_t) * 2 + sizeof(abi_long)) -+#else -+#define TARGET_SIGEV_PREAMBLE_SIZE (sizeof(int32_t) * 2 \ -+ + sizeof(target_sigval_t)) -+#endif -+ -+#define TARGET_SIGEV_PAD_SIZE ((TARGET_SIGEV_MAX_SIZE \ -+ - TARGET_SIGEV_PREAMBLE_SIZE) \ -+ / sizeof(int32_t)) -+ - struct target_sigevent { - target_sigval_t sigev_value; - int32_t sigev_signo; - int32_t sigev_notify; - union { -- int32_t _pad[ARRAY_SIZE(((struct sigevent *)0)->_sigev_un._pad)]; -+ int32_t _pad[TARGET_SIGEV_PAD_SIZE]; - int32_t _tid; - - struct { --- -1.9.2 - |
