Subject: Re: tset lossage on sparc64/1.6ZE
To: None <current-users@netbsd.org, port-sparc64@netbsd.org>
From: Soren Jacobsen <snj@pobox.com>
List: current-users
Date: 12/10/2003 14:21:51
On 12/10 17:17, Sean Davis wrote:
> On Wed, Dec 10, 2003 at 01:53:19PM -0800, Soren Jacobsen wrote:
> > On 12/09 22:48, Sean Davis wrote:
> > > Also, this is the same box that shows a screen oddity which I believe
> > > is a 64-bit big endian issue, as it does not happen on NetBSD/alpha of
> > > the same version:
> > > 
> > > dive     p0 eros.endersgame.net 10:44PM     0 -tcsh 
> > > dive     p2 eros:S.0            31Dec69  12396days w 
> > 
> > ben@ fixed this in screen-4.0.1nb2.
> 
> Cool, thanks for pointing it out. Was it, as my guess was, a 64-bit
> endianness issue? Or something else entirely?

revision 1.50
date: 2003/12/01 15:18:27;  author: ben;  state: Exp;  lines: +2 -2
On sparc64 when I used the "w" command, the screen logins had absurdly
large login and idle times.  This was due to a bug in utmp.c:

in os.h
-------
#  define utmp          utmpx
#  define ut_time       ut_xtime

in utmp.c::makeuser()
---------------------
struct utmp *u;
  (void)time((time_t *)&u->ut_time);

The above works fine on i386 where ut_xtime and time_t are the same size,
but on sparc64 ut_xtime is 8 bytes rather than 4.