aboutsummaryrefslogtreecommitdiffstats
path: root/main/qemu/fix-sigevent-and-sigval_t.patch
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2015-04-10 07:47:28 +0000
committerTimo Teräs <timo.teras@iki.fi>2015-04-10 07:48:00 +0000
commit54b2aa9e1826c1fde073cebe92520b56b18cdfc6 (patch)
tree1f9d4f83e9044ae2b287a6446f8de8b6bfea70db /main/qemu/fix-sigevent-and-sigval_t.patch
parent296364e3320181a6d7a3070cdb7d055e01ede368 (diff)
downloadaports-54b2aa9e1826c1fde073cebe92520b56b18cdfc6.tar.bz2
aports-54b2aa9e1826c1fde073cebe92520b56b18cdfc6.tar.xz
main/qemu: upgrade to 2.2.1
Diffstat (limited to 'main/qemu/fix-sigevent-and-sigval_t.patch')
-rw-r--r--main/qemu/fix-sigevent-and-sigval_t.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/main/qemu/fix-sigevent-and-sigval_t.patch b/main/qemu/fix-sigevent-and-sigval_t.patch
new file mode 100644
index 0000000000..04853a7b8a
--- /dev/null
+++ b/main/qemu/fix-sigevent-and-sigval_t.patch
@@ -0,0 +1,35 @@
+--- 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)) {
+--- qemu-2.2.1/linux-user/syscall_defs.h.orig 2015-04-10 07:41:35.410380624 +0000
++++ qemu-2.2.1/linux-user/syscall_defs.h 2015-04-10 07:42:30.401391516 +0000
+@@ -2589,7 +2589,7 @@
+ int32_t _tid;
+
+ struct {
+- void (*_function)(sigval_t);
++ void (*_function)(union sigval);
+ void *_attribute;
+ } _sigev_thread;
+ } _sigev_un;