About GNU ld script support and restrictions
armlink supports the use of GNU ld scripts, but with some restrictions.
armlink supports GNU ld scripts as follows:
Implements a subset of the GNU ld script language.
The subset is focused on support for ARM Linux and partial linking.
Virtual Address (VMA) must equal Load Address (LMA).
Bare-metal support is not supported in this release.
The --sysv command-line option uses an internal ld script. --sysv is also the default for the --arm_linux command-line option.
You specify an ld script with the --linker_script ld_script command-line option, or the synonym command-line option -T ld_script .
Considerations when linking images and shared objects with ld scripts
When linking an image or shared object:
Either the --sysv or the --arm_linux option is required.
Any unrecognized file is parsed as if it is an ld script.
All ELF images and shared objects produced by an ld script are demand paged. Use the --pagesize option to control the page size. The default is 8000 .
Using ld scripts when linking partial objects
To link a partial object, you must use the --ldpartial command-line option.
The -r command-line option is a synonym for --ldpartial.