You copied the Doc URL to your clipboard.

ARM Compiler armlink User Guide : --base_platform


Specifies the Base Platform linking model. It is a superset of the Base Platform Application Binary Interface (BPABI) model, --bpabi option.


Not supported for AArch64 state.


When you specify --base_platform, the linker also acts as if you specified --bpabi with the following exceptions:

  • The full choice of memory models is available, including scatter-loading:

    • --dll.
    • --force_so_throw, --no_force_so_throw.
    • --pltgot=type.
    • --rosplit.


    If you do not specify a scatter file with --scatter, then the standard BPABI memory model scatter file is used.
  • The default value of the --pltgot option is different to that for --bpabi:

    • For --base_platform, the default is --pltgot=none.
    • For --bpabi the default is --pltgot=direct.
  • If you specify --pltgot_opts=crosslr then calls to and from a load region marked RELOC go by way of the Procedure Linkage Table (PLT).

To place unresolved weak references in the dynamic symbol table, use the IMPORT steering file command.


If you are linking with --base_platform, and the parent load region has the RELOC attribute, then all execution regions within that load region must have a +offset base address.