/LARGEADDRESSAWARE is needed for Domino 32bit on Win64
Daniel Nashed – 14 April 2009 08:11:24
Since 7.0.2 Domino is supported on Windows 2003 in 64bit and can leverage more than 2 GB memory for local + shared memory.
What is still not widely known among ISVs is that you need to link your applications with a new flag called /LARGEADDRESSAWARE.
Last week I spoke with one of the larger European business partners and they never came across this flag.
The flag allows a program to use more than 2 GB of memory (shared + local). Without this flag an application crashes when the 2 GB memory limit is reached.
Because Domino uses a lot of shared memory which is mapped to every server process it is very important that all C-API programs are linked with the /LARGEADDRESSAWARE flag.
The first application where shared + local process memory exceeding the 2 GB limit can crash your Domino Server!
We have also seen issues with Extension Managers without the flag causing issues and the original compile lines used by IBM (included in the cmp directory shipped with the current C-API toolkits) contain the flag for executables and also shared libs.
To have a 32bit application fully supported on Win64 you have to use the flag (see Microsoft --> reference).
Note that the 32bit sample makefiles in the current 8.5 C-API toolkit and some of the 64bit makefiles do not include the flags by mistake.
The cmp directory (maintained by core development) lists those flags correctly and you should include the flag in all your applications that should run in a Win64 environment.
-- Daniel
- Comments [6]