diff mbox

[v5,3/5] linux-user: Fix structure target_flock definition for Mips

Message ID 20160912194009.106685-4-aleksandar.markovic@rt-rk.com (mailing list archive)
State New, archived
Headers show

Commit Message

Aleksandar Markovic Sept. 12, 2016, 7:40 p.m. UTC
From: Aleksandar Markovic <aleksandar.markovic@imgtec.com>

Structure flock is defined for Mips in a way different from any
other platform. For reference, see Linux kernel source code files:

arch/mips/include/uapi/asm/fcntl.h#L63 (for Mips)
include/uapi/asm-generic/fcntl.h#L195 (for all other platforms)

This patch fix this problem, by amending structure target_flock,
for Mips only.

Besides, this patch fixes LTP tests fcntl11, fcntl17, fcntl19, fcntl20,
and fcntl21, which are currently failing, if executed in Qemu user mode
for Mips platforms.

Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
---
 linux-user/syscall_defs.h | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Leon Alrae Sept. 15, 2016, 9:51 a.m. UTC | #1
On Mon, Sep 12, 2016 at 09:40:02PM +0200, Aleksandar Markovic wrote:
> From: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
> 
> Structure flock is defined for Mips in a way different from any
> other platform. For reference, see Linux kernel source code files:
> 
> arch/mips/include/uapi/asm/fcntl.h#L63 (for Mips)
> include/uapi/asm-generic/fcntl.h#L195 (for all other platforms)
> 
> This patch fix this problem, by amending structure target_flock,
> for Mips only.
> 
> Besides, this patch fixes LTP tests fcntl11, fcntl17, fcntl19, fcntl20,
> and fcntl21, which are currently failing, if executed in Qemu user mode
> for Mips platforms.
> 
> Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtec.com>
> ---
>  linux-user/syscall_defs.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 44b1197..c40b725 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -2327,7 +2327,13 @@ struct target_flock {
>      short l_whence;
>      abi_long l_start;
>      abi_long l_len;
> +#if defined(TARGET_MIPS)
> +    target_long l_sysid;

In n32 ABI this will have incorrect size. This should be abi_long.

> +#endif
>      int l_pid;
> +#if defined(TARGET_MIPS)
> +    target_long pad[4];

Same.

Otherwise the series looks good to me.

Thanks,
Leon


> +#endif
>  };
>  
>  struct target_flock64 {
> -- 
> 2.9.3
>
Aleksandar Markovic Sept. 16, 2016, 10:20 a.m. UTC | #2
You are correct. This is going to be fixed in v6, which will appear soon.

Thanks!

Aleksandar
diff mbox

Patch

diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 44b1197..c40b725 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2327,7 +2327,13 @@  struct target_flock {
     short l_whence;
     abi_long l_start;
     abi_long l_len;
+#if defined(TARGET_MIPS)
+    target_long l_sysid;
+#endif
     int l_pid;
+#if defined(TARGET_MIPS)
+    target_long pad[4];
+#endif
 };
 
 struct target_flock64 {