https://github.com/bylaws created https://github.com/llvm/llvm-project/pull/78913
This is required so that the linker knows that any symbols defined in assembly code are ARM64EC rather than X86_64. CC: @cjacek >From 4e2390bd8ec88af0bae6bb4fa99ebef1f966849a Mon Sep 17 00:00:00 2001 From: Billy Laws <blaw...@gmail.com> Date: Tue, 19 Sep 2023 18:03:41 +0100 Subject: [PATCH] [Clang][AArch64] Define __USER_LABEL_PREFIX__ to # for ARM64EC This is required so that the linker knows that any symbols defined in assembly code are ARM64EC rather than X86_64. --- clang/lib/Basic/Targets/AArch64.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/clang/lib/Basic/Targets/AArch64.cpp b/clang/lib/Basic/Targets/AArch64.cpp index d47181bfca4fc8..4f57c30279a91f 100644 --- a/clang/lib/Basic/Targets/AArch64.cpp +++ b/clang/lib/Basic/Targets/AArch64.cpp @@ -1462,10 +1462,12 @@ WindowsARM64TargetInfo::WindowsARM64TargetInfo(const llvm::Triple &Triple, } void WindowsARM64TargetInfo::setDataLayout() { - resetDataLayout(Triple.isOSBinFormatMachO() - ? "e-m:o-i64:64-i128:128-n32:64-S128" - : "e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128", - Triple.isOSBinFormatMachO() ? "_" : ""); + if (Triple.isOSBinFormatMachO()) { + resetDataLayout("e-m:o-i64:64-i128:128-n32:64-S128", "_"); + } else { + resetDataLayout("e-m:w-p:64:64-i32:32-i64:64-i128:128-n32:64-S128", + Triple.isWindowsArm64EC() ? "#" : ""); + } } TargetInfo::BuiltinVaListKind _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits