[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