A.3  32-Bit and 64-Bit Support on Mac OS X

The WinDriver binaries for Mac OS X – namely, the WinDriver kernel modules (WinDriver.kext and your Kernel PlugIn driver [11], if created), the WDAPI framework (WDAPI.framework), and the user-mode applications – are unified binaries, which can be configured in either 32-bit or 64-bit mode.

The OS loader automatically loads the kernel module and framework configuration that matches the kernel architecture of the target machine.
User-mode applications are executed, by default, as 64-bit applications. It is possible, however, to force the execution of an application in 32-bit mode, as explained below [A.3.1].

WinDriver supports execution of 32-bit applications on 32-bit or 64-bit Mac OS X platforms, and execution of of 64-bit applications on 64-bit platforms; it does not, however, support execution of 64-bit applications on 32-bit platforms. Therefore, on 32-bit Mac OS X platforms, you must execute your WinDriver applications as 32-bit applications; on 64-bit platforms, you have the choice of whether to execute your applications in 64-bit mode (default) or 32-bit mode.

A.3.1  Running 32-Bit Applications on 64-Bit Mac OS X Platforms

Mac OS X provides the arch utility, which enables execution of an application in 32-bit mode, thus bypassing the default 64-bit user-mode configuration [A.3].

To execute a user-mode application in 32-bit mode, you need to run the application using arch, in the following manner:

$ arch -arch <32-bit architecture> <application name>

For example, to execute an application named test_app in 32-bit mode on a 32-bit x86 Mac OS X platform, run

$ arch -arch i386 test_app