--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.
In the following assembler code the symbol
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
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.