Checks whether or not a mapping symbol type matches an ABI symbol type.
--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
In the following assembler code the symbol
sym has type
STT_FUNC and is A32 (ARM):
.section mycode,"x" .word sym + 4 .code 32 .type sym, "function" sym: mov r0, r0 .code 16 mov r0, r0 .end
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 (Thumb).
- In ABI linkers the type of the symbol is the state of the location of symbol plus the offset.