On 26. 1. 2013., at 14:10, Fred Kiefer <[email protected]> wrote:

>  Apple allows the code to use 32bit versions of the core bundles even on 
> 64bit system. I don't know how they do it exactly, most likely they have two 
> versions of the library and link in the correct one depending on the 
> settings. 

Just a bit of info here.

Same tech that was used during PowerPC transition: universal binaries. An 
executable is checked to see if it has 32bit, 64bit or 32+64bit code. Correct 
version is picked; that is, 64bit code if it exists and without further 
configuration. After that, any shared library that dyld loads will load 
appropriate version of code from the universal binary (or the single arch 
binary), or fail if adequate version is not found in the shared library.

With Xcode 3.2.6, which I believe was the last build to ship PPC support, one 
could ship three-arch executables, and to my knowledge Snow Leopard included 
three-arch binaries in all frameworks: one for Rosetta, one for 32-bit and one 
for 64-bit. Fun!
_______________________________________________
Gnustep-dev mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to