Helps to emulate GNU ld by enabling the translation of command lines from the GNU tools.


You can use this option to provide either of the following:
  • A full GNU ld emulation targeting ARM Linux
  • A subset of full GNU ld emulation in the form of translating individual GNU ld command-line arguments into their ARM compiler equivalents.
To provide a full GNU ld emulation, you must also use --arm_linux_config_file. This combination of options selects the appropriate GNU library paths specified by the configuration file, and includes changes to some default behaviors.
To translate individual GNU ld command-line arguments into their ARM compiler equivalents without aiming for full GNU ld emulation, use --translate_gld to emulate GNU ld, but do not use it with --arm_linux_config_file. Because you are not aiming for full GNU ld emulation with this method, default behavior of the ARM compilation tools is retained, and no defaults are set for targeting ARM Linux. The library paths and option defaults for the ARM compilation tools remained unchanged.


  • --translate_gld is used by invoking armcc as if it were the GNU linker. This is intended only for use by existing build scripts that involve the GNU linker directly.
  • In gcc and g++ modes, armcc reports itself with --translate_gld as the linker it uses. For example, gcc -print-file-name=ld.
To selectively specify options that are not to be translated, use -Warmcc.
Specifying multiple GNU translation modes on the same command line is ambiguous to the compiler. The first specified translation mode is used, and the compiler generates a warning message. For example, given armcc --translate_gcc --translate_gld, the compiler uses --translate_gcc, ignores --translate_gld, and generates a warning message.
Non-ConfidentialPDF file icon PDF versionARM DUI0375F
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.