Re: Updating sparc64 time_t, hostname not found

From: <llewelly_at_xmission.com>
Date: 18 Mar 2004 18:56:37 -0700
Garance A Drosihn <drosih_at_rpi.edu> writes:
[snip]
> Programs only know the time_t they were compiled with, so you
> would need to recompile them to get a 64-bTT version.  Besides,
> if you had a 32-bTT kernel with 64-bTT applications, then I
> suspect you would see timestamps VERY different than 1970.
> (I guess I could check that...).
[snip]

sparc is big-endian. Most significant bytes are stored at lower
    addresses.

so - let's say we have this date:

    Thu Mar 18 18:31:39 2004

In 64 bTT hex, it looks like this:

    00 00 00 00 40 5a 4d ea

The bytes at the low addresses are all 0.

If a pointer points to this time_t, but is of type pointer to 32 bTT,
    only the first 4 bytes of the value will be fetched from memory
    when the pointer is dereferenced. Those first 4 bytes are all 0,
    resulting in a date of Jan 1, 1970.

At least that's my reasoning - but endians always confuse me.

(also, 64 bTT might result in things being in such different places
that the pointers point to the wrong thing entirely - so, even if the
above reasoning is correct, it's only a possibility.)


    
Received on Thu Mar 18 2004 - 16:56:39 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:48 UTC