JG>Marcel Moolenaar wrote this message on Wed, Oct 15, 2003 at 00:44 -0700:
JG>> Yes. The MI code is already done and there's not much MD code that
JG>> is expected to break. It's mostly the structures that change. This
JG>> is especially painful on sparc64 because it's big-endian. I assume
JG>> that sparc64 passes syscall arguments in registers, so the syscalls
JG>> that take a time_t do not change except that there's no sign extension
JG>> prior to use. You can preserve the ABI until 2038 by ignoring the
JG>> upper 32-bits in that case.
JG>There is if you load a signed 32bit value into the register... sparc
JG>will automaticly sign extend the register when loading a 32bit value..
JG>This was done to be backwards compatible with sparcv8.
JG>So the question is, does the values get loaded into different registers?
JG>or are they packed into a single register?
I guess, IF we go the road now to change time_t to 64 bit, we should NOW
break the ABI (if this change breaks the ABI). This brings us more in line
with other systems and platforms and is a lot less problematic now that we
have only -current than later. I suggest we do it NOW especially given
that ia64 already does this and, obviously, has worked out the MI