11.135 --strict_symbols, --no_strict_symbols

Checks whether or not a mapping symbol type matches an ABI symbol type.


The option --strict_symbols checks that the mapping symbol type matches ABI symbol type. The linker displays a warning if the types do not match.

A mismatch can occur only if you have hand-coded your own assembler.


The default is --no_strict_symbols.


In the following assembler code the symbol sym has type STT_FUNC and is A32:

    .section mycode,"x"
    .word sym + 4
    .code 32
    .type sym, "function"
    mov  r0, r0
    .code 16
    mov  r0, r0

The difference in behavior is the meaning of .word sym + 4:

  • In pre-ABI linkers the state of the symbol is the state of the mapping symbol at that location. In this example, the state is T32.
  • In ABI linkers the type of the symbol is the state of the location of symbol plus the offset.
Non-ConfidentialPDF file icon PDF versionDUI0803J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.