changes:
- BLX: The Arm architecture versions that support the branch and link instruction (BLX), can rewrite BLs in place when a state change from Arm<->Thumb is required. Armv4T does not have BLX and so needs thunks for state changes.
- v4T Thumb long branches needed their own thunk. We could have used the v6M implementation, but v6M doesn't have Arm state and must resolve to rather inefficient stack reshuffling. We also can't reuse v7 thumb thunks as they use MOVV/MOVT, which wasn't available yet for v4T.
- Remove the `lack of BLX' warning. LLVM only supports Arm Architecture versions upwards of v4, which we now all support in LLD.
- renamed existing thunks to better reflect their use: ARMV5ABSLongThunk -> ARMV5LongLdrPcThunk, ARMV5PILongThunk -> ARMV4PILongThunk
- removed isCompatibleWith method from ARMV5ABSLongThunk and ARMV5PILongThunk, as they were identical to the ARMThunk parent class implementation.
Support for (efficient) position independent thunks for v4T will be added in a
follow-up patch, including possible related thunk renaming and code comment
cleanup.
Is this extra new line intentional?