summaryrefslogblamecommitdiff
path: root/user/qemu/fix-sigevent-and-sigval_t.patch
blob: 1f99eacb6042b47a3903046ce80ed07c6b34fe81 (plain) (tree)























                                                                                   
--- 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)) {