Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Oct 2002 11:13:49 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Gary Thorpe <gathorpe79@yahoo.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: short uid/gid
Message-ID:  <3DADAC5D.B3D9105B@mindspring.com>
References:  <20021016173858.98439.qmail@web11205.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Gary Thorpe wrote:
> I am not aware of the latest ISO C standards, but I believe things like
> 'int' and 'long' are not defined in their lengths, but the minimum
> values they can represent: 'int' has to be able to do -65536 to +65536
> approximately and long has to be able to do -2 billion to +2 billon
> approximately. On gcc x86, a 'long' may in fact be the same lentgh as
> an 'int'. The only types in C that *may* have their lengths defined are
> 'char' (8-bit value) and 'wchar' (16-bit value) as far as I know. I
> believe Java has the strict length interpritations.
> 
> Has this changed with the latest C standards (and was it ever true in
> the first place)?

No.

Definition of atomic types is not really relevent, in this case,
since we can ignore it because of the compiler/platform we are
using.  It's an orthogonal issue.

The problem at hand is one of historically exposed interfaces,
and hostorical mixing of sizes for supposedly uniformly sized
values in the FreeBSD ABI, as exposed data interfaces (in files
and/or in data that gets copied in and out of the kernel).

In particular, it's possible to drop legacy support from the ABI,
using a non-intersection approach, but not possible, using the
Linux approach, unless we also adopt the user space dual library
ABI symbol decoration, at the same time (or do what Windows does,
with their "IUnknown" mechanism for interface versioning of
libraries).  An approach that makes us carry legacy interfaces
forward in user space for all time is a bad approach.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DADAC5D.B3D9105B>