[llvm] [ARMAsmBackend] Add checks for relocation addends in assembler (PR #109969)

Oliver Stannard via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 26 01:12:42 PDT 2024


================
@@ -579,13 +579,24 @@ unsigned ARMAsmBackend::adjustFixupValue(const MCAssembler &Asm,
   case ARM::fixup_arm_uncondbl:
   case ARM::fixup_arm_condbl:
   case ARM::fixup_arm_blx:
+    // Check that the fixup value is legal.
+    Value = Value - 8;
+    if (!isInt<25>(Value)) {
----------------
ostannard wrote:

Should this be `isInt<26>`? The ARM B/BL/BLX instructions take a 2's complement 24-bit immediate, left-shifted by 2.

https://github.com/llvm/llvm-project/pull/109969


More information about the llvm-commits mailing list