On Tuesday 11 December 2007 22:57:43 Jerry Feldman wrote:
> On Sun, 9 Dec 2007 13:47:50 +0100
>
> Anders Johansson <[EMAIL PROTECTED]> wrote:
> > On Friday 07 December 2007 22:03:40 Aaron Kulkis wrote:
> > > Carlos E. R. wrote:
> > > > -----BEGIN PGP SIGNED MESSAGE-----
> > > > Hash: SHA1
> > > >
> > > > The Friday 2007-11-30 at 22:22 -0600, Bryen wrote:
> > > >> On Sat, 2007-12-01 at 05:00 +0100, Carlos E. R. wrote:
> > > >>> rpm -q -a --queryformat "%{INSTALLTIME}\t%{INSTALLTIME:day} \
> > > >>>     %{BUILDTIME:day} %-30{NAME}\t%15{VERSION}-%-7{RELEASE} \
> > > >>>     %25{PACKAGER}\n" | sort | less -S
> > > >>
> > > >> That's very cool.  What does the first column represent?  I'm
> > > >> assuming it is install time based on unix time?
> > > >
> > > > Some internal time representation, I think seconds from certain date
> > > > which I think is called unix time, yes.
> > >
> > > Unix Time starts with t=0 seconds at
> > > 00:00, between 31 Dec 1969 and 01 Jan 1970,
> > > which is also knows as "the epoch."
> > >
> > > System time is an unsigned 32-bit number representing
> > > the number of seconds since "the epoch."
> > >
> > > 32-bit time will run out sometime in 2038.
> > > This gives us 31 years to convert to 64-bit time.
> >
> > Actually it's a signed long, which means 2147483647 seconds, or just over
> > 68 years. An unsigned value would be about twice that
>
> Actually you are wrong. The Unix 95 standard required a signed int not 
> a signed long.

I was using the present tense. Look around in /usr/include. I dare you to find 
one single instance of time_t that is not a signed long

__kernel_time_t is signed long
__time_t is __TIME_T_TYPE, which is __SLONGWORD_TYPE, which is signed long
time_t is either of the above depending on which include file you look at, but 
it doesn't really matter since they are defined the same

What I said was "it is a signed long". What you say is "it was a signed int". 
Sure, it was, and we may have to convert older systems at some point, but 
that's a whole other story

> There was a big todo about converting to 64-bit time in
> the Unix 98 standard. The problem with many vendors was binary
> compatibility. I was involved in this for Tru64 Unix as if affected the
> Utmp/Utmpx libraries since the utmp and wtmp files contain time stamps.
> We had to be able to provide binary compatibility so applications
> written for the old way would work. Luckily I was able to get enough
> data into the release notes so I could get my new utmp library code
> done in the next release. Making the change is not hard, but making it
> binary compatible is much more complex.

Of course. Any change in the ABI-exposed functions is difficult. Usually 
vendors take the easy way out and introduce new functions (foo() versus foo64
(), for example)

Anders

-- 
Madness takes its toll
-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to