From patchwork Tue Dec 29 05:01:22 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: alpha-linux-user stat64 issue From: Vince Weaver X-Patchwork-Id: 41878 Message-Id: <20091228235833.H44497@stanley.csl.cornell.edu> To: qemu-devel@nongnu.org Date: Tue, 29 Dec 2009 00:01:22 -0500 (EST) Hello The stat64/fstat64 syscalls are broken for alpha linux-user. This is because Alpha, even though it is native 64-bits, has a stat64 syscall that is different than regular stat. This means that the "TARGET_LONG_BITS==64" check in syscall.c isn't enough. Below is a patch that fixes things for me, although it might not be the cleanest fix. This issue keeps sixtrack and fma3d spec2k benchmarks from running. Vince Signed-off-by: Vince Weaver Acked-by: Richard Henderson diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 1acf1f5..f2dd39e 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4004,7 +4004,7 @@ static inline abi_long host_to_target_stat64(void *cpu_env, } else #endif { -#if TARGET_LONG_BITS == 64 +#if (TARGET_LONG_BITS == 64) && (!defined(TARGET_ALPHA)) struct target_stat *target_st; #else struct target_stat64 *target_st;