diff --git a/CMake-Don-t-prefer-python2.7.patch b/CMake-Don-t-prefer-python2.7.patch deleted file mode 100644 index ddea2997c6a3867e8904d290734a054f6e206613..0000000000000000000000000000000000000000 --- a/CMake-Don-t-prefer-python2.7.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 1e0f1c5481a96d760f7840d4dde103353a0131f8 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 30 Aug 2018 11:38:51 -0700 -Subject: [PATCH] CMake: Don't prefer python2.7 - ---- - CMakeLists.txt | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 31df640..2603f1c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -613,10 +613,6 @@ message(STATUS "LLVM default target triple: ${LLVM_DEFAULT_TARGET_TRIPLE}") - - include(HandleLLVMOptions) - --# Verify that we can find a Python 2 interpreter. Python 3 is unsupported. --# FIXME: We should support systems with only Python 3, but that requires work --# on LLDB. --set(Python_ADDITIONAL_VERSIONS 2.7) - include(FindPythonInterp) - if( NOT PYTHONINTERP_FOUND ) - message(FATAL_ERROR --- -1.8.3.1 - diff --git a/CMake-Split-static-library-exports-into-their-own-ex.patch b/CMake-Split-static-library-exports-into-their-own-ex.patch deleted file mode 100644 index 903821e4eacf434a342021fc002c4393e05d097d..0000000000000000000000000000000000000000 --- a/CMake-Split-static-library-exports-into-their-own-ex.patch +++ /dev/null @@ -1,86 +0,0 @@ -From f9e66a883e1fb748e6ac826fde188efaae249361 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 fd5627e..78f106f 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -635,7 +635,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 6074e83..e9fcb11 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 0772016..f471625 100644 ---- a/cmake/modules/LLVMConfig.cmake.in -+++ b/cmake/modules/LLVMConfig.cmake.in -@@ -78,6 +78,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() - - # By creating intrinsics_gen here, subprojects that depend on LLVM's --- -1.8.3.1 - diff --git a/Don-t-set-rpath-when-installing.patch b/Don-t-set-rpath-when-installing.patch deleted file mode 100644 index d92a387d6081a46bc54901d4aed5ac1ae31eae1e..0000000000000000000000000000000000000000 --- a/Don-t-set-rpath-when-installing.patch +++ /dev/null @@ -1,24 +0,0 @@ -From e67ace2ecb42c24e124f1738dc67b22055a22500 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Thu, 13 Sep 2018 10:10:08 -0700 -Subject: [PATCH] Don't set rpath when installing - ---- - cmake/modules/AddLLVM.cmake | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake -index ce2057f..de309b5 100644 ---- a/cmake/modules/AddLLVM.cmake -+++ b/cmake/modules/AddLLVM.cmake -@@ -1621,6 +1621,7 @@ function(llvm_codesign name) - endfunction() - - function(llvm_setup_rpath name) -+ return() - if(CMAKE_INSTALL_RPATH) - return() - endif() --- -1.8.3.1 - diff --git a/Ensure-that-variant-part-discriminator-is-read-by-Me.patch b/Ensure-that-variant-part-discriminator-is-read-by-Me.patch deleted file mode 100644 index fde1c00b0753748151bf268df15f43f4f67d1b51..0000000000000000000000000000000000000000 --- a/Ensure-that-variant-part-discriminator-is-read-by-Me.patch +++ /dev/null @@ -1,60 +0,0 @@ -From da1fb72bb305d6bc1f3899d541414146934bf80f Mon Sep 17 00:00:00 2001 -From: Jonas Devlieghere -Date: Fri, 21 Sep 2018 12:03:14 +0000 -Subject: [PATCH] Ensure that variant part discriminator is read by - MetadataLoader - -https://reviews.llvm.org/D42082 introduced variant parts to debug info -in LLVM. Subsequent work on the Rust compiler has found a bug in that -patch; namely, there is a path in MetadataLoader that fails to restore -the discriminator. - -This patch fixes the bug. - -Patch by: Tom Tromey - -Differential revision: https://reviews.llvm.org/D52340 - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342725 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - lib/Bitcode/Reader/MetadataLoader.cpp | 2 +- - test/Assembler/debug-variant-discriminator.ll | 14 ++++++++++++++ - 2 files changed, 15 insertions(+), 1 deletion(-) - create mode 100644 test/Assembler/debug-variant-discriminator.ll - -diff --git a/lib/Bitcode/Reader/MetadataLoader.cpp b/lib/Bitcode/Reader/MetadataLoader.cpp -index 3fe7d22..4781cfe 100644 ---- a/lib/Bitcode/Reader/MetadataLoader.cpp -+++ b/lib/Bitcode/Reader/MetadataLoader.cpp -@@ -1313,7 +1313,7 @@ Error MetadataLoader::MetadataLoaderImpl::parseOneMetadata( - (Context, Tag, Name, File, Line, Scope, BaseType, - SizeInBits, AlignInBits, OffsetInBits, Flags, - Elements, RuntimeLang, VTableHolder, TemplateParams, -- Identifier)); -+ Identifier, Discriminator)); - if (!IsNotUsedInTypeRef && Identifier) - MetadataList.addTypeRef(*Identifier, *cast(CT)); - -diff --git a/test/Assembler/debug-variant-discriminator.ll b/test/Assembler/debug-variant-discriminator.ll -new file mode 100644 -index 0000000..5be001c ---- /dev/null -+++ b/test/Assembler/debug-variant-discriminator.ll -@@ -0,0 +1,14 @@ -+; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s -+; RUN: verify-uselistorder %s -+ -+; CHECK: !named = !{!0, !1, !2} -+!named = !{!0, !1, !2} -+ -+; CHECK: !0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer") -+; CHECK-NEXT: !1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2) -+; CHECK-NEXT: !2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial) -+; CHECK-NEXT: !3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned) -+!0 = !DICompositeType(tag: DW_TAG_structure_type, name: "Outer", size: 64, align: 64, identifier: "Outer") -+!1 = !DICompositeType(tag: DW_TAG_variant_part, scope: !0, size: 64, discriminator: !2) -+!2 = !DIDerivedType(tag: DW_TAG_member, scope: !1, baseType: !3, size: 64, align: 64, flags: DIFlagArtificial) -+!3 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned) --- -1.8.3.1 - diff --git a/Filter-out-cxxflags-not-supported-by-clang.patch b/Filter-out-cxxflags-not-supported-by-clang.patch deleted file mode 100644 index 31b819bb137120726fc3edf561c04c06cc5adcac..0000000000000000000000000000000000000000 --- a/Filter-out-cxxflags-not-supported-by-clang.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 5f7fd92155db77c7608e3a07e5dcfad1ec7bd4e4 Mon Sep 17 00:00:00 2001 -From: Tom Stellard -Date: Fri, 16 Mar 2018 07:52:33 -0700 -Subject: [PATCH] Filter out cxxflags not supported by clang - ---- - tools/llvm-config/CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt -index a0bd36c..4193b0e 100644 ---- a/tools/llvm-config/CMakeLists.txt -+++ b/tools/llvm-config/CMakeLists.txt -@@ -34,7 +34,11 @@ set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR}) - set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR}) - set(LLVM_CPPFLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_CPP_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") - set(LLVM_CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${LLVM_DEFINITIONS}") -+STRING(REGEX REPLACE "-mcet" "" LLVM_CFLAGS ${LLVM_CFLAGS}) -+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CFLAGS ${LLVM_CFLAGS}) - set(LLVM_CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE}} ${COMPILE_FLAGS} ${LLVM_DEFINITIONS}") -+STRING(REGEX REPLACE "-mcet" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS}) -+STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CXXFLAGS ${LLVM_CXXFLAGS}) - set(LLVM_BUILD_SYSTEM cmake) - set(LLVM_HAS_RTTI ${LLVM_CONFIG_HAS_RTTI}) - set(LLVM_DYLIB_VERSION "${LLVM_VERSION_MAJOR}${LLVM_VERSION_SUFFIX}") --- -1.8.3.1 - diff --git a/llvm-7.0.0.src.tar.xz b/llvm-10.0.1.src.tar.xz similarity index 65% rename from llvm-7.0.0.src.tar.xz rename to llvm-10.0.1.src.tar.xz index e326b04fe96e6da80d5e388a8e397e1239a562d1..973b4a99fa98aaa4c7637c4be6e6fd04de141392 100644 Binary files a/llvm-7.0.0.src.tar.xz and b/llvm-10.0.1.src.tar.xz differ diff --git a/llvm.spec b/llvm.spec index b593bb28db5310b0887e0ab0a3c905d5264d94ab..e2225713db1558c8b6f3a22de544ea39e82e47af 100644 --- a/llvm.spec +++ b/llvm.spec @@ -1,20 +1,15 @@ Name: llvm -Version: 7.0.0 -Release: 10 +Version: 10.0.1 +Release: 1 Summary: The Low Level Virtual Machine License: NCSA URL: http://llvm.org -Source0: http://releases.llvm.org/7.0.0/%{name}-%{version}.src.tar.xz - -Patch0: CMake-Split-static-library-exports-into-their-own-ex.patch -Patch1: Filter-out-cxxflags-not-supported-by-clang.patch -Patch2: CMake-Don-t-prefer-python2.7.patch -Patch3: Don-t-set-rpath-when-installing.patch -Patch4: Ensure-that-variant-part-discriminator-is-read-by-Me.patch -Patch5: test-Fix-Assembler-debug-info.ll.patch - +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}/%{name}-%{version}.src.tar.xz + BuildRequires: gcc gcc-c++ cmake ninja-build zlib-devel libffi-devel ncurses-devel libstdc++-static BuildRequires: python3-sphinx binutils-devel valgrind-devel libedit-devel python3-devel +BuildRequires: python3-recommonmark +BuildRequires: llvm-libs %description LLVM is a compiler infrastructure designed for compile-time, link-time, @@ -120,6 +115,7 @@ ninja -v cd _build ninja -v install +find %{buildroot}%{_libdir}/cmake/llvm -type f | xargs sed -i "s|%{buildroot}||g" mv -v %{buildroot}%{_bindir}/llvm-config{,-%{__isa_bits}} for f in lli-child-target llvm-isel-fuzzer llvm-opt-fuzzer yaml-bench; do @@ -150,6 +146,10 @@ tar -czf %{install_srcdir}/test.tar.gz test/ cp -R _build/unittests %{buildroot}%{_libdir}/%{name}/ find %{buildroot}%{_libdir}/%{name} -ignore_readdir_race -iname 'cmake*' -exec rm -Rf '{}' ';' || true +#TODO: clang rust mesa packages will be unresolvable without this work-around +cp -p %{_libdir}/libLLVM-7*.so %{buildroot}%{_libdir} +cp -p %{_libdir}/libLTO.so.7 %{buildroot}%{_libdir} + %check cd _build ninja check-all || : @@ -193,6 +193,12 @@ fi %{_mandir}/man1/* %changelog +* Tue Jul 28 2020 Liquor - 10.0.1-1 +- Type: update +- ID: NA +- SUG: NA +- DESC:update to 10.0.1 + * Wed Jul 22 2020 Hugel - 7.0.0-10 - Type: enhancement - ID: NA diff --git a/test-Fix-Assembler-debug-info.ll.patch b/test-Fix-Assembler-debug-info.ll.patch deleted file mode 100644 index 47c77d4c67f69c16c9127347bc498ebf17d7fcd4..0000000000000000000000000000000000000000 --- a/test-Fix-Assembler-debug-info.ll.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cc1f2a595ead516812a6c50398f0f3480ebe031f Mon Sep 17 00:00:00 2001 -From: Jonas Devlieghere -Date: Fri, 21 Sep 2018 12:28:44 +0000 -Subject: [PATCH] [test] Fix Assembler/debug-info.ll - -Update Assembler/debug-info.ll to contain discriminator. - -git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@342727 91177308-0d34-0410-b5e6-96231b3b80d8 ---- - test/Assembler/debug-info.ll | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/Assembler/debug-info.ll b/test/Assembler/debug-info.ll -index 4404b74..d54dba0 100644 ---- a/test/Assembler/debug-info.ll -+++ b/test/Assembler/debug-info.ll -@@ -83,7 +83,7 @@ - ; CHECK-NEXT: !32 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f") - !35 = !DIFile(filename: "file", directory: "dir", checksumkind: CSK_MD5, checksum: "000102030405060708090a0b0c0d0e0f") - --; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64) -+; CHECK-NEXT: !33 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !14, size: 64, discriminator: !34) - ; CHECK-NEXT: !34 = !DIDerivedType(tag: DW_TAG_member, scope: !33, baseType: !35, size: 64, align: 64, flags: DIFlagArtificial) - ; CHECK-NEXT: !35 = !DIBasicType(name: "u64", size: 64, encoding: DW_ATE_unsigned) - !36 = !DICompositeType(tag: DW_TAG_variant_part, name: "A", scope: !16, size: 64, discriminator: !37) --- -1.8.3.1 -