64 bit DMD binary on the Mac

Daniel Gibson metalcaedes at gmail.com
Wed Jun 29 19:52:52 PDT 2011


Am 30.06.2011 04:32, schrieb Michel Fortin:
> On 2011-06-29 20:55:43 -0400, Daniel Gibson <metalcaedes at gmail.com> said:
> 
>> Am 29.06.2011 22:01, schrieb Jacob Carlborg:
>>> Yes exactly. Actually very few macs, what I've heard, run the kernel in
>>> 64bit.
>>
>> So is a 32bit kernel just default or can't you even upgrade to 64bit OSX
>> if you want to with these older Macs (with 64bit CPUs)?
>> Sounds like a really broken mess.. probably the DMD for OSX should stick
>> to 32bit or universal binaries.
> 
> It might look messy, but in reality it's doesn't matter much. First,
> there is no 64-bit or 32-bit version of OS X, both versions are
> installed at the same time.
> 
> Second, the 32-bit kernel is able to run 64-bit programs just fine if
> you have a 64-bit CPU, just like the 64-bit kernel can run 32-bit
> programs. The reason very few Macs run the kernel in 64-bit in the
> current version of Mac OS X is to avoid breaking older 32-bit
> third-party drivers (which must run inside the kernel's address space).
> 
> So unless you do driver programming, you generally don't care at all in
> which mode the kernel is running. Note that which kernel to use is
> determined at boot time. You can hold the 6 and 4 keys while you boot to
> force the 64-bit kernel to be used.
> 

Thanks for explaining.
Interesting that this works, I have never before heard of a 32bit kernel
executing 64bit binaries.

But still the issues with Core Solo and Core Duo (without "2") CPUs
remain, so at least as long as DMD supports versions of OSX that support
these (32bit only)  CPUs, we need 32bit binaries.

Cheers,
- Daniel


More information about the Digitalmars-d mailing list