[vbox-dev] 64-bit VM build for Mac OS X uses deployment options that break Leopard support

Bayard Bell buffer.g.overflow at googlemail.com
Thu Mar 18 20:50:37 GMT 2010


As best as I can work out, VirtualBox on Leopard could run 64-bit VM  
processes to increase the amount of resources available to a VM (this  
isn't required to allow the VM to run a 64-bit OS, but the 64-bit OS  
isn't going to have a whole lot of resources available to it if the VM  
has to run under 32-bit process constraints). I've tried to resolve a  
performance issue with 64-bit Windows Vista by increasing the memory  
allocation to the VM, but I can't get it particularly close even to  
the 3584MB VirtualBox allows. I've not been able to get very far in  
debugging the processes, but one thing I have noticed is that 64-bit  
VirtualBoxVM image (VirtualBoxVM-amd64) can't be run on Leopard  
because it's been built with Snow Leopard linker directives that  
aren't supported on 10.5:

otool -arch x86_64 -l /Applications/VirtualBox.app/Contents/MacOS/ 
VirtualBoxVM-amd64
...
Load command 4
       cmd ?(0x80000022) Unknown load command
   cmdsize 48
00000000 00000000 00006000 00000070 00000000 00000000 00006070 000002a8
00006318 00000070
...

I found further information here:

http://developer.apple.com/mac/library/releasenotes/DeveloperTools/RN-dyld/index.html

by way of a thread that starts here:

http://lists.apple.com/archives/xcode-users/2009/Oct/msg00514.html

As described in the first section of the release notes, the LINKEDIT  
section is compressed in Snow Leopard, which is not backwards- 
compatible. The thread goes on to clarify how to resolve resulting  
issues.

If someone can tell me whether/where there's a code drop in SNV where  
I could modify this for testing with the 3.1.4 kernel modules, I'm  
happy to test whether I can build a VirtualBoxVM binary that resolves  
the chain of problems as I understand them and supply any patches for  
the build process at which I might arrive. Or someone can tell me that  
I'm not going to be able to resolve these issues until I'm running on  
an OS with a 64-bit kernel and not just support for 64-bit  
applications... or that I've misunderstood some other vital premise...

Cheers,
Bayard




More information about the vbox-dev mailing list