From: Aleksandar Markovic <aleksandar.marko...@imgtec.com> The function that is changed in this patch is supposed to indicate that there was certaing argument rearangement related to 64-bit arguments on 32-bit platforms. The background on such rearangements can be found, for example, in the man page for syscall(2).
However, for 64-bit Mips architectures there is no such rearangement, and this patch reflects it. Signed-off-by: Aleksandar Rikalo <aleksandar.rik...@imgtec.com> --- linux-user/syscall.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 908f114..6ac669f 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -622,7 +622,13 @@ static inline int regpairs_aligned(void *cpu_env) { return ((((CPUARMState *)cpu_env)->eabi) == 1) ; } #elif defined(TARGET_MIPS) -static inline int regpairs_aligned(void *cpu_env) { return 1; } +static inline int regpairs_aligned(void *cpu_env) { +#if TARGET_ABI_BITS == 32 + return 1; +#else + return 0; +#endif +} #elif defined(TARGET_PPC) && !defined(TARGET_PPC64) /* SysV AVI for PPC32 expects 64bit parameters to be passed on odd/even pairs * of registers which translates to the same as ARM/MIPS, because we start with -- 1.7.9.5