aboutsummaryrefslogtreecommitdiff
path: root/m68k-semi.c
diff options
context:
space:
mode:
Diffstat (limited to 'm68k-semi.c')
-rw-r--r--m68k-semi.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/m68k-semi.c b/m68k-semi.c
index 27bdce8..73224f1 100644
--- a/m68k-semi.c
+++ b/m68k-semi.c
@@ -116,8 +116,14 @@ static void translate_stat(CPUState *env, target_ulong addr, struct stat *s)
p->gdb_st_gid = cpu_to_be32(s->st_gid);
p->gdb_st_rdev = cpu_to_be32(s->st_rdev);
p->gdb_st_size = cpu_to_be64(s->st_size);
+#ifdef _WIN32
+ /* Windows stat is missing some fields. */
+ p->gdb_st_blksize = 0;
+ p->gdb_st_blocks = 0;
+#else
p->gdb_st_blksize = cpu_to_be64(s->st_blksize);
p->gdb_st_blocks = cpu_to_be64(s->st_blocks);
+#endif
p->gdb_st_atime = cpu_to_be32(s->st_atime);
p->gdb_st_mtime = cpu_to_be32(s->st_mtime);
p->gdb_st_ctime = cpu_to_be32(s->st_ctime);
@@ -281,9 +287,9 @@ void do_m68k_semihosting(CPUM68KState *env, int nr)
ARG(0), ARG(1));
return;
} else {
- struct timeval tv;
+ qemu_timeval tv;
struct gdb_timeval *p;
- result = gettimeofday(&tv, NULL);
+ result = qemu_gettimeofday(&tv);
if (result != 0) {
p = lock_user(ARG(0), sizeof(struct gdb_timeval), 0);
p->tv_sec = cpu_to_be32(tv.tv_sec);