This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ada runtime 64 bit fixes


Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> writes:

|> Andreas Schwab <schwab@suse.de> writes:
|> 
|> > The POSIX style System.OS_Primitives assumes that time_t == Integer.  This
|> > is wrong for 64 bit architectures, where time_t is a 64 bit integer.  The
|> > same is true for the tv_usec member of struct_timeval.  For 32 bit targets
|> > this should make no difference.
|> 
|> This is certainly not true for all 64-bit systems: e.g. Tru64 UNIX still has
|> 
|> typedef int             time_t;
|> 
|> in <time_t.h>.  Similarly on IRIX 6: the 32-bit ABIs use
|> 
|> typedef long            time_t;
|> 
|> while the N64 ABI (LP64) has
|> 
|> typedef int             time_t;
|> 
|> in <sys/types.h>.
|> 
|> Only Solaris 7 and up always has
|> 
|> typedef long            time_t;
|> 
|> i.e. time_t is different on 32-bit and 64-bit kernels.

How can this be solved?  Any modern 64-bit system should have a 64 bit
time_t, so the 32 bit time_t should be the exception, not the rule, IMHO.

Andreas.

-- 
Andreas Schwab                                  "And now for something
Andreas.Schwab@suse.de				completely different."
SuSE Labs, SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]