Re: [APPL:DarwinKernel] Re: type sizes
Re: [APPL:DarwinKernel] Re: type sizes
- Subject: Re: [APPL:DarwinKernel] Re: type sizes
- From: "Jay A. Kreibich" <email@hidden>
- Date: Tue, 26 Oct 2004 10:10:06 -0500
On Tue, Oct 26, 2004 at 02:59:19PM +1000, Wade Tregaskis scratched on the wall:
> >With the move to 64bit on Tiger, I'm wondering how the types will
> >change. For example, will sizeof(size_t) == 8 instead of 4 as it is on
> >OSX 10.3 (which seems to violate the ISO C spec)?
>
> Most things will remain the same size - int's are 4 bytes, shorts are
> 2, doubles are 8, floats are 4, etc. The main difference is long,
> which is 8 bytes instead of 4. Additionally, long long used to be 8
> (under 32-bit PPC)... I'm not sure what it is now (on my mythical G5 ;)
> ), although I'd suspect the same (watch out though for when we move to
> 128-bit processors ;) ). It's not an ANSI type anyway, so it's
> probably implementation-dependant.
Don't forget that most of these numbers are going to be process
environment specific, and not system-wide. Since Tiger will support
running 32-bit applications and 64-bit applications side-by-side, it
needs to support both environments and be able to "context switch"
between process and system environments.
The big question is how the kernel is going to run. Since Apple will
be supporting both 32 and 64 bit processors with the Tiger kernel,
there is some assumption the kernel itself will remain largely 32
bit, except for the VM system on 64 bit machines.
In short, I expect things to work pretty much like they have for
every other vendor that has gone through the 32 -> 64 bit transition.
We played most of these games with multiple system libs and
different process/kernel environments when SGI made the jump 7 years
ago. In that case, things were even worse because their "32 bit
application in a 64 bit VM" was a third environment, so you had a
whole heck of a lot of shared libs sitting around and three
LD_LIBRARY_PATH vars you needed to keep straight.
> The key changes from the horses mouth (IBM)
This is also up on Apple's site:
http://www.apple.com/macosx/tiger/64bit.html
Tiger supports the industry standard LP64 programming
model supported by other 64-bit Unix systems. This
means developers can easily port 64-bit code to Tiger.
LP64 support in Tiger provides for 64-bit pointer,
long, and long long but preserves 32-bit integer data
types.
-j
--
Jay A. Kreibich | Comm. Technologies, R&D
email@hidden | Campus IT & Edu. Svcs.
<http://www.uiuc.edu/~jak> | University of Illinois at U/C
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden