Add upstream patch D98574 to fix clang macro definitions on sparc64

This commit is contained in:
John Paul Adrian Glaubitz 2021-03-13 12:29:16 +01:00
parent b695a3b11f
commit e6e5801609
3 changed files with 47 additions and 0 deletions

4
debian/changelog vendored
View File

@ -1,9 +1,13 @@
llvm-toolchain-snapshot (1:13~++20210218085556+fcdef15d77bd-1~exp1) UNRELEASED; urgency=medium
[ Sylvestre Ledru ]
* New snapshot release
* "run-clang-tidy" install it
* Only enable libomp-13-doc on supported archs
[ John Paul Adrian Glaubitz ]
* Add upstream patch D98574 to fix clang macro definitions on sparc64
-- Sylvestre Ledru <sylvestre@debian.org> Thu, 18 Feb 2021 08:59:36 +0100
llvm-toolchain-snapshot (1:13~++20210129063721+010b176cdefb-1~exp2) experimental; urgency=medium

40
debian/patches/D98574.patch vendored Normal file
View File

@ -0,0 +1,40 @@
--- llvm-toolchain-snapshot-13~++20210129063721+010b176cdefb.orig/clang/lib/Basic/Targets/Sparc.cpp
+++ llvm-toolchain-snapshot-13~++20210129063721+010b176cdefb/clang/lib/Basic/Targets/Sparc.cpp
@@ -156,9 +156,12 @@ void SparcV8TargetInfo::getTargetDefines
Builder.defineMacro("__sparcv8__");
break;
case CG_V9:
- Builder.defineMacro("__sparcv9");
- Builder.defineMacro("__sparcv9__");
Builder.defineMacro("__sparc_v9__");
+ // Linux doesn't need these variants, but the BSDs do.
+ if (getTriple().getOS() != llvm::Triple::Linux) {
+ Builder.defineMacro("__sparcv9");
+ Builder.defineMacro("__sparcv9__");
+ }
break;
}
}
@@ -239,13 +242,17 @@ void SparcV8TargetInfo::getTargetDefines
void SparcV9TargetInfo::getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const {
SparcTargetInfo::getTargetDefines(Opts, Builder);
- Builder.defineMacro("__sparcv9");
Builder.defineMacro("__arch64__");
- // Solaris doesn't need these variants, but the BSDs do.
- if (getTriple().getOS() != llvm::Triple::Solaris) {
- Builder.defineMacro("__sparc64__");
+ if (getTriple().getOS() == llvm::Triple::Linux) {
Builder.defineMacro("__sparc_v9__");
- Builder.defineMacro("__sparcv9__");
+ } else {
+ Builder.defineMacro("__sparcv9");
+ // Solaris doesn't need these variants, but the BSDs do.
+ if (getTriple().getOS() != llvm::Triple::Solaris) {
+ Builder.defineMacro("__sparc64__");
+ Builder.defineMacro("__sparc_v9__");
+ Builder.defineMacro("__sparcv9__");
+ }
}
Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");

View File

@ -121,6 +121,9 @@ bootstrap-fix-include-next.diff
# riscv64
risc/clang-riscv64-multiarch.diff
# sparc64
D98574.patch
# Compiler-rt - workaround
workaround-bug-42994-use-linker.diff