G
Guest
|> (e-mail address removed) writes:
|>>>
|>>> C does not mandate the use of 32-bit integers for time_t.
|>>> This is truly an implementation issue, and the fix is so easy that
|>>> implementors have no excuse for not fixing the problem right now.
|>>
|>> Binary compatibility with existing code seems like a pretty good excuse
|>> to me.
|>
|> Precisely which binary interfaces did you have in mind?
|
| One is the binary interface between a program and a dynamically linked
| C library, like say the time function.
C does not have binary interfaces. Architectures do. They are just a
form of subset of an architecture. If you switch to a new ABI, such as
using 64 bits for time_t or off_t, then use another library. You can
have 2 or more libraries on a system, and link programs to specific ones.
| But dynamic liking technology has now advanced into the 1970's,
| at least on some operating systems. It's possible for a shared
| library to expose a compatible time function for old binary clients,
| one with a 32 bit time_t, and a 64 bit time function for new clients.
No need. Link to the proper library.
| Of course, programs that aren't going to be recompiled will stay broken.
| That's a given. But fixes to the interface don't have to be held back
| for the sake of these programs.
No. They just stay linked to a library providing a legacy ABI.
|>>>
|>>> C does not mandate the use of 32-bit integers for time_t.
|>>> This is truly an implementation issue, and the fix is so easy that
|>>> implementors have no excuse for not fixing the problem right now.
|>>
|>> Binary compatibility with existing code seems like a pretty good excuse
|>> to me.
|>
|> Precisely which binary interfaces did you have in mind?
|
| One is the binary interface between a program and a dynamically linked
| C library, like say the time function.
C does not have binary interfaces. Architectures do. They are just a
form of subset of an architecture. If you switch to a new ABI, such as
using 64 bits for time_t or off_t, then use another library. You can
have 2 or more libraries on a system, and link programs to specific ones.
| But dynamic liking technology has now advanced into the 1970's,
| at least on some operating systems. It's possible for a shared
| library to expose a compatible time function for old binary clients,
| one with a 32 bit time_t, and a 64 bit time function for new clients.
No need. Link to the proper library.
| Of course, programs that aren't going to be recompiled will stay broken.
| That's a given. But fixes to the interface don't have to be held back
| for the sake of these programs.
No. They just stay linked to a library providing a legacy ABI.