HomePhabricator

[ELF] Error on relocations to local undefined symbols

Description

[ELF] Error on relocations to local undefined symbols

For a reference to a local symbol, ld.bfd and gold error if the symbol
is defined in a discarded section but accept it if the symbol is
undefined. This inconsistent behavior seems unnecessary for us (it
probably makes sense for them as they differentiate local/global
symbols, the error would mean more code).

Weaken the condition to getSymbol(Config->IsMips64EL) == 0 to catch such
errors. The symbol index can be 0 (e.g. R_*_NONE R_ARM_V4BX) and we shouldn't error on them.

Reviewed By: ruiu

Differential Revision: https://reviews.llvm.org/D61563

Details

Committed
MaskRayMay 20 2019, 4:25 AM
Reviewer
ruiu
Differential Revision
D61563: [ELF] Error on relocations to local undefined symbols
Branches
Unknown
Tags
Unknown