Subject: Re: Why does mode_t need 32 bits?
To: Jim Bernard <jbernard@tater.mines.edu>
From: Eduardo E. Horvath <eeh@one-o.com>
List: tech-kern
Date: 10/31/1997 08:29:41
On Fri, 31 Oct 1997, Jim Bernard wrote:
> On 10 30, Christos Zoulas wrote:
> > Now, consider what happens when you've compiled a library with prototypes
> > in scope and you are trying to link with this library from a legacy program
> > that did not bring the necessary prototypes into scope.
>
> But don't you _still_ have that same problem on a machine with 64-bit ints
> when mode_t is u_int32_t?
The only machines I know of that use ILP64 are HALstations. All others
use LP64. I don't expect to see any more soon as it's difficult to
generate int32_t or int16_t on such a system. C has 4 standard types:
`char', `short', `int', `long'. Current practice on 64-bit systems is to
map `char' to 8 bits, `short' to 16 bits, `int' to 32 bits, and `long' to
64 bits. If you map `int' and `long' to 64 bits, you have only `char' and
`short' available to describe 8, 16, and 32 bit types, without inventing a
new type like HAL did.
Hmmm... What does Cray do? Do we expect to have a NetBSD/Cray port soon?
=========================================================================
Eduardo Horvath eeh@btr.com
"Cliffs are for climbing. That's why God invented grappling hooks."
- Benton Frasier