* simops.c (OP_10007E0): Handle SYS_times and SYS_gettimeofday.
authorJeff Law <law@redhat.com>
Wed, 30 Oct 1996 16:30:59 +0000 (16:30 +0000)
committerJeff Law <law@redhat.com>
Wed, 30 Oct 1996 16:30:59 +0000 (16:30 +0000)
Check it into devo too.

sim/v850/ChangeLog
sim/v850/simops.c

index 0dde9719e02a0a32d997f2e3bc719684a494c722..da0ab6445350b8a508f60a39934ce08cd5cf3a4c 100644 (file)
@@ -1,5 +1,7 @@
 Wed Oct 30 08:49:10 1996  Jeffrey A Law  (law@cygnus.com)
 
+       * simops.c (OP_10007E0): Handle SYS_times and SYS_gettimeofday.
+
        * simops.c (OP_10007E0): Handle SYS_time.
 
 Tue Oct 29 14:22:55 1996  Jeffrey A Law  (law@cygnus.com)
index dc5f836a2058befd097ed0e063e2715c14fd146f..c932849fa0e5892e9da4a99f8b9239e96720f88a 100644 (file)
@@ -5,6 +5,7 @@
 #include "bfd.h"
 #include <errno.h>
 #include <sys/stat.h>
+#include <sys/times.h>
 
 enum op_types {
   OP_UNKNOWN,
@@ -2086,6 +2087,27 @@ OP_10007E0 ()
        case SYS_time:
          RETVAL = time (MEMPTR (PARM1));
          break;
+       case SYS_times:
+         {
+           struct tms tms;
+           RETVAL = times (&tms);
+           store_mem (PARM1, 4, tms.tms_utime);
+           store_mem (PARM1 + 4, 4, tms.tms_stime);
+           store_mem (PARM1 + 8, 4, tms.tms_cutime);
+           store_mem (PARM1 + 12, 4, tms.tms_cstime);
+           break;
+         }
+       case SYS_gettimeofday:
+         {
+           struct timeval t;
+           struct timezone tz;
+           RETVAL = gettimeofday (&t, &tz);
+           store_mem (PARM1, 4, t.tv_sec);
+           store_mem (PARM1 + 4, 4, t.tv_usec);
+           store_mem (PARM2, 4, tz.tz_minuteswest);
+           store_mem (PARM2 + 4, 4, tz.tz_dsttime);
+           break;
+         }
        case SYS_utime:
          /* Cast the second argument to void *, to avoid type mismatch
             if a prototype is present.  */