[llvm] [BOLT] Move target-specific relocation logic into target handlers (PR #217926)

via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 02:15:03 PDT 2026


================
@@ -68,6 +67,20 @@ struct BinaryContextTester : public testing::TestWithParam<Triple::ArchType> {
   std::unique_ptr<ObjectFile> ObjFile;
   std::unique_ptr<BinaryContext> BC;
 };
+
+TEST(RelocationHandlerTest, ArchitectureStateIsIndependent) {
+  std::unique_ptr<RelocationHandler> X86Handler =
+      createRelocationHandler(Triple::x86_64);
+  std::unique_ptr<RelocationHandler> AArch64Handler =
+      createRelocationHandler(Triple::aarch64);
+
+  EXPECT_EQ(X86Handler->getPC32(), ELF::R_X86_64_PC32);
+  EXPECT_EQ(AArch64Handler->getPC32(), ELF::R_AARCH64_PREL32);
+  EXPECT_TRUE(X86Handler->isSupported(ELF::R_X86_64_PC32));
+  EXPECT_FALSE(X86Handler->isSupported(ELF::R_AARCH64_CALL26));
+  EXPECT_TRUE(AArch64Handler->isSupported(ELF::R_AARCH64_CALL26));
+  EXPECT_FALSE(AArch64Handler->isSupported(ELF::R_X86_64_PC32));
+}
----------------
maksimra wrote:

Done.

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


More information about the llvm-commits mailing list