You copied the Doc URL to your clipboard.

--strict_symbols, --no_strict_symbols

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 only 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.

Was this page helpful? Yes No