• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Just when does an application commit to PowerPC vs. Intel?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Just when does an application commit to PowerPC vs. Intel?


  • Subject: Re: Just when does an application commit to PowerPC vs. Intel?
  • From: Chris Espinosa <email@hidden>
  • Date: Wed, 11 Jan 2006 11:14:03 -0800


On Jan 11, 2006, at 10:53 AM, Roland Torres wrote:

On Jan 11, 2006, at 10:08 AM, Chris Espinosa wrote:

On Jan 11, 2006, at 9:59 AM, Robin Lake wrote:

Let's say I have a Universal Binary application.  Does this application become fixed to one hardware or the other (A) at the time it is installed or (B) at the time it is launched?

The situation will be a PowerPC Mac networked to an IntelMac.  The PowerPC Mac desktop can show the IntelMac file system and I wonder if I can launch a .app on the Intel?

Applications are not "fixed to one hardware."  A Universal Binary has both PPC and Intel code in its Mach-O executable.  If two users are sharing a networked copy of that application, PPC users will map in the PPC code, and Intel users will map in the Intel code.

This is technology that was deployed by NeXT back in the NeXTStep days, where the dominant paradigm was server-based app images being shared by users on a variety of platforms, and it works well.

Just thinking out loud here...

So, the next step (no pun) will be for the next generation of Universal Binary to include:
- 32-bit PPC
- 32-bit Intel
- 64-bit Intel

How will the proper binary be chosen at runtime then? Will the default be to run the 32-bit binary if the user is on a 32-bit Intel or PPC system, and the 64-bit binary on 64-bit Intel systems?

The runtime on the system you're using picks the corresponding binary.  This works correctly today, for example, with the real-life case you omit: 64-bit PPC.  And there are APIs to override this: for example, the Get Info box on 10.4.4 allows you to check a box to launch the PPC side of a Universal Binary under Rosetta on an Intel machine, rather than launching the Intel side; this is useful for testing and debugging.

We write all this stuff down, you know.  You can read 

http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/index.html

http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/index.html

to get a comprehensive overview ho how Mach-O binaries are loaded.

Chris
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Just when does an application commit to PowerPC vs. Intel?
      • From: ccsccs7 <email@hidden>
References: 
 >Just when does an application commit to PowerPC vs. Intel? (From: Robin Lake <email@hidden>)
 >Re: Just when does an application commit to PowerPC vs. Intel? (From: Chris Espinosa <email@hidden>)
 >Re: Just when does an application commit to PowerPC vs. Intel? (From: Roland Torres <email@hidden>)

  • Prev by Date: Re: DTS machines no longer supported?
  • Next by Date: Re: Crash in std::basic_string
  • Previous by thread: Re: Just when does an application commit to PowerPC vs. Intel?
  • Next by thread: Re: Just when does an application commit to PowerPC vs. Intel?
  • Index(es):
    • Date
    • Thread