From c500c07496c29071b32f68e015b12dd7c7c969fc Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 29 Oct 1996 21:24:01 +0000 Subject: [PATCH] * simops.c: Include . (OP_10007E0): Handle SYS_stat. For RW testing. --- sim/v850/ChangeLog | 7 +++++++ sim/v850/simops.c | 31 +++++++++++++------------------ 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog index 307d316c2b7..f1cda280389 100644 --- a/sim/v850/ChangeLog +++ b/sim/v850/ChangeLog @@ -1,5 +1,12 @@ +Tue Oct 29 14:22:55 1996 Jeffrey A Law (law@cygnus.com) + + * simops.c: Include . + (OP_10007E0): Handle SYS_stat. + Thu Oct 24 12:26:35 1996 Jeffrey A Law (law@cygnus.com) + * simops.c (OP_10007E0): Don't declare errno. + * simops.c (OP_500): Mask off low bit in displacement for sld.w. (OP_501): Similarly. diff --git a/sim/v850/simops.c b/sim/v850/simops.c index 8993af8cc6c..0d7e1bc9814 100644 --- a/sim/v850/simops.c +++ b/sim/v850/simops.c @@ -4,6 +4,7 @@ #include "sys/syscall.h" #include "bfd.h" #include +#include enum op_types { OP_UNKNOWN, @@ -1957,8 +1958,6 @@ OP_14007E0 () void OP_10007E0 () { - extern int errno; - trace_input ("trap", OP_TRAP, 0); trace_output (OP_TRAP); @@ -2053,7 +2052,6 @@ OP_10007E0 () State.exception = SIGQUIT; break; -#if 0 case SYS_stat: /* added at hmsi */ /* stat system call */ { @@ -2064,27 +2062,24 @@ OP_10007E0 () buf = PARM2; - /* The hard-coded offsets and sizes were determined by using - * the D10V compiler on a test program that used struct stat. - */ - SW (buf, host_stat.st_dev); - SW (buf+2, host_stat.st_ino); - SW (buf+4, host_stat.st_mode); - SW (buf+6, host_stat.st_nlink); - SW (buf+8, host_stat.st_uid); - SW (buf+10, host_stat.st_gid); - SW (buf+12, host_stat.st_rdev); - SLW (buf+16, host_stat.st_size); - SLW (buf+20, host_stat.st_atime); - SLW (buf+28, host_stat.st_mtime); - SLW (buf+36, host_stat.st_ctime); + /* Just wild-assed guesses. */ + store_mem (buf, 2, host_stat.st_dev); + store_mem (buf + 2, 2, host_stat.st_ino); + store_mem (buf + 4, 4, host_stat.st_mode); + store_mem (buf + 8, 2, host_stat.st_nlink); + store_mem (buf + 10, 2, host_stat.st_uid); + store_mem (buf + 12, 2, host_stat.st_gid); + store_mem (buf + 14, 2, host_stat.st_rdev); + store_mem (buf + 16, 4, host_stat.st_size); + store_mem (buf + 20, 4, host_stat.st_atime); + store_mem (buf + 28, 4, host_stat.st_mtime); + store_mem (buf + 36, 4, host_stat.st_ctime); } break; case SYS_chown: RETVAL = chown (MEMPTR (PARM1), PARM2, PARM3); break; -#endif case SYS_chmod: RETVAL = chmod (MEMPTR (PARM1), PARM2); break; -- 2.30.2