-
Ben Gamari authored
This refactors handling of R_ARM_CALL, R_ARM_JUMP24, R_ARM_MOVW_NC, and R_ARM_MOVT relocations to follow the LLVM LLD implementation. The "ELF for ARM" specification is (like most documents of this type, sadly) a bit vague in some areas, so it seems safest to follow the behavior of a trusted implementation like LLD, which is remarkable in its clarity.. Moreover, we now throw a proper error message when a jump to a symbol extra is out of range. This is great improvement over the previous behavior, which ended in a segfault. See #11340. Differential Revision: https://phabricator.haskell.org/D1728
d159a51b