llvm: update git recipe.

* remove libatomic workaround.
This commit is contained in:
Jerome Duval
2016-04-13 07:09:41 +00:00
parent 9b487a7fe3
commit 9d6dd85417
3 changed files with 38 additions and 63 deletions

View File

@@ -32,18 +32,18 @@ HOMEPAGE="http://www.llvm.org/"
COPYRIGHT="2003-2014 University of Illinois at Urbana-Champaign"
LICENSE="UIUC"
REVISION="1"
llvmSrcGitRev="78886ec7e2107e36add101314798cf2e308cdc24"
clangSrcGitRev="020f6f6bdd62ba4c3be4c435bb223c3638339d1a"
clangToolsExtraSrcGitRev="56faca015513475b13b2784fb82d05563fe72cec"
llvmSrcGitRev="4bd700523785848b3ee9c50da1b9fde52057be74"
clangSrcGitRev="37b403d7009e66f7f040faffd979122acabaa693"
clangToolsExtraSrcGitRev="75181d5ed02edc05452fd849bfdb52b3a132872f"
SOURCE_URI="https://github.com/llvm-mirror/llvm/archive/$llvmSrcGitRev.tar.gz"
SOURCE_URI_2="https://github.com/llvm-mirror/clang/archive/$clangSrcGitRev.tar.gz"
SOURCE_URI_3="https://github.com/llvm-mirror/clang-tools-extra/archive/$clangToolsExtraSrcGitRev.tar.gz"
SOURCE_FILENAME="llvm-${llvmSrcGitRev}.tar.gz"
SOURCE_FILENAME_2="clang-${clangSrcGitRev}.tar.gz"
SOURCE_FILENAME_3="clang-tools-extra-${clangToolsExtraSrcGitRev}.tar.gz"
CHECKSUM_SHA256="9594308ff2a9f8f989f6835cdf98a11886564f169a984a33d0200c813b090ec8"
CHECKSUM_SHA256_2="77c8bef243614dc1bbf1760249ff6a48fbcfafa9d4d05074b7082a3fb85e8957"
CHECKSUM_SHA256_3="c7e91b48866d136245849dcd4a8e9d3ca2743cbc6582b634f57a06db098bc8fd"
CHECKSUM_SHA256="2baf3ef1ce752bc10d806f53302c0cb73a47bcd38f06d81c70a8b97c76852fe5"
CHECKSUM_SHA256_2="3ee7b50ca756bea61de6f23905da04a4865d28829053a274daa013990187b245"
CHECKSUM_SHA256_3="5dbf67dbb0720056ea29f6b585ee6fa18c1d2f2632437f4f75e6a5a93791dc18"
SOURCE_DIR="llvm-$llvmSrcGitRev"
SOURCE_DIR_2="clang-$clangSrcGitRev"
SOURCE_DIR_3="clang-tools-extra-$clangToolsExtraSrcGitRev"

View File

