[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