aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-04-07 21:34:41 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-04-07 21:34:41 +0000
commit9af9eaaa76b9b1613d84cb3c0b7276984e441f83 (patch)
treec02f640a25fff123544976b4d66adeef6904ac9e
parent8c8f42f76c3393ca23553fa025357e20c73744f2 (diff)
endian fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@83 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--linux-user/syscall.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 16958be80c..4842914109 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -85,6 +85,10 @@ long do_rt_sigreturn(CPUX86State *env);
#define __NR_sys_getdents64 __NR_getdents64
#define __NR_sys_rt_sigqueueinfo __NR_rt_sigqueueinfo
+#ifdef __alpha__
+#define __NR__llseek __NR_lseek
+#endif
+
#ifdef __NR_gettid
_syscall0(int, gettid)
#else
@@ -1853,7 +1857,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
struct target_stat *target_st = (void *)arg2;
target_st->st_dev = tswap16(st.st_dev);
target_st->st_ino = tswapl(st.st_ino);
- target_st->st_mode = tswap16(st.st_mode);
+ target_st->st_mode = tswap32(st.st_mode);
target_st->st_nlink = tswap16(st.st_nlink);
target_st->st_uid = tswap16(st.st_uid);
target_st->st_gid = tswap16(st.st_gid);
@@ -2244,7 +2248,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
struct target_stat64 *target_st = (void *)arg2;
target_st->st_dev = tswap16(st.st_dev);
target_st->st_ino = tswapl(st.st_ino);
- target_st->st_mode = tswap16(st.st_mode);
+ target_st->st_mode = tswap32(st.st_mode);
target_st->st_nlink = tswap16(st.st_nlink);
target_st->st_uid = tswap16(st.st_uid);
target_st->st_gid = tswap16(st.st_gid);