[llvm] [JITLink][AArch32] Unittest for error paths of readAddend and applyFixup functionality (PR #69636)

Stefan Gränitz via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 8 08:28:10 PST 2023


================
@@ -192,14 +192,14 @@ template <> struct FixupInfo<Arm_MovwAbsNC> : public FixupInfo<Arm_MovtAbs> {
 };
 
 template <> struct FixupInfo<Thumb_Jump24> {
-  static constexpr HalfWords Opcode{0xf000, 0x8000};
-  static constexpr HalfWords OpcodeMask{0xf800, 0x8000};
+  static constexpr HalfWords Opcode{0xf000, 0x9000};
+  static constexpr HalfWords OpcodeMask{0xf800, 0xd000};
   static constexpr HalfWords ImmMask{0x07ff, 0x2fff};
 };
 
 template <> struct FixupInfo<Thumb_Call> {
-  static constexpr HalfWords Opcode{0xf000, 0xc000};
-  static constexpr HalfWords OpcodeMask{0xf800, 0xc000};
+  static constexpr HalfWords Opcode{0xf000, 0xd000};
+  static constexpr HalfWords OpcodeMask{0xf800, 0xd000};
----------------
weliveindetail wrote:

Call opcode and mask should both remain at `0xC000` because the input object can come with `BL-T1` or `BLX-T2`, so we don't want to check bit0 of the most significant byte in Lo.

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


More information about the llvm-commits mailing list