diff options
author | Prabhu Rajasekaran <prabhukr@google.com> | 2025-04-30 12:14:58 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-30 12:14:58 -0700 |
commit | 1531dfcb3a953b7b3187bca7e58e4e18def58d7d (patch) | |
tree | 5cbebe361b163ce4c1786014a0004d0832057a16 /llvm/unittests | |
parent | ea0e6e33835fe9fada89f77cc3a6cd74eb690067 (diff) | |
download | llvm-1531dfcb3a953b7b3187bca7e58e4e18def58d7d.zip llvm-1531dfcb3a953b7b3187bca7e58e4e18def58d7d.tar.gz llvm-1531dfcb3a953b7b3187bca7e58e4e18def58d7d.tar.bz2 |
[llvm] Linker flags for UEFI (#137878)
Use appropriate linker flag format to match PE spec for UEFI.
Diffstat (limited to 'llvm/unittests')
-rw-r--r-- | llvm/unittests/IR/ManglerTest.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/unittests/IR/ManglerTest.cpp b/llvm/unittests/IR/ManglerTest.cpp index a2b4e81..bced6ff 100644 --- a/llvm/unittests/IR/ManglerTest.cpp +++ b/llvm/unittests/IR/ManglerTest.cpp @@ -134,6 +134,27 @@ TEST(ManglerTest, WindowsX64) { "?vectorcall"); } +TEST(ManglerTest, UEFIX64) { + LLVMContext Ctx; + DataLayout DL("e-m:w-p270:32:32-p271:32:32-p272:64:64-" + "i64:64-i128:128-f80:128-n8:16:32:64-S128"); // uefi X86_64 + Module Mod("test", Ctx); + Mod.setDataLayout(DL); + Mangler Mang; + EXPECT_EQ(mangleStr("foo", Mang, DL), "foo"); + EXPECT_EQ(mangleStr("\01foo", Mang, DL), "foo"); + EXPECT_EQ(mangleStr("?foo", Mang, DL), "?foo"); + EXPECT_EQ(mangleFunc("foo", llvm::GlobalValue::ExternalLinkage, + llvm::CallingConv::C, Mod, Mang), + "foo"); + EXPECT_EQ(mangleFunc("?foo", llvm::GlobalValue::ExternalLinkage, + llvm::CallingConv::C, Mod, Mang), + "?foo"); + EXPECT_EQ(mangleFunc("foo", llvm::GlobalValue::PrivateLinkage, + llvm::CallingConv::C, Mod, Mang), + ".Lfoo"); +} + TEST(ManglerTest, XCOFF) { LLVMContext Ctx; DataLayout DL("m:a"); // XCOFF/AIX |