On 12/28/2009 09:01 PM, Vince Weaver wrote:
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<vi...@csl.cornell.edu>

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;



Acked-by: Richard Henderson <r...@twiddle.net>


r~


Reply via email to