9.3 Important ld script commands that are implemented in armlink

A subset of ld script commands is implemented in armlink.

The following ld script commands are implemented:

Commands that deal with files

The following commands are implemented:

  • AS_NEEDED.
  • ENTRY.
  • GROUP.
  • INCLUDE.
  • INPUT.
  • OUTPUT.
  • OUTPUT_ARCH.
  • OUTPUT_FORMAT.
  • SEARCH_DIR.
  • STARTUP.
Commands that map input sections to output sections

The SECTIONS command is implemented.

The SECTIONS command is the most complex command and not all features are implemented. In particular, the load address features are not implemented:

AT(address)
>region
AT>region

These commands are not supported because they either require the unsupported PHDRS command or cause the Virtual Address and Load Address to be different.

The following data definition functions are not implemented:

  • BYTE(expression).
  • COMMON.
  • CONSTRUCTORS.
  • CREATE_OBJECT_SYMBOLS.
  • SHORT(expression).
  • LONG(expression).
  • QUAD(expression).
  • SQUAD(expression) .

The input section specifier is not available:

archive:file

Commands that control symbol versioning

The VERSIONS command is implemented.

The VERSIONS command syntax is exactly the same as that supported by the armlink --symver_script command-line option. armlink does not support the matching of unmangled symbol names in VERSIONS commands.

Non-ConfidentialPDF file icon PDF versionARM DUI0474M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.