diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6f52658..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/llvm-5.0.0.src.tar.xz -/llvm-5.0.1.src.tar.xz diff --git a/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch b/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch deleted file mode 100644 index 0ad05d4..0000000 --- a/0001-CMake-Fix-pthread-handling-for-out-of-tree-builds.patch +++ /dev/null @@ -1,193 +0,0 @@ -From a61fc423f3c043314efd4c0cdb1367de2077ac36 Mon Sep 17 00:00:00 2001 -From: Eric Fiselier -Date: Fri, 10 Feb 2017 01:59:20 +0000 -Subject: [PATCH] [CMake] Fix pthread handling for out-of-tree builds - -LLVM defines `PTHREAD_LIB` which is used by AddLLVM.cmake and various projects -to correctly link the threading library when needed. Unfortunately -`PTHREAD_LIB` is defined by LLVM's `config-ix.cmake` file which isn't installed -and therefore can't be used when configuring out-of-tree builds. This causes -such builds to fail since `pthread` isn't being correctly linked. - -This patch attempts to fix that problem by renaming and exporting -`LLVM_PTHREAD_LIB` as part of`LLVMConfig.cmake`. I renamed `PTHREAD_LIB` -because It seemed likely to cause collisions with downstream users of -`LLVMConfig.cmake`. - - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294690 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - cmake/config-ix.cmake | 2 +- - cmake/modules/AddLLVM.cmake | 6 +++--- - cmake/modules/LLVMConfig.cmake.in | 4 ++++ - examples/ParallelJIT/CMakeLists.txt | 2 +- - lib/CodeGen/CMakeLists.txt | 2 +- - lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt | 2 +- - lib/Fuzzer/CMakeLists.txt | 4 ++-- - lib/Support/CMakeLists.txt | 2 +- - unittests/ExecutionEngine/Orc/CMakeLists.txt | 2 +- - unittests/Support/CMakeLists.txt | 2 +- - utils/unittest/CMakeLists.txt | 4 ++-- - 11 files changed, 18 insertions(+), 14 deletions(-) - -diff --git a/cmake/config-ix.cmake b/cmake/config-ix.cmake -index 50bcc50..6bd2b53 100755 ---- a/cmake/config-ix.cmake -+++ b/cmake/config-ix.cmake -@@ -115,7 +115,7 @@ if(HAVE_LIBPTHREAD) - set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - set(THREADS_HAVE_PTHREAD_ARG Off) - find_package(Threads REQUIRED) -- set(PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT}) -+ set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT}) - endif() - - # Don't look for these libraries on Windows. Also don't look for them if we're -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index b3c7746..cb4171c 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -718,11 +718,11 @@ macro(add_llvm_executable name) - if(NOT ARG_IGNORE_EXTERNALIZE_DEBUGINFO) - llvm_externalize_debuginfo(${name}) - endif() -- if (PTHREAD_LIB) -+ if (LLVM_PTHREAD_LIB) - # libpthreads overrides some standard library symbols, so main - # executable must be linked with it in order to provide consistent - # API for all shared libaries loaded by this executable. -- target_link_libraries(${name} ${PTHREAD_LIB}) -+ target_link_libraries(${name} ${LLVM_PTHREAD_LIB}) - endif() - endmacro(add_llvm_executable name) - -@@ -1027,7 +1027,7 @@ function(add_unittest test_suite test_name) - # libpthreads overrides some standard library symbols, so main - # executable must be linked with it in order to provide consistent - # API for all shared libaries loaded by this executable. -- target_link_libraries(${test_name} gtest_main gtest ${PTHREAD_LIB}) -+ target_link_libraries(${test_name} gtest_main gtest ${LLVM_PTHREAD_LIB}) - - add_dependencies(${test_suite} ${test_name}) - get_target_property(test_suite_folder ${test_suite} FOLDER) -diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in -index 2aea2dc..7a8eb36 100644 ---- a/cmake/modules/LLVMConfig.cmake.in -+++ b/cmake/modules/LLVMConfig.cmake.in -@@ -45,6 +45,10 @@ set(LLVM_ENABLE_PIC @LLVM_ENABLE_PIC@) - - set(LLVM_BUILD_32_BITS @LLVM_BUILD_32_BITS@) - -+if (NOT "@LLVM_PTHREAD_LIB@" STREQUAL "") -+ set(LLVM_PTHREAD_LIB "@LLVM_PTHREAD_LIB@") -+endif() -+ - set(LLVM_ENABLE_PLUGINS @LLVM_ENABLE_PLUGINS@) - set(LLVM_EXPORT_SYMBOLS_FOR_PLUGINS @LLVM_EXPORT_SYMBOLS_FOR_PLUGINS@) - set(LLVM_PLUGIN_EXT @LLVM_PLUGIN_EXT@) -diff --git a/examples/ParallelJIT/CMakeLists.txt b/examples/ParallelJIT/CMakeLists.txt -index e85b470..deeee07 100644 ---- a/examples/ParallelJIT/CMakeLists.txt -+++ b/examples/ParallelJIT/CMakeLists.txt -@@ -11,4 +11,4 @@ add_llvm_example(ParallelJIT - ParallelJIT.cpp - ) - --target_link_libraries(ParallelJIT ${PTHREAD_LIB}) -+target_link_libraries(ParallelJIT ${LLVM_PTHREAD_LIB}) -diff --git a/lib/CodeGen/CMakeLists.txt b/lib/CodeGen/CMakeLists.txt -index a1e5fd4..a9a3d85 100644 ---- a/lib/CodeGen/CMakeLists.txt -+++ b/lib/CodeGen/CMakeLists.txt -@@ -150,7 +150,7 @@ add_llvm_library(LLVMCodeGen - ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen - ${LLVM_MAIN_INCLUDE_DIR}/llvm/CodeGen/PBQP - -- LINK_LIBS ${PTHREAD_LIB} -+ LINK_LIBS ${LLVM_PTHREAD_LIB} - - DEPENDS - intrinsics_gen -diff --git a/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt b/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt -index 3b8c4b9..e6c33b2 100644 ---- a/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt -+++ b/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt -@@ -4,7 +4,7 @@ if( HAVE_LIBDL ) - set(LLVM_INTEL_JIT_LIBS ${CMAKE_DL_LIBS}) - endif() - --set(LLVM_INTEL_JIT_LIBS ${PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS}) -+set(LLVM_INTEL_JIT_LIBS ${LLVM_PTHREAD_LIB} ${LLVM_INTEL_JIT_LIBS}) - - - add_llvm_library(LLVMIntelJITEvents -diff --git a/lib/Fuzzer/CMakeLists.txt b/lib/Fuzzer/CMakeLists.txt -index 5ba126e..f490b36 100644 ---- a/lib/Fuzzer/CMakeLists.txt -+++ b/lib/Fuzzer/CMakeLists.txt -@@ -34,12 +34,12 @@ if( LLVM_USE_SANITIZE_COVERAGE ) - add_library(LLVMFuzzerNoMain STATIC - $ - ) -- target_link_libraries(LLVMFuzzerNoMain ${PTHREAD_LIB}) -+ target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB}) - add_library(LLVMFuzzer STATIC - FuzzerMain.cpp - $ - ) -- target_link_libraries(LLVMFuzzer ${PTHREAD_LIB}) -+ target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB}) - - if( LLVM_INCLUDE_TESTS ) - add_subdirectory(test) -diff --git a/lib/Support/CMakeLists.txt b/lib/Support/CMakeLists.txt -index 3301364..f7cfa76 100644 ---- a/lib/Support/CMakeLists.txt -+++ b/lib/Support/CMakeLists.txt -@@ -17,7 +17,7 @@ elseif( CMAKE_HOST_UNIX ) - if( LLVM_ENABLE_THREADS AND HAVE_LIBATOMIC ) - set(system_libs ${system_libs} atomic) - endif() -- set(system_libs ${system_libs} ${PTHREAD_LIB}) -+ set(system_libs ${system_libs} ${LLVM_PTHREAD_LIB}) - if ( LLVM_ENABLE_ZLIB AND HAVE_LIBZ ) - set(system_libs ${system_libs} z) - endif() -diff --git a/unittests/ExecutionEngine/Orc/CMakeLists.txt b/unittests/ExecutionEngine/Orc/CMakeLists.txt -index 68f6d0c..80c344e 100644 ---- a/unittests/ExecutionEngine/Orc/CMakeLists.txt -+++ b/unittests/ExecutionEngine/Orc/CMakeLists.txt -@@ -21,4 +21,4 @@ add_llvm_unittest(OrcJITTests - RPCUtilsTest.cpp - ) - --target_link_libraries(OrcJITTests ${PTHREAD_LIB}) -+target_link_libraries(OrcJITTests ${LLVM_PTHREAD_LIB}) -diff --git a/unittests/Support/CMakeLists.txt b/unittests/Support/CMakeLists.txt -index 4c9bb5e..ea26079 100644 ---- a/unittests/Support/CMakeLists.txt -+++ b/unittests/Support/CMakeLists.txt -@@ -64,4 +64,4 @@ add_llvm_unittest(SupportTests - ) - - # ManagedStatic.cpp uses . --target_link_libraries(SupportTests ${PTHREAD_LIB}) -+target_link_libraries(SupportTests ${LLVM_PTHREAD_LIB}) -diff --git a/utils/unittest/CMakeLists.txt b/utils/unittest/CMakeLists.txt -index a50733a..b42ac83 100644 ---- a/utils/unittest/CMakeLists.txt -+++ b/utils/unittest/CMakeLists.txt -@@ -40,8 +40,8 @@ if (NOT LLVM_ENABLE_THREADS) - add_definitions( -DGTEST_HAS_PTHREAD=0 ) - endif() - --find_library(PTHREAD_LIBRARY_PATH pthread) --if (PTHREAD_LIBRARY_PATH) -+find_library(LLVM_PTHREAD_LIBRARY_PATH pthread) -+if (LLVM_PTHREAD_LIBRARY_PATH) - list(APPEND LIBS pthread) - endif() - --- -1.8.3.1 - diff --git a/0001-CMake-Split-static-library-exports-into-their-own-ex.patch b/0001-CMake-Split-static-library-exports-into-their-own-ex.patch deleted file mode 100644 index 123fb1a..0000000 --- a/0001-CMake-Split-static-library-exports-into-their-own-ex.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 80d3393d3e324dd8bef7de1b9c6db3010585f3e8 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Sat, 29 Apr 2017 02:03:23 +0000 -Subject: [PATCH] CMake: Split static library exports into their own export - file - -Summary: -This is to better support distros which split the static libraries into -their own package. - -The current problem is that any project the includes LLVMConfig.cmake -will fail to configure unless the static libraries are installed. This -is because LLVMConfig.cmake includes LLVMExports.cmake, which throws an -error if it can't find files linked to one of the exported targets. - -This patch resolves the problem by putting the static library targets -into their own export file, LLVMStaticExports.cmake. This file -is optionally included by LLVMConfig.cmake, so distros can put this -new file in their static library package to make LLVMConfig.cmake -no longer depend on these libraries when they are not installed. - -Reviewers: beanz, mgorny, chapuni - -Subscribers: llvm-commits - -Differential Revision: https://reviews.llvm.org/D32668 ---- - cmake/modules/AddLLVM.cmake | 6 +++++- - cmake/modules/CMakeLists.txt | 3 +++ - cmake/modules/LLVMConfig.cmake.in | 2 ++ - 3 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index 1c92265..e1ad9b9 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -603,7 +603,11 @@ macro(add_llvm_library name) - - if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR - NOT LLVM_DISTRIBUTION_COMPONENTS) -- set(export_to_llvmexports EXPORT LLVMExports) -+ if (ARG_SHARED) -+ set(export_to_llvmexports EXPORT LLVMExports) -+ else() -+ set(export_to_llvmexports EXPORT LLVMStaticExports) -+ endif() - set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True) - endif() - -diff --git a/cmake/modules/CMakeLists.txt b/cmake/modules/CMakeLists.txt -index ac4b0b7..f77c905 100644 ---- a/cmake/modules/CMakeLists.txt -+++ b/cmake/modules/CMakeLists.txt -@@ -91,6 +91,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}") - set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin") - set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake") - set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}") -+set(LLVM_CONFIG_STATIC_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMStaticExports.cmake") - configure_file( - LLVMConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake -@@ -107,6 +108,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) - if(llvm_has_exports) - install(EXPORT LLVMExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} - COMPONENT cmake-exports) -+ install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR} -+ COMPONENT cmake-exports) - endif() - - install(FILES -diff --git a/cmake/modules/LLVMConfig.cmake.in b/cmake/modules/LLVMConfig.cmake.in -index 7a8eb36..1fa0028 100644 ---- a/cmake/modules/LLVMConfig.cmake.in -+++ b/cmake/modules/LLVMConfig.cmake.in -@@ -77,6 +77,8 @@ if(NOT TARGET LLVMSupport) - set(LLVM_EXPORTED_TARGETS "@LLVM_CONFIG_EXPORTS@") - include("@LLVM_CONFIG_EXPORTS_FILE@") - @llvm_config_include_buildtree_only_exports@ -+ -+ include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL) - endif() - - set_property(GLOBAL PROPERTY LLVM_TARGETS_CONFIGURED On) --- -1.8.3.1 - diff --git a/0001-Fix-llvm-config-paths-on-Fedora.patch b/0001-Fix-llvm-config-paths-on-Fedora.patch deleted file mode 100644 index d219b13..0000000 --- a/0001-Fix-llvm-config-paths-on-Fedora.patch +++ /dev/null @@ -1,31 +0,0 @@ -From f5602d2183ce07a2e1b6acd9211553bf4e1423c7 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 18 May 2017 12:10:20 -0400 -Subject: [PATCH] Fix llvm-config paths on Fedora - ---- - tools/llvm-config/llvm-config.cpp | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp -index 08b096a..fde29d4 100644 ---- a/tools/llvm-config/llvm-config.cpp -+++ b/tools/llvm-config/llvm-config.cpp -@@ -331,11 +331,9 @@ int main(int argc, char **argv) { - ActiveIncludeOption = - ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include"); - } else { -- ActivePrefix = CurrentExecPrefix; -- ActiveIncludeDir = ActivePrefix + "/include"; -- SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR)); -- sys::fs::make_absolute(ActivePrefix, path); -- ActiveBinDir = path.str(); -+ ActivePrefix = CurrentExecPrefix + ""; -+ ActiveIncludeDir = ActivePrefix + "/../../include/llvm5.0"; -+ ActiveBinDir = ActivePrefix + "/bin"; - ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX; - ActiveCMakeDir = ActiveLibDir + "/cmake/llvm"; - ActiveIncludeOption = "-I" + ActiveIncludeDir; --- -1.8.3.1 - diff --git a/0001-Fix-return-type-in-ORC-readMem-client-interface.patch b/0001-Fix-return-type-in-ORC-readMem-client-interface.patch deleted file mode 100644 index 21f8482..0000000 --- a/0001-Fix-return-type-in-ORC-readMem-client-interface.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5cea35478aaaac7728a50cbafd3770f96162f7ac Mon Sep 17 00:00:00 2001 -From: Tilmann Scheller -Date: Thu, 1 Feb 2018 11:40:01 -0600 -Subject: [PATCH] Fix return type in ORC readMem() client interface. - -GCC 8.0.1 detects the type mismatch and causes the compilation to fail. Clang -and earlier versions of GCC don't detect the issue. - -Fixes rhbz#1540620. ---- - include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -index da02250ba16..bed472e2e0e 100644 ---- a/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -+++ b/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h -@@ -713,8 +713,8 @@ private: - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - -- Expected> readMem(char *Dst, JITTargetAddress Src, -- uint64_t Size) { -+ Expected> readMem(char *Dst, JITTargetAddress Src, -+ uint64_t Size) { - // Check for an 'out-of-band' error, e.g. from an MM destructor. - if (ExistingError) - return std::move(ExistingError); --- -2.16.1 - diff --git a/0001-Ignore-all-duplicate-frame-index-expression.patch b/0001-Ignore-all-duplicate-frame-index-expression.patch deleted file mode 100644 index 25338a1..0000000 --- a/0001-Ignore-all-duplicate-frame-index-expression.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 9848d812bc6a5ecbac4b64b28d580f5f5ce16c4f Mon Sep 17 00:00:00 2001 -From: Bjorn Steinbrink -Date: Tue, 10 Oct 2017 07:46:17 +0000 -Subject: [PATCH 1/2] Ignore all duplicate frame index expression - -Some passes might duplicate calls to llvm.dbg.declare creating -duplicate frame index expression which currently trigger an assertion -which is meant to catch erroneous, overlapping fragment declarations. -But identical frame index expressions are just redundant and don't -actually conflict with each other, so we can be more lenient and just -ignore the duplicates. - -Reviewers: aprantl, rnk - -Subscribers: llvm-commits, JDevlieghere - -Differential Revision: https://reviews.llvm.org/D38540 - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315279 91177308-0d34-0410-b5e6-96231b3b80d8 - -Conflicts: - lib/CodeGen/AsmPrinter/DwarfDebug.h ---- - lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 25 +++++++++++++++++++++++++ - lib/CodeGen/AsmPrinter/DwarfDebug.h | 25 +------------------------ - 2 files changed, 26 insertions(+), 24 deletions(-) - -diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp -index f1b4d9f..90f6f2f 100644 ---- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp -+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp -@@ -206,9 +206,34 @@ ArrayRef DbgVariable::getFrameIndexExprs() const { - return A.Expr->getFragmentInfo()->OffsetInBits < - B.Expr->getFragmentInfo()->OffsetInBits; - }); -+ - return FrameIndexExprs; - } - -+void DbgVariable::addMMIEntry(const DbgVariable &V) { -+ assert(DebugLocListIndex == ~0U && !MInsn && "not an MMI entry"); -+ assert(V.DebugLocListIndex == ~0U && !V.MInsn && "not an MMI entry"); -+ assert(V.Var == Var && "conflicting variable"); -+ assert(V.IA == IA && "conflicting inlined-at location"); -+ -+ assert(!FrameIndexExprs.empty() && "Expected an MMI entry"); -+ assert(!V.FrameIndexExprs.empty() && "Expected an MMI entry"); -+ -+ for (const auto &FIE : V.FrameIndexExprs) -+ // Ignore duplicate entries. -+ if (llvm::none_of(FrameIndexExprs, [&](const FrameIndexExpr &Other) { -+ return FIE.FI == Other.FI && FIE.Expr == Other.Expr; -+ })) -+ FrameIndexExprs.push_back(FIE); -+ -+ assert((FrameIndexExprs.size() == 1 || -+ llvm::all_of(FrameIndexExprs, -+ [](FrameIndexExpr &FIE) { -+ return FIE.Expr && FIE.Expr->isFragment(); -+ })) && -+ "conflicting locations for variable"); -+} -+ - static const DwarfAccelTable::Atom TypeAtoms[] = { - DwarfAccelTable::Atom(dwarf::DW_ATOM_die_offset, dwarf::DW_FORM_data4), - DwarfAccelTable::Atom(dwarf::DW_ATOM_die_tag, dwarf::DW_FORM_data2), -diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.h b/lib/CodeGen/AsmPrinter/DwarfDebug.h -index 78ee9a1..44107aa 100644 ---- a/lib/CodeGen/AsmPrinter/DwarfDebug.h -+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.h -@@ -124,30 +124,7 @@ public: - /// Get the FI entries, sorted by fragment offset. - ArrayRef getFrameIndexExprs() const; - bool hasFrameIndexExprs() const { return !FrameIndexExprs.empty(); } -- -- void addMMIEntry(const DbgVariable &V) { -- assert(DebugLocListIndex == ~0U && !MInsn && "not an MMI entry"); -- assert(V.DebugLocListIndex == ~0U && !V.MInsn && "not an MMI entry"); -- assert(V.Var == Var && "conflicting variable"); -- assert(V.IA == IA && "conflicting inlined-at location"); -- -- assert(!FrameIndexExprs.empty() && "Expected an MMI entry"); -- assert(!V.FrameIndexExprs.empty() && "Expected an MMI entry"); -- -- if (FrameIndexExprs.size()) { -- auto *Expr = FrameIndexExprs.back().Expr; -- // Get rid of duplicate non-fragment entries. More than one non-fragment -- // dbg.declare makes no sense so ignore all but the first. -- if (!Expr || !Expr->isFragment()) -- return; -- } -- FrameIndexExprs.append(V.FrameIndexExprs.begin(), V.FrameIndexExprs.end()); -- assert(all_of(FrameIndexExprs, -- [](FrameIndexExpr &FIE) { -- return FIE.Expr && FIE.Expr->isFragment(); -- }) && -- "conflicting locations for variable"); -- } -+ void addMMIEntry(const DbgVariable &V); - - // Translate tag to proper Dwarf tag. - dwarf::Tag getTag() const { --- -1.8.3.1 - diff --git a/0001-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch b/0001-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch deleted file mode 100644 index 7240966..0000000 --- a/0001-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 3ab40462f17659a4ae14b1f8aa7036e65377a199 Mon Sep 17 00:00:00 2001 -From: Guozhi Wei -Date: Thu, 15 Mar 2018 17:49:12 +0000 -Subject: [PATCH] [PPC] Avoid non-simple MVT in STBRX optimization - -PR35402 triggered this case. It bswap and stores a 48bit value, current STBRX optimization transforms it into STBRX. Unfortunately 48bit is not a simple MVT, there is no PPC instruction to support it, and it can't be automatically expanded by llvm, so caused a crash. - -This patch detects the non-simple MVT and returns early. - -Differential Revision: https://reviews.llvm.org/D44500 - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327651 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/Target/PowerPC/PPCISelLowering.cpp | 6 +++++- - test/CodeGen/PowerPC/pr35402.ll | 18 ++++++++++++++++++ - 2 files changed, 23 insertions(+), 1 deletion(-) - create mode 100644 test/CodeGen/PowerPC/pr35402.ll - -diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp -index b3a3c73..7fc3627 100644 ---- a/lib/Target/PowerPC/PPCISelLowering.cpp -+++ b/lib/Target/PowerPC/PPCISelLowering.cpp -@@ -11861,6 +11861,11 @@ SDValue PPCTargetLowering::PerformDAGCombine(SDNode *N, - N->getOperand(1).getValueType() == MVT::i16 || - (Subtarget.hasLDBRX() && Subtarget.isPPC64() && - N->getOperand(1).getValueType() == MVT::i64))) { -+ // STBRX can only handle simple types. -+ EVT mVT = cast(N)->getMemoryVT(); -+ if (mVT.isExtended()) -+ break; -+ - SDValue BSwapOp = N->getOperand(1).getOperand(0); - // Do an any-extend to 32-bits if this is a half-word input. - if (BSwapOp.getValueType() == MVT::i16) -@@ -11868,7 +11873,6 @@ SDValue PPCTargetLowering::PerformDAGCombine(SDNode *N, - - // If the type of BSWAP operand is wider than stored memory width - // it need to be shifted to the right side before STBRX. -- EVT mVT = cast(N)->getMemoryVT(); - if (Op1VT.bitsGT(mVT)) { - int Shift = Op1VT.getSizeInBits() - mVT.getSizeInBits(); - BSwapOp = DAG.getNode(ISD::SRL, dl, Op1VT, BSwapOp, -diff --git a/test/CodeGen/PowerPC/pr35402.ll b/test/CodeGen/PowerPC/pr35402.ll -new file mode 100644 -index 0000000..06e6d96 ---- /dev/null -+++ b/test/CodeGen/PowerPC/pr35402.ll -@@ -0,0 +1,18 @@ -+; RUN: llc -O2 < %s | FileCheck %s -+target triple = "powerpc64le-linux-gnu" -+ -+define void @test(i8* %p, i64 %data) { -+entry: -+ %0 = tail call i64 @llvm.bswap.i64(i64 %data) -+ %ptr = bitcast i8* %p to i48* -+ %val = trunc i64 %0 to i48 -+ store i48 %val, i48* %ptr, align 1 -+ ret void -+ -+; CHECK: sth -+; CHECK: stw -+; CHECK-NOT: stdbrx -+ -+} -+ -+declare i64 @llvm.bswap.i64(i64) --- -1.8.3.1 - diff --git a/0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch b/0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch deleted file mode 100644 index 2fae157..0000000 --- a/0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a481ab548d038c1dfd52ee211b997e2dd33ff5ae Mon Sep 17 00:00:00 2001 -From: Hal Finkel -Date: Wed, 6 Sep 2017 03:08:26 +0000 -Subject: [PATCH] [PowerPC] Don't use xscvdpspn on the P7 - -xscvdpspn was not introduced until the P8, so don't use it on the P7. Fixes a -regression introduced in r288152. - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312612 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/Target/PowerPC/PPCISelLowering.cpp | 9 ++++++--- - test/CodeGen/PowerPC/fp-splat.ll | 27 +++++++++++++++++++++++++++ - 2 files changed, 33 insertions(+), 3 deletions(-) - create mode 100644 test/CodeGen/PowerPC/fp-splat.ll - -diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp -index 74dedaf..6295693 100644 ---- a/lib/Target/PowerPC/PPCISelLowering.cpp -+++ b/lib/Target/PowerPC/PPCISelLowering.cpp -@@ -7463,9 +7463,11 @@ static SDValue BuildVSLDOI(SDValue LHS, SDValue RHS, unsigned Amt, EVT VT, - /// - The node is a "load-and-splat" - /// In all other cases, we will choose to keep the BUILD_VECTOR. - static bool haveEfficientBuildVectorPattern(BuildVectorSDNode *V, -- bool HasDirectMove) { -+ bool HasDirectMove, -+ bool HasP8Vector) { - EVT VecVT = V->getValueType(0); -- bool RightType = VecVT == MVT::v2f64 || VecVT == MVT::v4f32 || -+ bool RightType = VecVT == MVT::v2f64 || -+ (HasP8Vector && VecVT == MVT::v4f32) || - (HasDirectMove && (VecVT == MVT::v2i64 || VecVT == MVT::v4i32)); - if (!RightType) - return false; -@@ -7627,7 +7629,8 @@ SDValue PPCTargetLowering::LowerBUILD_VECTOR(SDValue Op, - // lowered to VSX instructions under certain conditions. - // Without VSX, there is no pattern more efficient than expanding the node. - if (Subtarget.hasVSX() && -- haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove())) -+ haveEfficientBuildVectorPattern(BVN, Subtarget.hasDirectMove(), -+ Subtarget.hasP8Vector())) - return Op; - return SDValue(); - } -diff --git a/test/CodeGen/PowerPC/fp-splat.ll b/test/CodeGen/PowerPC/fp-splat.ll -new file mode 100644 -index 0000000..9b1ab21 ---- /dev/null -+++ b/test/CodeGen/PowerPC/fp-splat.ll -@@ -0,0 +1,27 @@ -+; RUN: llc -mcpu=pwr8 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-P8 -check-prefix=CHECK -+; RUN: llc -mcpu=pwr7 -mtriple=powerpc64-unknown-linux-gnu < %s | FileCheck %s -check-prefix=CHECK-P7 -check-prefix=CHECK -+ -+define <4 x float> @test1(float %a) { -+entry: -+; CHECK-LABEL: test1 -+ %vecins = insertelement <4 x float> undef, float %a, i32 0 -+ %vecins1 = insertelement <4 x float> %vecins, float %a, i32 1 -+ %vecins2 = insertelement <4 x float> %vecins1, float %a, i32 2 -+ %vecins3 = insertelement <4 x float> %vecins2, float %a, i32 3 -+ ret <4 x float> %vecins3 -+; CHECK-P8: xscvdpspn -+; CHECK-P7-NOT: xscvdpspn -+; CHECK: blr -+} -+ -+define <2 x double> @test2(double %a) { -+entry: -+; CHECK-LABEL: test2 -+ %vecins = insertelement <2 x double> undef, double %a, i32 0 -+ %vecins1 = insertelement <2 x double> %vecins, double %a, i32 1 -+ ret <2 x double> %vecins1 -+; CHECK-P8: xxspltd -+; CHECK-P7: xxspltd -+; CHECK: blr -+} -+ --- -1.8.3.1 - diff --git a/0001-Revert-Add-a-linker-script-to-version-LLVM-symbols.patch b/0001-Revert-Add-a-linker-script-to-version-LLVM-symbols.patch deleted file mode 100644 index af11182..0000000 --- a/0001-Revert-Add-a-linker-script-to-version-LLVM-symbols.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 2912190aec4a215849a6dea0463f6599425fb7c7 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Mon, 14 Aug 2017 17:46:14 -0700 -Subject: [PATCH] Revert "Add a linker script to version LLVM symbols" - -This reverts commit cd789d8cfe12aa374e66eafc748f4fc06e149ca7. - -Conflicts: - tools/llvm-shlib/CMakeLists.txt ---- - cmake/modules/AddLLVM.cmake | 3 +-- - tools/llvm-shlib/CMakeLists.txt | 8 ++------ - tools/llvm-shlib/simple_version_script.map.in | 1 - - 3 files changed, 3 insertions(+), 9 deletions(-) - delete mode 100644 tools/llvm-shlib/simple_version_script.map.in - -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index e1ad9b9..e5ee4ee 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -81,9 +81,8 @@ function(add_llvm_symbol_exports target_name export_file) - # Gold and BFD ld require a version script rather than a plain list. - set(native_export_file "${target_name}.exports") - # FIXME: Don't write the "local:" line on OpenBSD. -- # in the export file, also add a linker script to version LLVM symbols (form: LLVM_N.M) - add_custom_command(OUTPUT ${native_export_file} -- COMMAND echo "LLVM_${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR} {" > ${native_export_file} -+ COMMAND echo "{" > ${native_export_file} - COMMAND grep -q "[[:alnum:]]" ${export_file} && echo " global:" >> ${native_export_file} || : - COMMAND sed -e "s/$/;/" -e "s/^/ /" < ${export_file} >> ${native_export_file} - COMMAND echo " local: *;" >> ${native_export_file} -diff --git a/tools/llvm-shlib/CMakeLists.txt b/tools/llvm-shlib/CMakeLists.txt -index 907345a..01a37b5 100644 ---- a/tools/llvm-shlib/CMakeLists.txt -+++ b/tools/llvm-shlib/CMakeLists.txt -@@ -37,13 +37,9 @@ endif() - add_llvm_library(LLVM SHARED DISABLE_LLVM_LINK_LLVM_DYLIB SONAME ${SOURCES}) - - list(REMOVE_DUPLICATES LIB_NAMES) --if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU) OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")) # FIXME: It should be "GNU ld for elf" -- configure_file( -- ${CMAKE_CURRENT_SOURCE_DIR}/simple_version_script.map.in -- ${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map) -- -+if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD") OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")) # FIXME: It should be "GNU ld for elf" - # GNU ld doesn't resolve symbols in the version script. -- set(LIB_NAMES -Wl,--version-script,${LLVM_LIBRARY_DIR}/tools/llvm-shlib/simple_version_script.map -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) -+ set(LIB_NAMES -Wl,--whole-archive ${LIB_NAMES} -Wl,--no-whole-archive) - elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") - set(LIB_NAMES -Wl,-all_load ${LIB_NAMES}) - endif() -diff --git a/tools/llvm-shlib/simple_version_script.map.in b/tools/llvm-shlib/simple_version_script.map.in -deleted file mode 100644 -index e9515fe..0000000 ---- a/tools/llvm-shlib/simple_version_script.map.in -+++ /dev/null -@@ -1 +0,0 @@ --LLVM_@LLVM_VERSION_MAJOR@.@LLVM_VERSION_MINOR@ { global: *; }; --- -1.8.3.1 - diff --git a/0002-Reinstantiate-old-bad-deduplication-logic-that-was-r.patch b/0002-Reinstantiate-old-bad-deduplication-logic-that-was-r.patch deleted file mode 100644 index 941c87e..0000000 --- a/0002-Reinstantiate-old-bad-deduplication-logic-that-was-r.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ca865fbaa493ff3250db39786c41658037e456ab Mon Sep 17 00:00:00 2001 -From: Daniel Jasper -Date: Thu, 12 Oct 2017 13:25:05 +0000 -Subject: [PATCH 2/2] Reinstantiate old/bad deduplication logic that was - removed in r315279. - -While this shouldn't be necessary anymore, we have cases where we run -into the assertion below, i.e. cases with two non-fragment entries for the -same variable at different frame indices. - -This should be fixed, but for now, we should revert to a version that -does not trigger asserts. - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315576 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp -index 90f6f2f..064450f 100644 ---- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp -+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp -@@ -219,6 +219,16 @@ void DbgVariable::addMMIEntry(const DbgVariable &V) { - assert(!FrameIndexExprs.empty() && "Expected an MMI entry"); - assert(!V.FrameIndexExprs.empty() && "Expected an MMI entry"); - -+ // FIXME: This logic should not be necessary anymore, as we now have proper -+ // deduplication. However, without it, we currently run into the assertion -+ // below, which means that we are likely dealing with broken input, i.e. two -+ // non-fragment entries for the same variable at different frame indices. -+ if (FrameIndexExprs.size()) { -+ auto *Expr = FrameIndexExprs.back().Expr; -+ if (!Expr || !Expr->isFragment()) -+ return; -+ } -+ - for (const auto &FIE : V.FrameIndexExprs) - // Ignore duplicate entries. - if (llvm::none_of(FrameIndexExprs, [&](const FrameIndexExpr &Other) { --- -1.8.3.1 - diff --git a/README.md b/README.md deleted file mode 100644 index 7d13b41..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# llvm5.0 - -The llvm5.0 package \ No newline at end of file diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..5204a84 --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Orphaned for 6+ weeks diff --git a/llvm-3.7.1-cmake-s390.patch b/llvm-3.7.1-cmake-s390.patch deleted file mode 100644 index bc9b583..0000000 --- a/llvm-3.7.1-cmake-s390.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up llvm-3.7.1.src/cmake/config-ix.cmake.s390 llvm-3.7.1.src/cmake/config-ix.cmake ---- llvm-3.7.1.src/cmake/config-ix.cmake.s390 2016-02-16 12:27:36.000000000 +0100 -+++ llvm-3.7.1.src/cmake/config-ix.cmake 2016-02-16 12:27:52.000000000 +0100 -@@ -356,6 +356,8 @@ elseif (LLVM_NATIVE_ARCH MATCHES "msp430 - set(LLVM_NATIVE_ARCH MSP430) - elseif (LLVM_NATIVE_ARCH MATCHES "hexagon") - set(LLVM_NATIVE_ARCH Hexagon) -+elseif (LLVM_NATIVE_ARCH MATCHES "s390") -+ set(LLVM_NATIVE_ARCH SystemZ) - elseif (LLVM_NATIVE_ARCH MATCHES "s390x") - set(LLVM_NATIVE_ARCH SystemZ) - elseif (LLVM_NATIVE_ARCH MATCHES "wasm32") diff --git a/llvm5.0.spec b/llvm5.0.spec deleted file mode 100644 index c03c4bc..0000000 --- a/llvm5.0.spec +++ /dev/null @@ -1,318 +0,0 @@ -# Components enabled if supported by target architecture: -%ifarch %ix86 x86_64 - %bcond_without gold -%else - %bcond_with gold -%endif - -%global ver_major_minor 5.0 -%global exec_suffix -%{ver_major_minor} -%global install_prefix %{_libdir}/%{name} -%global install_bindir %{install_prefix}/bin -%global install_includedir %{install_prefix}/include -%global install_libdir %{install_prefix}/lib - -%global pkg_bindir %{install_bindir} -%global pkg_includedir %{_includedir}/%{name} -%global pkg_libdir %{install_libdir} - -# https://bugzilla.redhat.com/show_bug.cgi?id=1538318 -%undefine _strict_symbol_defs_build - -Name: llvm%{ver_major_minor} -Version: %ver_major_minor.1 -Release: 13%{?dist} -Summary: The Low Level Virtual Machine - -License: NCSA -URL: http://llvm.org -Source0: http://llvm.org/releases/%{version}/llvm-%{version}.src.tar.xz - -# recognize s390 as SystemZ when configuring build -Patch0: llvm-3.7.1-cmake-s390.patch -Patch2: 0001-Fix-llvm-config-paths-on-Fedora.patch -# FIXME: Symbol versioning breaks some unittests when statically linking -# libstdc++, so we disable it for now. -Patch4: 0001-Revert-Add-a-linker-script-to-version-LLVM-symbols.patch -Patch5: 0001-CMake-Split-static-library-exports-into-their-own-ex.patch -Patch6: 0001-PowerPC-Don-t-use-xscvdpspn-on-the-P7.patch -Patch7: 0001-Fix-return-type-in-ORC-readMem-client-interface.patch -Patch8: 0001-Ignore-all-duplicate-frame-index-expression.patch -Patch9: 0002-Reinstantiate-old-bad-deduplication-logic-that-was-r.patch -Patch10: 0001-PPC-Avoid-non-simple-MVT-in-STBRX-optimization.patch - - -BuildRequires: gcc -BuildRequires: gcc-c++ -BuildRequires: cmake -BuildRequires: zlib-devel -BuildRequires: libffi-devel -BuildRequires: ncurses-devel -BuildRequires: python3-sphinx -BuildRequires: multilib-rpm-config -%if %{with gold} -BuildRequires: binutils-devel -%endif -BuildRequires: libstdc++-static -# Enable extra functionality when run the LLVM JIT under valgrind. -BuildRequires: valgrind-devel -# LLVM's LineEditor library will use libedit if it is available. -BuildRequires: libedit-devel - -Requires: %{name}-libs%{?_isa} = %{version}-%{release} - -%description -LLVM is a compiler infrastructure designed for compile-time, link-time, -runtime, and idle-time optimization of programs from arbitrary programming -languages. The compiler infrastructure includes mirror sets of programming -tools as well as libraries with equivalent functionality. - -%package devel -Summary: Libraries and header files for LLVM -Requires: %{name}%{?_isa} = %{version}-%{release} -# The installed LLVM cmake files will add -ledit to the linker flags for any -# app that requires the libLLVMLineEditor, so we need to make sure -# libedit-devel is available. -Requires: libedit-devel -Requires(post): %{_sbindir}/alternatives -Requires(postun): %{_sbindir}/alternatives - -%description devel -This package contains library and header files needed to develop new native -programs that use the LLVM infrastructure. - -%package doc -Summary: Documentation for LLVM -BuildArch: noarch -Requires: %{name} = %{version}-%{release} - -%description doc -Documentation for the LLVM compiler infrastructure. - -%package libs -Summary: LLVM shared libraries - -%description libs -Shared libraries for the LLVM compiler infrastructure. - - -%package static -Summary: LLVM %{ver_major_minor} static libraries -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Requires: ncurses-devel%{?_isa} - -%description static -Static libraries for the LLVM compiler infrastructure. - -This package contains LLVM %{ver_major_minor} and can be installed -in parallel with other LLVM versions. - -%prep -%autosetup -n llvm-%{version}.src -p1 - -%ifarch armv7hl - -# These tests are marked as XFAIL, but they still run and hang on ARM. -for f in `grep -Rl 'XFAIL.\+arm' test/ExecutionEngine `; do rm $f; done - -%endif - -%build -mkdir -p _build -cd _build - -%ifarch s390 %{arm} %{ix86} -# use linker flags that prioritize efficiency over speed (try and save memory) -%global optflags %{optflags} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads -# Decrease debuginfo verbosity to reduce memory consumption during final library linking -%global optflags %(echo %{optflags} | sed 's/-g /-g1 /') -%endif - -# force off shared libs as cmake macros turns it on. -%cmake .. \ - -DBUILD_SHARED_LIBS:BOOL=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic -static-libstdc++" \ -%ifarch s390 %{arm} - -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ - -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \ -%endif - \ - -DCMAKE_INSTALL_PREFIX=%{install_prefix} \ - -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF" \ - -DLLVM_ENABLE_LIBCXX:BOOL=OFF \ - -DLLVM_ENABLE_ZLIB:BOOL=ON \ - -DLLVM_ENABLE_FFI:BOOL=ON \ - -DLLVM_ENABLE_RTTI:BOOL=ON \ -%if %{with gold} - -DLLVM_BINUTILS_INCDIR=%{_includedir} \ -%endif - \ - -DLLVM_BUILD_RUNTIME:BOOL=ON \ - \ - -DLLVM_INCLUDE_TOOLS:BOOL=ON \ - -DLLVM_BUILD_TOOLS:BOOL=ON \ - \ - -DLLVM_INCLUDE_TESTS:BOOL=ON \ - -DLLVM_BUILD_TESTS:BOOL=ON \ - \ - -DLLVM_INCLUDE_EXAMPLES:BOOL=ON \ - -DLLVM_BUILD_EXAMPLES:BOOL=OFF \ - \ - -DLLVM_INCLUDE_UTILS:BOOL=ON \ - -DLLVM_INSTALL_UTILS:BOOL=OFF \ - \ - -DLLVM_INCLUDE_DOCS:BOOL=ON \ - -DLLVM_BUILD_DOCS:BOOL=ON \ - -DLLVM_ENABLE_SPHINX:BOOL=ON \ - -DLLVM_ENABLE_DOXYGEN:BOOL=OFF \ - \ - -DLLVM_BUILD_LLVM_DYLIB:BOOL=ON \ - -DLLVM_DYLIB_EXPORT_ALL:BOOL=ON \ - -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ - -DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=ON \ - -DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \ - \ - -DSPHINX_WARNINGS_AS_ERRORS=OFF \ - -DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \ - -DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3 - -make %{?_smp_mflags} - -%install -cd _build -make install DESTDIR=%{buildroot} - -# Add version suffix to binaries -mkdir -p %{buildroot}/%{_bindir} -for f in `ls %{buildroot}/%{install_bindir}/*`; do - filename=`basename $f` - ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix} -done - -# Move header files -mkdir -p %{buildroot}/%{pkg_includedir} -mv %{buildroot}/%{install_includedir}/llvm %{buildroot}/%{pkg_includedir}/ -mv %{buildroot}/%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/ - -# Fix multi-lib -mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}} -%multilib_fix_c_header --file %{pkg_includedir}/llvm/Config/llvm-config.h - -# Create ld.so.conf.d entry -mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d -cat >> %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf << EOF -%{pkg_libdir} -EOF - -# Add version suffix to man pages and move them to mandir. -mkdir -p %{buildroot}/%{_mandir}/man1 -for f in `ls %{buildroot}%{install_prefix}/share/man/man1/*`; do - filename=`basename $f | cut -f 1 -d '.'` - mv $f %{buildroot}%{_mandir}/man1/$filename%{exec_suffix}.1 -done - -# Remove opt-viewer, since this is just a compatibility package. -rm -Rf %{buildroot}%{install_prefix}/share/opt-viewer - -%check -cd _build -#make check-all || : - -#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}/%{_libdir} -test "`%{buildroot}/%{install_bindir}/llvm-config --bindir`" -ef "%{buildroot}/%{pkg_bindir}" -test "`%{buildroot}/%{install_bindir}/llvm-config --libdir`" -ef "%{buildroot}/%{pkg_libdir}" -test "`%{buildroot}/%{install_bindir}/llvm-config --includedir`" -ef "%{buildroot}/%{pkg_includedir}" -test "`%{buildroot}/%{install_bindir}/llvm-config --cmakedir`" -ef "%{buildroot}/%{pkg_libdir}/cmake/llvm" - -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig - -%files -%{_bindir}/* -%{pkg_bindir} -%exclude %{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} -%exclude %{pkg_bindir}/llvm-config -%{_mandir}/man1/*.1.* -%exclude %{_mandir}/man1/llvm-config%{exec_suffix}.1.gz -%license LICENSE.TXT - -%files libs -%config(noreplace) %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf -%{pkg_libdir}/BugpointPasses.so -%{pkg_libdir}/LLVMHello.so -%if %{with gold} -%{_libdir}/%{name}/lib/LLVMgold.so -%endif -%{pkg_libdir}/libLLVM-%{ver_major_minor}*.so -%{pkg_libdir}/libLTO.so* -%exclude %{pkg_libdir}/libLTO.so -%license LICENSE.TXT - -%files devel -%{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits} -%{pkg_bindir}/llvm-config -%{_mandir}/man1/llvm-config%{exec_suffix}.1.gz -%{pkg_includedir}/llvm -%{pkg_includedir}/llvm-c -%{pkg_libdir}/libLTO.so -%{pkg_libdir}/libLLVM.so -%{pkg_libdir}/cmake/llvm - -%files static -%{_libdir}/%{name}/lib/*.a - -%files doc -%doc %{_pkgdocdir}/html - -%changelog -* Sat Aug 01 2020 Fedora Release Engineering - 5.0.1-13 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 5.0.1-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jan 29 2020 Fedora Release Engineering - 5.0.1-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 5.0.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 5.0.1-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 5.0.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Mar 19 2018 Tom Stellard - 5.0.1-7 -- Backport r327651 from trunk rhbz#1554349 - -* Wed Mar 07 2018 Adam Williamson - 5.0.1-6 -- Rebuild to fix GCC 8 mis-compilation - See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64") - -* Thu Feb 08 2018 Fedora Release Engineering - 5.0.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Feb 01 2018 Tom Stellard - 5.0.1-4 -- Backport r315279 to fix an issue with rust - -* Thu Feb 01 2018 Tom Stellard - 5.0.1-3 -- Fix buid with gcc 8 - -* Sat Jan 27 2018 Tom Stellard - 5.0.1-2 -- Work-around LLVMHello.so link failures caused by LD_FLAGS="-Wl,-z,defs" -- https://bugzilla.redhat.com/show_bug.cgi?id=1538318 - -* Tue Dec 12 2017 Tom Stellard - 5.0.1-1 -- 5.0.1 Release - -* Tue Dec 12 2017 Tom Stellard - 5.0.0-3 -- Update package structure to match llvm4.0. - -* Fri Dec 08 2017 Tom Stellard - 5.0.0-2 -- Reduce debuginfo size on ARM - -* Fri Apr 21 2017 Tom Stellard - 5.0.0-1 -- Initial version. diff --git a/sources b/sources deleted file mode 100644 index 16fb09f..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (llvm-5.0.1.src.tar.xz) = bee1d45fca15ce725b1f2b1339b13eb6f750a3a321cfd099075477ec25835a8ca55b5366172c4aad46592dfd8afe372349ecf264f581463d017f9cee2d63c1cb