@@ -1,4 +1,4 @@
From beedec1421bd9f6b0b47c737cc8645c4ac846fc9 Mon Sep 17 00:00:00 2001
From 459637c4df935cb42b44a2c2ba2588f1cc1aedc8 Mon Sep 17 00:00:00 2001
From: Alexander von Gluck IV <kallisti5@unixzen.com>
Date: Sun, 1 Feb 2015 15:13:57 +0000
Subject: haiku: fix header search paths
@@ -12,7 +12,7 @@ index 26bab0d..6066d2b 100644
+++ b/lib/Frontend/InitHeaderSearch.cpp
@@ -267,38 +267,41 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple,
}
case llvm::Triple::Haiku:
- AddPath("/boot/common/include", System, false);
- AddPath("/boot/develop/headers/os", System, false);
@@ -84,11 +84,11 @@ index 26bab0d..6066d2b 100644
break;
case llvm::Triple::RTEMS:
break;
--
--
2.2.2
From 4d40e94790e30c03090121b10e178d5f73598ecb Mon Sep 17 00:00:00 2001
From 0115888596994260188bcb7cfe46ac43bc2fb138 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Tue, 22 Dec 2015 22:07:06 +0000
Subject: don't include c++ headers in C include search paths.
@@ -116,7 +116,7 @@ index 902338b..a9a11dc 100644
@@ -2992,6 +2992,34 @@ SanitizerMask CloudABI::getDefaultSanitizers() const {
return SanitizerKind::SafeStack;
}
+/// Haiku - Haiku tool chain which can call as(1) and ld(1) directly.
+
+Haiku::Haiku(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
@@ -146,7 +146,7 @@ index 902338b..a9a11dc 100644
+}
+
/// OpenBSD - OpenBSD tool chain which can call as(1) and ld(1) directly.
OpenBSD::OpenBSD(const Driver &D, const llvm::Triple &Triple,
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
index e799217..6c4f03b 100644
@@ -155,7 +155,7 @@ index e799217..6c4f03b 100644
@@ -678,6 +678,18 @@ private:
void findGccLibDir();
};
+class LLVM_LIBRARY_VISIBILITY Haiku : public Generic_ELF {
+public:
+ Haiku(const Driver &D, const llvm::Triple &Triple,
@@ -184,24 +184,24 @@ index 6066d2b..d8f0881 100644
AddPath("/boot/system/develop/headers/3rdparty", System, false);
AddPath("/boot/system/develop/headers/bsd", System, false);
AddPath("/boot/system/develop/headers/glibc", System, false);
--
--
2.2.2
From 3129de52da2ecdc2fe014e0d2240d81fe6b05d7c Mon Sep 17 00:00:00 2001
From 8467d9e526766e7d41215ea2880fa79418798c3c Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 14 Jan 2016 19:19:14 +0000
Subject: add Haiku target info for x86_64
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index be1afce..fd3c0ba 100644
index 7639b04..1713133 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -377,6 +377,29 @@ public:
: OSTargetInfo<Target>(Triple, CGOpts) {}
@@ -375,6 +375,29 @@ public:
: OSTargetInfo<Target>(Triple, Opts) {}
};
+// Haiku Target
+template<typename Target>
+class HaikuTargetInfo : public OSTargetInfo<Target> {
@@ -214,8 +214,8 @@ index be1afce..fd3c0ba 100644
+ DefineStd(Builder, "unix", Opts);
+ }
+public:
+ HaikuTargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts)
+ : OSTargetInfo<Target>(Triple, CGOpts) {
+ HaikuTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
+ : OSTargetInfo<Target>(Triple, Opts) {
+ this->SizeType = TargetInfo::UnsignedLong;
+ this->IntPtrType = TargetInfo::SignedLong;
+ this->PtrDiffType = TargetInfo::SignedLong;
@@ -228,23 +228,21 @@ index be1afce..fd3c0ba 100644
// Minix Target
template<typename Target>
class MinixTargetInfo : public OSTargetInfo<Target> {
@@ -3993,22 +4016,15 @@ public:
@@ -3983,21 +4006,15 @@ public:
};
// x86-32 Haiku target
-class HaikuX86_32TargetInfo : public X86_32TargetInfo {
+class HaikuX86_32TargetInfo : public HaikuTargetInfo<X86_32TargetInfo> {
public:
- HaikuX86_32TargetInfo(const llvm::Triple &Triple,
- const CodeGenOptions &CGOpts)
- : X86_32TargetInfo(Triple, CGOpts) {
HaikuX86_32TargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)
- : X86_32TargetInfo(Triple, Opts) {
- SizeType = UnsignedLong;
- IntPtrType = SignedLong;
- PtrDiffType = SignedLong;
- ProcessIDType = SignedLong;
- this->TLSSupported = false;
+ HaikuX86_32TargetInfo(const llvm::Triple &Triple, const CodeGenOptions &CGOpts)
+ : HaikuTargetInfo<X86_32TargetInfo>(Triple, CGOpts) {
+ : HaikuTargetInfo<X86_32TargetInfo>(Triple, Opts) {
}
void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const override {
@@ -254,30 +252,30 @@ index be1afce..fd3c0ba 100644
- Builder.defineMacro("__HAIKU__");
}
};
@@ -4783,7 +4799,7 @@ public:
@@ -4770,7 +4787,7 @@ public:
} else if (Feature == "+dsp") {
DSP = 1;
} else if (Feature == "+fp-only-sp") {
- HW_FP_remove |= HW_FP_DP;
- HW_FP_remove |= HW_FP_DP;
+ HW_FP_remove |= HW_FP_DP;
} else if (Feature == "+strict-align") {
Unaligned = 0;
} else if (Feature == "+fp16") {
@@ -8238,6 +8254,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple,
return new MicrosoftX86_64TargetInfo(Triple, CGOpts);
@@ -8225,6 +8242,8 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple,
return new MicrosoftX86_64TargetInfo(Triple, Opts);
}
}
+ case llvm::Triple::Haiku:
+ return new HaikuTargetInfo<X86_64TargetInfo>(Triple, CGOpts);
+ return new HaikuTargetInfo<X86_64TargetInfo>(Triple, Opts);
case llvm::Triple::NaCl:
return new NaClTargetInfo<X86_64TargetInfo>(Triple, CGOpts);
return new NaClTargetInfo<X86_64TargetInfo>(Triple, Opts);
case llvm::Triple::PS4:
--
--
2.2.2
From fb95b90fc6392ab2fdeffdf6920d2105731a98e9 Mon Sep 17 00:00:00 2001
From 7e065cba77bf166d2dfabf15943e65f408922fe0 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 7 Apr 2016 18:30:52 +0000
Subject: add a test for haiku driver.
@@ -290,7 +288,7 @@ index a9a11dc..0bd3251 100644
+++ b/lib/Driver/ToolChains.cpp
@@ -3006,6 +3006,10 @@ void Haiku::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
return;
switch (GetCXXStdlibType(DriverArgs)) {
+ case ToolChain::CST_Libcxx:
+ addSystemInclude(DriverArgs, CC1Args,
@@ -317,6 +315,6 @@ index 0000000..9591739
+// CHECK-X86: clang{{.*}}" "-cc1" "-triple" "i586-pc-haiku"
+// CHECK-X86: gcc{{.*}}" "-o" "a.out" "{{.*}}.o"
+
--
--
2.2.2

View File

@@ -1,4 +1,4 @@
From 20048e8134f8b14aa1ebed173990600476a31706 Mon Sep 17 00:00:00 2001
From 2f0a97bebdd47be657fd459e09ab632fc1d4d141 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 20 Jan 2016 21:13:28 +0000
Subject: llvm-config: use /develop/headers instead of /include
@@ -45,26 +45,3 @@ index 94d426b..2942242 100644
--
2.2.2
From c7c19a37f2c7bac448f2a9c290e8104090e3b171 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Wed, 24 Feb 2016 22:46:03 +0000
Subject: patch cmake build for Haiku.
diff --git a/cmake/modules/CheckAtomic.cmake b/cmake/modules/CheckAtomic.cmake
index 551de6a..d43fd7b 100644
--- a/cmake/modules/CheckAtomic.cmake
+++ b/cmake/modules/CheckAtomic.cmake
@@ -32,8 +32,6 @@ if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
message(FATAL_ERROR "Host compiler must support std::atomic!")
endif()
- else()
- message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
endif()
endif()
endif()
--
2.2.2