9.116 --strict_symbols, --no_strict_symbols

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

Usage

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.

Default

The default is --no_strict_symbols.

Example

In the following assembler code the symbol sym has type STT_FUNC and is ARM:
        area code, readonly
        DCD sym + 4
        ARM
sym  PROC
        NOP
        THUMB
        NOP
        ENDP
        END
The difference in behavior is the meaning of DCD 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 Thumb.
  • In ABI linkers the type of the symbol is the state of the location of symbol plus the offset.
Related concepts
3.13 The strict family of linker options
6.1 About mapping symbols
Related reference
9.111 --strict
9.112 --strict_enum_size, --no_strict_enum_size
9.113 --strict_flags, --no_strict_flags
9.114 --strict_ph, --no_strict_ph
9.115 --strict_relocations, --no_strict_relocations
9.117 --strict_visibility, --no_strict_visibility
9.118 --strict_wchar_size, --no_strict_wchar_size
Non-ConfidentialPDF file icon PDF versionARM DUI0377G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.