--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 A32 (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 T32 (Thumb).
In ABI linkers the type of the symbol is the state of the location of symbol plus the offset.