This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[PATCH 1/2] RISC-V: Fixed return code in _times syscall.
- From: Kito Cheng <kito dot cheng at gmail dot com>
- To: Newlib <newlib at sourceware dot org>, patches at groups dot riscv dot org
- Date: Wed, 29 Aug 2018 16:35:46 +0800
- Subject: [PATCH 1/2] RISC-V: Fixed return code in _times syscall.
This patch fixed wrong return code for _times in RISC-V libgloss
From 307f84513342d87e0dba268e4040a85b31e6227f Mon Sep 17 00:00:00 2001
From: Denis Ivanov <denis.ivanov@cloudbear.ru>
Date: Fri, 6 Jul 2018 12:03:15 +0300
Subject: [PATCH 1/2] RISC-V: Fixed return code in _times syscall.
Upon successful completion, times() shall return the elapsed real time,
in clock ticks, since an arbitrary point in the past (for example,
system start-up time).
Signed-off-by: Kito Cheng <kito.cheng@gmail.com>
---
libgloss/riscv/sys_times.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgloss/riscv/sys_times.c b/libgloss/riscv/sys_times.c
index eb0ef9d1f..fc8133ade 100644
--- a/libgloss/riscv/sys_times.c
+++ b/libgloss/riscv/sys_times.c
@@ -23,7 +23,7 @@ _times(struct tms *buf)
{
// when called for the first time, initialize t0
static struct timeval t0;
- if (t0.tv_sec == 0)
+ if (t0.tv_sec == 0 && t0.tv_usec == 0)
_gettimeofday (&t0, 0);
struct timeval t;
@@ -33,5 +33,5 @@ _times(struct tms *buf)
buf->tms_utime = utime * CLOCKS_PER_SEC / 1000000;
buf->tms_stime = buf->tms_cstime = buf->tms_cutime = 0;
- return -1;
+ return buf->tms_utime;
}
--
2.17.1