Re: mac osx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



----- Original Message -----
> From: "Scott Chacon" <schacon@xxxxxxxxx>
> Sent: Wednesday, September 21, 2011 10:58:03 AM
> Subject: Re: mac osx
> 
> On Wed, Sep 21, 2011 at 5:52 AM, Timothy Harper <timcharper@xxxxxxxxx>
> wrote:
> >>> On Tue, Sep 20, 2011 at 3:40 PM, tom smitts <tomsmitts@xxxxxxxxx>
> >>> wrote:
> >>>> Do the git maintainers really think any mac users have
> >>>>  a clue which git install package to download? You
> >>>> put some arcane chipset designation in the package
> >>>>  name!
> >
> > Good point, I'll update the description to include "32-bit" and
> > "64-bit"
> 
> Honestly this doesn't help much. I think the point is that these
> numbers or machs are not in any of the docs or ads I can think of for
> macs. I feel pretty stupid admitting this to this list, but I
> honestly don't know which macs are 32 bit - I assume the MBP is 64,
> but if someone challenged me I'm not sure I could really defend it.

Perhaps I can shed some light on the subject...  (Long time Mac user and developer of software that has to deal with these sorts of issues all the time)

Starting with the hardware: Apple announced the switch to Intel processors in 2005, with the first machines shipping in early 2006 with the Intel Core Duo (i386/32-bit) processors.  In August of 2006 they introduced a Xeon-based Mac Pro that used the x86_64/64-bit instruction set.  According to Wikipedia [1] by August of 2007 every Mac shipped was based on an x86_64 chip.

Now Apple confused things with the software: Mac OS 10.5 (Leopard) introduced the ability to run 64-bit applications (and access more the 4GB of memory), but the kernel was still 32-bit (I've skimmed some articles about how they did this, but I don't remember the details now).  According to this article [2] it wasn't until OS 10.6.4 (Snow Leopard) that Apple actually made the boot default to the 64-bit kernel (but I have first hand experience with commercial software that changes the default back to 32-bit!).

And during all this users were never educated about the difference because many (most?) applications built for Mac ship "universal binaries" with multiple architectures linked into the same file (though there are still a lot that just ship 32-bit).  I don't know how much effort it would be to update the Git Makefile for universal builds on Macs (sometimes it's as easy as "-arch i386 -arch x86_64"), but that might be the most "Mac-like" way to go.

For the geeks in the audience if you really want to know:
  a) the instruction sets linked in a binary (executable or shared library): 
        $ file /path/to/binary/of/interest
  b) the currently booted kernel architecture: 
        $ uname -m
  c) the currently running architecture set of any application: 
        Activity Monitor lists in the column "kind": PowerPC, Intel, or Intel (64-bit)

[1] http://en.wikipedia.org/wiki/Apple%E2%80%93Intel_transition
[2] http://macperformanceguide.com/SnowLeopard-64bit.html

HTH,
Stephen
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]