Gearing up for 64-bit time_t on sparc64

Garance A Drosihn drosih at rpi.edu
Mon Jan 5 20:36:30 PST 2004


In the thread on
    Re: An experiment: 64-bit time_t on IA-32 (5.2-RC)
David O'Brien wrote:
>On Mon, Dec 22, 2003, Garance A Drosihn wrote:
>  > Note that there it is likely we will switch sparc64 to a
>>  64-bit time_t before 5.3 is released.  We talked about making
>>  that change sometime in January, once we would be sure that
>>  5.2-release was settled.
>
>On Tue, Dec 23, 2003, Harti Brandt wrote:
>  > time_t is a long on Solaris and hence 64bit (when compiling
>  > in 64-bit mode). Compatibility (with Solaris and Posix)
>  > requires time_t to be 64-bit and tv_sec to be a time_t.
>  > I'm running with a 64-bit time_t for two months now
>  > without problems.
>
>Before the tree starts to get disruptive and unstable on the
>push to 5.3; maybe this is a good time to make the switch to
>64-bit time_t for sparc64.

I think this is a good idea.  I just finished a clean install of
5.2-RC2 on my ultra-10, and I'm building a few of my favorite
ports on that.  I'll then duplicate that install to alternate
partitions, and see what happens when updating that to a 64-bit
time_t.

So, all I need to change is the line:
    typedef	__int32_t	__time_t;

in /usr/src/sys/sparc64/include/_types.h
and the line:
    long		tv_sec;		/* seconds (XXX should be time_t) */

in /usr/src/sys/sys/_timeval.h

Most the other definitions of tv_sec that I found are
already using time_t.  Btw, I noticed:
sys/netinet/ip_fw.h:
     u_int32_t		timestamp;	/* tv_sec of last match*/
sys/netinet6/ip6_fw.h:
     long		timestamp;	/* timestamp (tv_sec) of last match */

but I haven't looked at the code to see how much we care about
those two references.

Anything else, Harti?

-- 
Garance Alistair Drosehn            =   gad at gilead.netel.rpi.edu
Senior Systems Programmer           or  gad at freebsd.org
Rensselaer Polytechnic Institute    or  drosih at rpi.edu


More information about the freebsd-sparc64 mailing list