|ARM Technical Support Knowledge Articles|
Applies to: RealView Development Suite (RVDS)
From RVDS 4.1 Service Pack 1, and RVCT 4.1 patch 2, the ARM Compilation tools include a version of the linker designed to take advantage of 64-bit host operating systems.
The RVDS installer will configure your machine to use the standard 32-bit linker, regardless of whether the host operating system is 32-bit or 64-bit. It will create a directory for the 64-bit linker, but not add this to the PATH or other environment variables. On 64-bit Windows hosts this directory will be called
win-x86_64, on Linux hosts it will be
linux-x86_64. This directory will also contain the executable files for the other tools (for example the compiler and assembler). These are not 64-bit executables, but are included in this directory because some features of the tools require that the executables are all in the same directory. These features include the compiler automatically invoking the linker, the use of embedded assembler, and link-time code generation.
For most users, there is no advantage in using the 64-bit version of the linker. However in some cases, usually when building large C++ projects with full debug information, the 32-bit linker can exceed the limit of the virtual address space provided by the operating system (normally 2GB on Windows and 3GB on Linux). In these cases the 32-bit linker may report
Error L6000U: out of memory, using the 64-bit linker is one way to avoid this problem. For further ways to avoid this issue, please see this Knowledge Base Article.
In order to use the 64-bit linker, you should modify the environment variable ARMCC41BIN to point to the 64-bit executables directory, and also place this directory on the path (either before or instead of the 32-bit executables directory).
Article last edited on: 2010-10-05 08:47:28
Did you find this article helpful? Yes No
How can we improve this article?