summaryrefslogtreecommitdiff
path: root/user/qemu/fix-sigevent-and-sigval_t.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/qemu/fix-sigevent-and-sigval_t.patch')
-rw-r--r--user/qemu/fix-sigevent-and-sigval_t.patch24
1 files changed, 24 insertions, 0 deletions
diff --git a/user/qemu/fix-sigevent-and-sigval_t.patch b/user/qemu/fix-sigevent-and-sigval_t.patch
new file mode 100644
index 000000000..1f99eacb6
--- /dev/null
+++ b/user/qemu/fix-sigevent-and-sigval_t.patch
@@ -0,0 +1,24 @@
+--- qemu-2.2.1/linux-user/syscall.c.orig 2015-04-10 07:10:06.305662505 +0000
++++ qemu-2.2.1/linux-user/syscall.c 2015-04-10 07:36:53.801871968 +0000
+@@ -5020,9 +5020,20 @@
+ return 0;
+ }
+
+-static inline abi_long target_to_host_sigevent(struct sigevent *host_sevp,
++struct host_sigevent {
++ union sigval sigev_value;
++ int sigev_signo;
++ int sigev_notify;
++ union {
++ int _pad[64-sizeof(int) * 2 + sizeof(union sigval)];
++ int _tid;
++ } _sigev_un;
++};
++
++static inline abi_long target_to_host_sigevent(struct sigevent *sevp,
+ abi_ulong target_addr)
+ {
++ struct host_sigevent *host_sevp = (struct host_sigevent *) sevp;
+ struct target_sigevent *target_sevp;
+
+ if (!lock_user_struct(VERIFY_READ, target_sevp, target_addr, 1)) {