summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksandar Markovic2019-06-28 12:43:36 +0200
committerLaurent Vivier2019-07-02 16:56:46 +0200
commitbf9136722c47ce964715fa3fcff4b16cbbd08d58 (patch)
tree6aa8f99cbdd39738c2bc59417d58891f6d8e25fa
parentlinux-user: Add support for strace for statx() syscall (diff)
downloadqemu-bf9136722c47ce964715fa3fcff4b16cbbd08d58.tar.gz
qemu-bf9136722c47ce964715fa3fcff4b16cbbd08d58.tar.xz
qemu-bf9136722c47ce964715fa3fcff4b16cbbd08d58.zip
linux-user: Fix target_flock structure for MIPS O64 ABI
Among MIPS ABIs, only MIPS O32 and N32 have special (different than other architectures) definition of structure flock in kernel. Bring target_flock definition in QEMU for MIPS O64 ABI to the correct state, which is currently different than the most common definition, and it should actually be the same. Reported-by: Dragan Mladjenovic <dmladjenovic@wavecomp.com> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <1561718618-20218-4-git-send-email-aleksandar.markovic@rt-rk.com> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
-rw-r--r--linux-user/generic/fcntl.h2
-rw-r--r--linux-user/mips/target_fcntl.h4
2 files changed, 5 insertions, 1 deletions
diff --git a/linux-user/generic/fcntl.h b/linux-user/generic/fcntl.h
index a775a491e9..1b48ddeb99 100644
--- a/linux-user/generic/fcntl.h
+++ b/linux-user/generic/fcntl.h
@@ -129,7 +129,7 @@ struct target_flock {
short l_whence;
abi_long l_start;
abi_long l_len;
-#if defined(TARGET_MIPS)
+#if defined(TARGET_MIPS) && (TARGET_ABI_BITS == 32)
abi_long l_sysid;
#endif
int l_pid;
diff --git a/linux-user/mips/target_fcntl.h b/linux-user/mips/target_fcntl.h
index 000527cc95..795bba754b 100644
--- a/linux-user/mips/target_fcntl.h
+++ b/linux-user/mips/target_fcntl.h
@@ -27,7 +27,11 @@
#define TARGET_F_SETOWN 24 /* for sockets. */
#define TARGET_F_GETOWN 23 /* for sockets. */
+#if (TARGET_ABI_BITS == 32)
#define TARGET_ARCH_FLOCK_PAD abi_long pad[4];
+#else
+#define TARGET_ARCH_FLOCK_PAD
+#endif
#define TARGET_ARCH_FLOCK64_PAD
#define TARGET_F_GETLK64 33 /* using 'struct flock64' */