libllvm: update from 13.0.1 to 14.0.0
This commit is contained in:
parent
757db2c47f
commit
0fe298fd86
|
@ -2,8 +2,8 @@ TERMUX_PKG_HOMEPAGE=https://clang.llvm.org/
|
|||
TERMUX_PKG_DESCRIPTION="Modular compiler and toolchain technologies library"
|
||||
TERMUX_PKG_LICENSE="NCSA"
|
||||
TERMUX_PKG_MAINTAINER="@buttaface"
|
||||
TERMUX_PKG_VERSION=13.0.1
|
||||
TERMUX_PKG_SHA256=326335a830f2e32d06d0a36393b5455d17dc73e0bd1211065227ee014f92cbf8
|
||||
TERMUX_PKG_VERSION=14.0.0
|
||||
TERMUX_PKG_SHA256=35ce9edbc8f774fe07c8f4acdf89ec8ac695c8016c165dd86b8d10e7cba07e23
|
||||
TERMUX_PKG_SRCURL=https://github.com/llvm/llvm-project/releases/download/llvmorg-$TERMUX_PKG_VERSION/llvm-project-$TERMUX_PKG_VERSION.src.tar.xz
|
||||
TERMUX_PKG_HOSTBUILD=true
|
||||
TERMUX_PKG_RM_AFTER_INSTALL="
|
||||
|
@ -20,6 +20,7 @@ TERMUX_PKG_REPLACES="gcc, libclang, libclang-dev, libllvm-dev"
|
|||
TERMUX_PKG_GROUPS="base-devel"
|
||||
# See http://llvm.org/docs/CMake.html:
|
||||
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
|
||||
-DANDROID_PLATFORM_LEVEL=$TERMUX_PKG_API_LEVEL
|
||||
-DPYTHON_EXECUTABLE=$(command -v python3)
|
||||
-DLLVM_ENABLE_PIC=ON
|
||||
-DLLVM_ENABLE_PROJECTS=clang;clang-tools-extra;compiler-rt;lld;lldb;openmp;polly
|
||||
|
|
|
@ -2,14 +2,6 @@ diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
|
|||
index 469ef62f1a9d..218f5af748f4 100644
|
||||
--- a/clang/lib/Driver/ToolChain.cpp
|
||||
+++ b/clang/lib/Driver/ToolChain.cpp
|
||||
@@ -374,6 +374,6 @@ StringRef ToolChain::getOSLibName() const {
|
||||
case llvm::Triple::Solaris:
|
||||
return "sunos";
|
||||
default:
|
||||
- return getOS();
|
||||
+ return Triple.isAndroid() ? "android":getOS();
|
||||
}
|
||||
}
|
||||
@@ -632,7 +632,7 @@
|
||||
|
||||
switch (Type) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- a/clang/lib/Driver/ToolChains/Linux.cpp 2019-12-21 22:30:03.676720096 +0000
|
||||
+++ b/clang/lib/Driver/ToolChains/Linux.cpp 2019-12-21 22:34:42.941719383 +0000
|
||||
@@ -162,8 +162,8 @@ static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
|
||||
--- a/clang/lib/Driver/ToolChains/Linux.cpp
|
||||
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
|
||||
@@ -162,8 +162,8 @@
|
||||
// FIXME: This is a bit of a hack. We should really unify this code for
|
||||
// reasoning about oslibdir spellings with the lib dir spellings in the
|
||||
// GCCInstallationDetector, but that is a more significant refactoring.
|
||||
|
@ -11,7 +11,7 @@
|
|||
return "lib32";
|
||||
|
||||
if (Triple.getArch() == llvm::Triple::x86_64 && Triple.isX32())
|
||||
@@ -403,7 +403,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
@@ -287,7 +287,7 @@
|
||||
if (Triple.getVendor() == llvm::Triple::OpenEmbedded &&
|
||||
Triple.isArch64Bit())
|
||||
addPathIfExists(D, SysRoot + "/usr/" + OSLibDir, Paths);
|
||||
|
@ -20,13 +20,17 @@
|
|||
addPathIfExists(D, SysRoot + "/usr/lib/../" + OSLibDir, Paths);
|
||||
if (IsRISCV) {
|
||||
StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
|
||||
@@ -447,11 +447,19 @@
|
||||
@@ -302,7 +302,7 @@
|
||||
// searched.
|
||||
// FIXME: It's not clear whether we should use the driver's installed
|
||||
// directory ('Dir' below) or the ResourceDir.
|
||||
- if (StringRef(D.Dir).startswith(SysRoot))
|
||||
+ if (StringRef(D.Dir).startswith(SysRoot) && !IsAndroid)
|
||||
- if (StringRef(D.Dir).startswith(SysRoot)) {
|
||||
+ if (StringRef(D.Dir).startswith(SysRoot) && !IsAndroid) {
|
||||
// Even if OSLibDir != "lib", this is needed for Clang in the build
|
||||
// directory (not installed) to find libc++.
|
||||
addPathIfExists(D, D.Dir + "/../lib", Paths);
|
||||
@@ -311,7 +311,15 @@
|
||||
}
|
||||
|
||||
addPathIfExists(D, SysRoot + "/lib", Paths);
|
||||
- addPathIfExists(D, SysRoot + "/usr/lib", Paths);
|
||||
|
@ -41,4 +45,4 @@
|
|||
+ }
|
||||
}
|
||||
|
||||
ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const {
|
||||
ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const {
|
||||
|
|
|
@ -6,7 +6,7 @@ lib/clang/*/include/fuzzer/FuzzedDataProvider.h
|
|||
lib/clang/*/include/profile/InstrProfData.inc
|
||||
lib/clang/*/include/sanitizer/
|
||||
lib/clang/*/include/xray/
|
||||
lib/clang/*/lib/android/
|
||||
lib/clang/*/lib/linux/
|
||||
lib/clang/*/share/asan_ignorelist.txt
|
||||
lib/clang/*/share/cfi_ignorelist.txt
|
||||
lib/clang/*/share/hwasan_ignorelist.txt
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
lldb wants to serialize a FILE, so pass it the header with the size now that it's an opaque
|
||||
struct.
|
||||
|
||||
diff --git a/lldb/source/API/SBReproducerPrivate.h b/lldb/source/API/SBReproducerPrivate.h
|
||||
index 02ac31c2ad89..0ec65e63fffe 100644
|
||||
--- a/lldb/source/API/SBReproducerPrivate.h
|
||||
+++ b/lldb/source/API/SBReproducerPrivate.h
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "lldb/Utility/ReproducerProvider.h"
|
||||
|
||||
#include "llvm/ADT/DenseMap.h"
|
||||
+#include <bits/struct_file.h>
|
||||
|
||||
#define LLDB_GET_INSTRUMENTATION_DATA() \
|
||||
lldb_private::repro::InstrumentationData::Instance()
|
|
@ -50,7 +50,7 @@ LDFLAGS="-L${prefix}/lib"
|
|||
LIBFILE="${prefix}/lib/libLLVM-$version.so"
|
||||
components="aarch64 aarch64asmparser aarch64codegen aarch64desc \
|
||||
aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets amdgpu \
|
||||
amdgpuasmparser amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgpuutils \
|
||||
amdgpuasmparser amdgpucodegen amdgpudesc amdgpudisassembler amdgpuinfo amdgputargetmca amdgpuutils \
|
||||
analysis arc arccodegen arcdesc arcdissembler arcinfo arm armasmparser armcodegen armdesc \
|
||||
armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc \
|
||||
avrdisassembler avrinfo binaryformat bitreader bitstreamreader bitwriter bpf bpfasmparser \
|
||||
|
@ -74,7 +74,7 @@ systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformuti
|
|||
vecodegen vedesc vedisassembler veinfo vectorize webassembly \
|
||||
webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler \
|
||||
webassemblyinfo webassemblyutils windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info \
|
||||
xcore xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray"
|
||||
x86targetmca xcore xcorecodegen xcoredesc xcoredisassembler xcoreinfo xray"
|
||||
static_libs="-lLLVMObjectYAML -lLLVMDlltoolDriver -lLLVMLineEditor -lLLVMFuzzMutate \
|
||||
-lLLVMCoroutines -lLLVMLTO -lLLVMPasses -lLLVMObjCARCOpts -lLLVMTextAPI -lLLVMCoverage \
|
||||
-lLLVMXRay -lLLVMInterpreter -lLLVMRemarks -lLLVMMIRParser -lLLVMDWP -lLLVMSymbolize -lLLVMDebugInfoPDB \
|
||||
|
@ -85,7 +85,7 @@ static_libs="-lLLVMObjectYAML -lLLVMDlltoolDriver -lLLVMLineEditor -lLLVMFuzzMut
|
|||
-lLLVMAVRDisassembler -lLLVMAVRInfo -lLLVMRISCVDisassembler -lLLVMRISCVCodeGen -lLLVMRISCVAsmParser \
|
||||
-lLLVMRISCVDesc -lLLVMRISCVInfo -lLLVMXCoreDisassembler -lLLVMXCoreCodeGen \
|
||||
-lLLVMXCoreDesc -lLLVMXCoreInfo -lLLVMX86Disassembler -lLLVMX86CodeGen -lLLVMX86AsmParser \
|
||||
-lLLVMX86Desc -lLLVMX86Info -lLLVMWebAssemblyDisassembler \
|
||||
-lLLVMX86Desc -lLLVMX86Info -lLLVMX86TargetMCA -lLLVMWebAssemblyDisassembler \
|
||||
-lLLVMWebAssemblyCodeGen -lLLVMWebAssemblyDesc -lLLVMWebAssemblyAsmParser \
|
||||
-lLLVMWebAssemblyUtils -lLLVMWebAssemblyInfo -lLLVMSystemZDisassembler -lLLVMSystemZCodeGen \
|
||||
-lLLVMSystemZAsmParser -lLLVMSystemZDesc -lLLVMSystemZInfo -lLLVMSparcDisassembler \
|
||||
|
@ -101,7 +101,7 @@ static_libs="-lLLVMObjectYAML -lLLVMDlltoolDriver -lLLVMLineEditor -lLLVMFuzzMut
|
|||
-lLLVMARMCodeGen -lLLVMARMAsmParser -lLLVMARMDesc -lLLVMARMInfo -lLLVMARMUtils \
|
||||
-lLLVMAMDGPUDisassembler -lLLVMAMDGPUCodeGen -lLLVMipo -lLLVMInstrumentation \
|
||||
-lLLVMVectorize -lLLVMLinker -lLLVMIRReader -lLLVMAsmParser -lLLVMAMDGPUAsmParser \
|
||||
-lLLVMAMDGPUDesc -lLLVMAMDGPUInfo -lLLVMAMDGPUUtils -lLLVMLibDriver -lLLVMOption \
|
||||
-lLLVMAMDGPUDesc -lLLVMAMDGPUInfo -lLLVMAMDGPUTargetMCA -lLLVMAMDGPUUtils -lLLVMLibDriver -lLLVMOption \
|
||||
-lLLVMWindowsManifest -lLLVMAArch64Disassembler -lLLVMMCDisassembler \
|
||||
-lLLVMAArch64AsmParser -lLLVMMCJIT -lLLVMTableGen -lLLVMOrcJIT -lLLVMOrcTargetProcess -lLLVMOrcShared -lLLVMExecutionEngine \
|
||||
-lLLVMRuntimeDyld -lLLVMBitstreamReader -lLLVMCFGuard -lLLVMFrontendOpenACC -lLLVMExtensions -lLLVMDWARFLinker \
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
--- a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp 2022-03-14 09:44:55.000000000 +0000
|
||||
+++ b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp 2022-04-06 11:14:07.627066038 +0000
|
||||
@@ -286,7 +286,7 @@
|
||||
uintptr_t SlabSize = 0;
|
||||
uintptr_t CurrentSlabOffset = 0;
|
||||
SectionIDMap *SecIDMap = nullptr;
|
||||
-#if defined(__x86_64__) && defined(__ELF__) && defined(__linux__)
|
||||
+#if defined(__x86_64__) && defined(__ELF__) && defined(__linux__) && !defined(__ANDROID__)
|
||||
unsigned UsedTLSStorage = 0;
|
||||
#endif
|
||||
};
|
||||
@@ -350,7 +350,7 @@
|
||||
|
||||
// In case the execution needs TLS storage, we define a very small TLS memory
|
||||
// area here that will be used in allocateTLSSection().
|
||||
-#if defined(__x86_64__) && defined(__ELF__) && defined(__linux__)
|
||||
+#if defined(__x86_64__) && defined(__ELF__) && defined(__linux__) && !defined(__ANDROID__)
|
||||
extern "C" {
|
||||
alignas(16) __attribute__((visibility("hidden"), tls_model("initial-exec"),
|
||||
used)) thread_local char LLVMRTDyldTLSSpace[16];
|
||||
@@ -361,7 +361,7 @@
|
||||
TrivialMemoryManager::allocateTLSSection(uintptr_t Size, unsigned Alignment,
|
||||
unsigned SectionID,
|
||||
StringRef SectionName) {
|
||||
-#if defined(__x86_64__) && defined(__ELF__) && defined(__linux__)
|
||||
+#if defined(__x86_64__) && defined(__ELF__) && defined(__linux__) && !defined(__ANDROID__)
|
||||
if (Size + UsedTLSStorage > sizeof(LLVMRTDyldTLSSpace)) {
|
||||
return {};
|
||||
}
|
|
@ -11,3 +11,4 @@ bin/yaml-bench
|
|||
share/man/man1/FileCheck.1.gz
|
||||
"
|
||||
TERMUX_SUBPKG_DESCRIPTION="LLVM Development Tools"
|
||||
TERMUX_SUBPKG_DEPENDS="libc++, ncurses, zlib"
|
||||
|
|
Loading…
Reference in New Issue