FROM : Shawn Erickson
DATE : Tue Apr 26 21:09:53 2005
On Apr 26, 2005, at 11:48 AM, Chris Ridd wrote:
> On 26/4/05 6:22 pm, Gerriet M. Denkmann <<email_removed>> wrote:
>
>> Some further investigation showed:
>>
>> TN1150 says "The maximum representable date [of an HFS+ file] is
>> February 6, 2040 at 06:28:15 GMT".
>> But this cannot be true in a Posix compatible world.
>
> I think you're making an assumption that time_t is 32 bits wide. On
> Panther
> it seems to be defined as a long, and according to
>
> <http://developer.apple.com/macosx/tiger/64bit.html>
>
> in LP64 mode on Tiger, long is 64 bits wide. So possibly (we'll find
> out on
> Friday :-), time_t is 64 bits wide on Tiger and so can represent dates
> in
> 2040 (and then some.)
Also note the following example from the page you referenced...
#ifdef __LP64__
int getattrlist(const char*,void*,void*,size_t, unsigned int);
#else /*__LP64__*/
int getattrlist(const char*,void*,void*,size_t, unsigned long);
#endif
I wouldn't expect the new 64 bit option in Tiger (and tool chain) to
cause POSIX defined, etc. APIs to break away from existing conventions.
Also note the 64 bit version of libSystem (all that Tiger currently
provides) isn't linked against unless the application is requesting
"ppc64" from the tool chain, same goes for the activation of the LP64
mode.
Also the kernel will still use 32 bit virtual addressing.
-Shawn
DATE : Tue Apr 26 21:09:53 2005
On Apr 26, 2005, at 11:48 AM, Chris Ridd wrote:
> On 26/4/05 6:22 pm, Gerriet M. Denkmann <<email_removed>> wrote:
>
>> Some further investigation showed:
>>
>> TN1150 says "The maximum representable date [of an HFS+ file] is
>> February 6, 2040 at 06:28:15 GMT".
>> But this cannot be true in a Posix compatible world.
>
> I think you're making an assumption that time_t is 32 bits wide. On
> Panther
> it seems to be defined as a long, and according to
>
> <http://developer.apple.com/macosx/tiger/64bit.html>
>
> in LP64 mode on Tiger, long is 64 bits wide. So possibly (we'll find
> out on
> Friday :-), time_t is 64 bits wide on Tiger and so can represent dates
> in
> 2040 (and then some.)
Also note the following example from the page you referenced...
#ifdef __LP64__
int getattrlist(const char*,void*,void*,size_t, unsigned int);
#else /*__LP64__*/
int getattrlist(const char*,void*,void*,size_t, unsigned long);
#endif
I wouldn't expect the new 64 bit option in Tiger (and tool chain) to
cause POSIX defined, etc. APIs to break away from existing conventions.
Also note the 64 bit version of libSystem (all that Tiger currently
provides) isn't linked against unless the application is requesting
"ppc64" from the tool chain, same goes for the activation of the LP64
mode.
Also the kernel will still use 32 bit virtual addressing.
-Shawn
| Related mails | Author | Date |
|---|---|---|
| Gerriet M. Denkman… | Apr 25, 10:04 | |
| j o a r | Apr 25, 10:12 | |
| Sean McBride | Apr 25, 20:45 | |
| Gerriet M. Denkman… | Apr 26, 19:22 | |
| Shawn Erickson | Apr 26, 20:19 | |
| Sean McBride | Apr 26, 20:37 | |
| Chris Ridd | Apr 26, 20:48 | |
| Shawn Erickson | Apr 26, 21:09 | |
| Gerriet M. Denkman… | Apr 26, 23:03 | |
| Ricky Sharp | Apr 26, 23:30 |






Cocoa mail archive

