mirror of https://gitee.com/openkylin/qemu.git
fstat64 fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@108 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
b9adb4a6bc
commit
728584be27
|
@ -2264,7 +2264,16 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
|
||||||
ret = get_errno(do_fork(cpu_env, CLONE_VFORK | CLONE_VM | SIGCHLD, 0));
|
ret = get_errno(do_fork(cpu_env, CLONE_VFORK | CLONE_VM | SIGCHLD, 0));
|
||||||
break;
|
break;
|
||||||
case TARGET_NR_ugetrlimit:
|
case TARGET_NR_ugetrlimit:
|
||||||
goto unimplemented;
|
{
|
||||||
|
struct rlimit rlim;
|
||||||
|
ret = get_errno(getrlimit(arg1, &rlim));
|
||||||
|
if (!is_error(ret)) {
|
||||||
|
struct target_rlimit *target_rlim = (void *)arg2;
|
||||||
|
target_rlim->rlim_cur = tswapl(rlim.rlim_cur);
|
||||||
|
target_rlim->rlim_max = tswapl(rlim.rlim_max);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case TARGET_NR_truncate64:
|
case TARGET_NR_truncate64:
|
||||||
goto unimplemented;
|
goto unimplemented;
|
||||||
case TARGET_NR_ftruncate64:
|
case TARGET_NR_ftruncate64:
|
||||||
|
@ -2283,7 +2292,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
|
||||||
struct target_stat64 *target_st = (void *)arg2;
|
struct target_stat64 *target_st = (void *)arg2;
|
||||||
memset(target_st, 0, sizeof(struct target_stat64));
|
memset(target_st, 0, sizeof(struct target_stat64));
|
||||||
target_st->st_dev = tswap16(st.st_dev);
|
target_st->st_dev = tswap16(st.st_dev);
|
||||||
target_st->st_ino = tswapl(st.st_ino);
|
target_st->st_ino = tswap64(st.st_ino);
|
||||||
#ifdef TARGET_STAT64_HAS_BROKEN_ST_INO
|
#ifdef TARGET_STAT64_HAS_BROKEN_ST_INO
|
||||||
target_st->__st_ino = tswapl(st.st_ino);
|
target_st->__st_ino = tswapl(st.st_ino);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -330,7 +330,7 @@ struct target_stat64 {
|
||||||
target_ulong __pad7; /* will be high 32 bits of ctime someday */
|
target_ulong __pad7; /* will be high 32 bits of ctime someday */
|
||||||
|
|
||||||
unsigned long long st_ino;
|
unsigned long long st_ino;
|
||||||
};
|
} __attribute__((packed));
|
||||||
|
|
||||||
#define TARGET_SA_NOCLDSTOP 0x00000001
|
#define TARGET_SA_NOCLDSTOP 0x00000001
|
||||||
#define TARGET_SA_NOCLDWAIT 0x00000002 /* not supported yet */
|
#define TARGET_SA_NOCLDWAIT 0x00000002 /* not supported yet */
|
||||||
|
|
Loading…
Reference in New Issue