Message ID | 1561718618-20218-4-git-send-email-aleksandar.markovic@rt-rk.com |
---|---|
State | New |
Headers | show |
Series | linux-user: A set of miscellaneous patches | expand |
Le 28/06/2019 à 12:43, Aleksandar Markovic a écrit : > From: Aleksandar Markovic <amarkovic@wavecomp.com> > > 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> > --- > linux-user/generic/fcntl.h | 2 +- > linux-user/mips/target_fcntl.h | 4 ++++ > 2 files changed, 5 insertions(+), 1 deletion(-) > > diff --git a/linux-user/generic/fcntl.h b/linux-user/generic/fcntl.h > index a775a49..1b48dde 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 000527c..795bba7 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' */ > Applied to my linux-user branch. Thanks, Laurent
diff --git a/linux-user/generic/fcntl.h b/linux-user/generic/fcntl.h index a775a49..1b48dde 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 000527c..795bba7 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' */