<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Man 5 utmp has instructions how to replace time with gettimeofday in utmp.
Use them.
https://bugs.gentoo.org/919295
--- a/term.c
+++ b/term.c
@@ -248,6 +248,7 @@
 	struct utmp	utmp;
 	struct passwd	*pw;
 	char	*tn;
+	struct timeval	tv;
 
 	pw = getpwuid(util_getuid());
 	tn = rindex(p-&gt;name, '/') + 1;
@@ -262,7 +263,9 @@
 	    tn = p-&gt;name + 5;
 	strncpy(utmp.ut_line, tn, sizeof(utmp.ut_line));
 	strncpy(utmp.ut_user, pw-&gt;pw_name, sizeof(utmp.ut_user));
-	time(&amp;(utmp.ut_time));
+	gettimeofday(&amp;tv, NULL);
+	utmp.ut_tv.tv_sec = tv.tv_sec;
+	utmp.ut_tv.tv_usec = tv.tv_usec;
 	pututline(&amp;utmp);
 	endutent();
 }
@@ -271,6 +274,7 @@
 {
 	struct utmp	utmp, *utp;
 	char	*tn;
+	struct timeval	tv;
 
 	tn = rindex(p-&gt;name, '/') + 4;
 	memset((char *)&amp;utmp, 0, sizeof(utmp));
@@ -281,7 +285,9 @@
 	utp-&gt;ut_type = DEAD_PROCESS;
 	memset(utp-&gt;ut_user, 0, sizeof(utmp.ut_user));
 	utp-&gt;ut_type = DEAD_PROCESS;
-	time(&amp;(utp-&gt;ut_time));
+	gettimeofday(&amp;tv, NULL);
+	utp-&gt;ut_tv.tv_sec = tv.tv_sec;
+	utp-&gt;ut_tv.tv_usec = tv.tv_usec;
 	pututline(utp);
 	endutent();
 }
</pre></body></html>