linux-user: fix flock/flock64 padding

include/uapi/asm-generic/fcntl.h insert a padding macro at
the end of the structures flock and flock64.

This macro is defined to "short __unused;" on sparc,
and "long pad[4]" on mips.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
Message-Id: <20180509231123.20864-3-laurent@vivier.eu>
This commit is contained in:
Laurent Vivier 2018-05-10 01:11:19 +02:00
parent cbf358a667
commit d3c6e8e98c
1 changed files with 13 additions and 3 deletions

View File

@ -2643,6 +2643,17 @@ struct target_statfs64 {
#define TARGET_O_SYNC (TARGET___O_SYNC | TARGET_O_DSYNC)
#endif
#if defined(TARGET_SPARC)
#define TARGET_ARCH_FLOCK_PAD abi_short __unused;
#define TARGET_ARCH_FLOCK64_PAD abi_short __unused;
#elif defined(TARGET_MIPS)
#define TARGET_ARCH_FLOCK_PAD abi_long pad[4];
#define TARGET_ARCH_FLOCK64_PAD
#else
#define TARGET_ARCH_FLOCK_PAD
#define TARGET_ARCH_FLOCK64_PAD
#endif
struct target_flock {
short l_type;
short l_whence;
@ -2652,9 +2663,7 @@ struct target_flock {
abi_long l_sysid;
#endif
int l_pid;
#if defined(TARGET_MIPS)
abi_long pad[4];
#endif
TARGET_ARCH_FLOCK_PAD
};
struct target_flock64 {
@ -2663,6 +2672,7 @@ struct target_flock64 {
abi_llong l_start;
abi_llong l_len;
abi_int l_pid;
TARGET_ARCH_FLOCK64_PAD
};
struct target_f_owner_ex {