#23 LLVM 9.0.0
Merged 4 years ago by tstellar. Opened 4 years ago by tstellar.
rpms/ tstellar/llvm f31-llvm9  into  f31

file modified
+2
@@ -50,3 +50,5 @@ 

  /llvm-8.0.0rc3.src.tar.xz

  /llvm-8.0.0rc4.src.tar.xz

  /llvm-8.0.0.src.tar.xz

+ /llvm-9.0.0rc2.src.tar.xz

+ /llvm-9.0.0rc3.src.tar.xz

@@ -0,0 +1,66 @@ 

+ From 8f6917ea11bd1bfbfe07f3577756d1c4abfdb916 Mon Sep 17 00:00:00 2001

+ From: Tom Stellard <tstellar@redhat.com>

+ Date: Fri, 6 Sep 2019 11:03:18 -0700

+ Subject: [PATCH] CMake: Split static library exports into their own export

+  file

+ 

+ ---

+  llvm/cmake/modules/AddLLVM.cmake       | 6 +++++-

+  llvm/cmake/modules/CMakeLists.txt      | 3 +++

+  llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++

+  3 files changed, 10 insertions(+), 1 deletion(-)

+ 

+ diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake

+ index 619e986..200fc45 100644

+ --- a/llvm/cmake/modules/AddLLVM.cmake

+ +++ b/llvm/cmake/modules/AddLLVM.cmake

+ @@ -691,7 +691,11 @@ macro(add_llvm_library name)

+        if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR

+            (in_llvm_libs AND "llvm-libraries" 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/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt

+ index 9cf22b4..dc982d2 100644

+ --- a/llvm/cmake/modules/CMakeLists.txt

+ +++ b/llvm/cmake/modules/CMakeLists.txt

+ @@ -105,6 +105,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

+ @@ -121,6 +122,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/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in

+ index 536031f..6ef54a0 100644

+ --- a/llvm/cmake/modules/LLVMConfig.cmake.in

+ +++ b/llvm/cmake/modules/LLVMConfig.cmake.in

+ @@ -89,6 +89,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

+ 

@@ -0,0 +1,65 @@ 

+ From 9d496e978f59e153bb76e92229d5a524d92dee04 Mon Sep 17 00:00:00 2001

+ From: Tom Stellard <tstellar@redhat.com>

+ Date: Tue, 10 Sep 2019 13:33:48 -0700

+ Subject: [PATCH] CMake: Split test binary exports into their own export file

+ 

+ ---

+  llvm/cmake/modules/AddLLVM.cmake       | 7 ++++++-

+  llvm/cmake/modules/CMakeLists.txt      | 3 +++

+  llvm/cmake/modules/LLVMConfig.cmake.in | 1 +

+  3 files changed, 10 insertions(+), 1 deletion(-)

+ 

+ diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake

+ index 200fc45..9eec7a7 100644

+ --- a/llvm/cmake/modules/AddLLVM.cmake

+ +++ b/llvm/cmake/modules/AddLLVM.cmake

+ @@ -953,7 +953,12 @@ macro(add_llvm_utility name)

+        set(export_to_llvmexports)

+        if (${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR

+            NOT LLVM_DISTRIBUTION_COMPONENTS)

+ -        set(export_to_llvmexports EXPORT LLVMExports)

+ +        if (${name} STREQUAL "not" OR ${name} STREQUAL "count" OR

+ +            ${name} STREQUAL "yaml-bench" OR ${name} STREQUAL "lli-child-target")

+ +          set(export_to_llvmexports EXPORT LLVMTestExports)

+ +        else()

+ +          set(export_to_llvmexports EXPORT LLVMExports)

+ +        endif()

+          set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)

+        endif()

+  

+ diff --git a/llvm/cmake/modules/CMakeLists.txt b/llvm/cmake/modules/CMakeLists.txt

+ index dc982d2..c861f45 100644

+ --- a/llvm/cmake/modules/CMakeLists.txt

+ +++ b/llvm/cmake/modules/CMakeLists.txt

+ @@ -106,6 +106,7 @@ 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")

+ +set(LLVM_CONFIG_TEST_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMTestExports.cmake")

+  configure_file(

+    LLVMConfig.cmake.in

+    ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/LLVMConfig.cmake

+ @@ -124,6 +125,8 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)

+              COMPONENT cmake-exports)

+      install(EXPORT LLVMStaticExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}

+              COMPONENT cmake-exports)

+ +    install(EXPORT LLVMTestExports DESTINATION ${LLVM_INSTALL_PACKAGE_DIR}

+ +            COMPONENT cmake-exports)

+    endif()

+  

+    install(FILES

+ diff --git a/llvm/cmake/modules/LLVMConfig.cmake.in b/llvm/cmake/modules/LLVMConfig.cmake.in

+ index 6ef54a0..d81b09a 100644

+ --- a/llvm/cmake/modules/LLVMConfig.cmake.in

+ +++ b/llvm/cmake/modules/LLVMConfig.cmake.in

+ @@ -91,6 +91,7 @@ if(NOT TARGET LLVMSupport)

+    @llvm_config_include_buildtree_only_exports@

+  

+    include("@LLVM_CONFIG_STATIC_EXPORTS_FILE@" OPTIONAL)

+ +  include("@LLVM_CONFIG_TEST_EXPORTS_FILE@" OPTIONAL)

+  endif()

+  

+  # By creating intrinsics_gen here, subprojects that depend on LLVM's

+ -- 

+ 1.8.3.1

+ 

@@ -0,0 +1,28 @@ 

+ From d15c835028bcc72a8695d047f0acaa530aa54716 Mon Sep 17 00:00:00 2001

+ From: Tom Stellard <tstellar@redhat.com>

+ Date: Wed, 31 Jul 2019 20:43:42 -0700

+ Subject: [PATCH] Filter out cxxflags not supported by clang

+ 

+ ---

+  llvm/tools/llvm-config/CMakeLists.txt | 4 ++++

+  1 file changed, 4 insertions(+)

+ 

+ diff --git a/llvm/tools/llvm-config/CMakeLists.txt b/llvm/tools/llvm-config/CMakeLists.txt

+ index 8e97a10..9b9b7d1 100644

+ --- a/llvm/tools/llvm-config/CMakeLists.txt

+ +++ b/llvm/tools/llvm-config/CMakeLists.txt

+ @@ -43,7 +43,11 @@ set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR})

+  set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR})

+  set(LLVM_CPPFLAGS "${LLVM_DEFINITIONS}")

+  set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LLVM_DEFINITIONS}")

+ +STRING(REGEX REPLACE "-mcet" "" LLVM_CFLAGS ${LLVM_CFLAGS})

+ +STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CFLAGS ${LLVM_CFLAGS})

+  set(LLVM_CXXFLAGS "${LLVM_CXX_STD_FLAG} ${LLVM_CXX_STDLIB_FLAG} ${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

+ 

@@ -1,29 +0,0 @@ 

- From eaa421d1f9c3748c550e2a91fcb134a3d2a8ebff Mon Sep 17 00:00:00 2001

- From: Sanjin Sijaric <ssijaric@codeaurora.org>

- Date: Fri, 18 Jan 2019 19:34:20 +0000

- Subject: [PATCH] Fix the buildbot issue introduced by r351421

- 

- The EXPENSIVE_CHECK x86_64 Windows buildbot is failing due to this change. Fix

- the map access.

- 

- llvm-svn: 351577

- ---

-  lib/MC/MCWin64EH.cpp | 2 +-

-  1 file changed, 1 insertion(+), 1 deletion(-)

- 

- diff --git a/lib/MC/MCWin64EH.cpp b/lib/MC/MCWin64EH.cpp

- index 8bc1f08..3ef1514 100644

- --- a/lib/MC/MCWin64EH.cpp

- +++ b/lib/MC/MCWin64EH.cpp

- @@ -522,7 +522,7 @@ static void ARM64EmitUnwindInfo(MCStreamer &streamer, WinEH::FrameInfo *info) {

-      if (MatchingEpilog) {

-        assert(EpilogInfo.find(MatchingEpilog) != EpilogInfo.end() &&

-               "Duplicate epilog not found");

- -      EpilogInfo[EpilogStart] = EpilogInfo[MatchingEpilog];

- +      EpilogInfo[EpilogStart] = EpilogInfo.lookup(MatchingEpilog);

-        // Clear the unwind codes in the EpilogMap, so that they don't get output

-        // in the logic below.

-        EpilogInstrs.clear();

- -- 

- 1.8.3.1

- 

@@ -1,82 +0,0 @@ 

- From 59c38a2216f4467b53970bb6b010bc4fe0b8d1d3 Mon Sep 17 00:00:00 2001

- From: serge-sans-paille <sguelton@redhat.com>

- Date: Fri, 25 Jan 2019 17:32:54 +0000

- Subject: [PATCH 1/2] [PATCH] Filter out cxxflags not supported by clang

- 

- ---

-  cmake/modules/AddLLVM.cmake       | 6 +++++-

-  cmake/modules/CMakeLists.txt      | 3 +++

-  cmake/modules/LLVMConfig.cmake.in | 2 ++

-  tools/llvm-config/CMakeLists.txt  | 4 ++++

-  4 files changed, 14 insertions(+), 1 deletion(-)

- 

- diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake

- index 4dbc0ddaf4f..c408377cd2e 100644

- --- a/cmake/modules/AddLLVM.cmake

- +++ b/cmake/modules/AddLLVM.cmake

- @@ -664,7 +664,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 f5cc0006fa0..6605dc729c2 100644

- --- a/cmake/modules/CMakeLists.txt

- +++ b/cmake/modules/CMakeLists.txt

- @@ -97,6 +97,7 @@ set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")

-  set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_TOOLS_INSTALL_DIR}")

-  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

- @@ -113,6 +114,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 7ca06381d90..44d042c9b11 100644

- --- a/cmake/modules/LLVMConfig.cmake.in

- +++ b/cmake/modules/LLVMConfig.cmake.in

- @@ -84,6 +84,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

- diff --git a/tools/llvm-config/CMakeLists.txt b/tools/llvm-config/CMakeLists.txt

- index a7db17386fb..8a796d03b5a 100644

- --- a/tools/llvm-config/CMakeLists.txt

- +++ b/tools/llvm-config/CMakeLists.txt

- @@ -42,7 +42,11 @@ set(LLVM_SRC_ROOT ${LLVM_MAIN_SRC_DIR})

-  set(LLVM_OBJ_ROOT ${LLVM_BINARY_DIR})

-  set(LLVM_CPPFLAGS "${LLVM_DEFINITIONS}")

-  set(LLVM_CFLAGS "${LLVM_C_STD_FLAG} ${LLVM_DEFINITIONS}")

- +STRING(REGEX REPLACE "-mcet" "" LLVM_CFLAGS ${LLVM_CFLAGS})

- +STRING(REGEX REPLACE "-fcf-protection" "" LLVM_CFLAGS ${LLVM_CFLAGS})

-  set(LLVM_CXXFLAGS "${LLVM_CXX_STD_FLAG} ${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}")

- -- 

- 2.19.2

- 

@@ -1,44 +0,0 @@ 

- diff -ru llvm-8.0.0rc1.src.orig/cmake/modules/CMakeLists.txt llvm-8.0.0rc1.src/cmake/modules/CMakeLists.txt

- --- llvm-8.0.0rc1.src.orig/cmake/modules/CMakeLists.txt	2019-02-12 11:32:02.370238762 +0000

- +++ llvm-8.0.0rc1.src/cmake/modules/CMakeLists.txt	2019-02-13 08:40:39.263265812 +0000

- @@ -94,7 +94,7 @@

-  set(LLVM_CONFIG_LIBRARY_DIRS "\${LLVM_INSTALL_PREFIX}/lib\${LLVM_LIBDIR_SUFFIX}")

-  set(LLVM_CONFIG_CMAKE_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_INSTALL_PACKAGE_DIR}")

-  set(LLVM_CONFIG_BINARY_DIR "\${LLVM_INSTALL_PREFIX}")

- -set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/bin")

- +set(LLVM_CONFIG_TOOLS_BINARY_DIR "\${LLVM_INSTALL_PREFIX}/${LLVM_TOOLS_INSTALL_DIR}")

-  set(LLVM_CONFIG_EXPORTS_FILE "\${LLVM_CMAKE_DIR}/LLVMExports.cmake")

-  set(LLVM_CONFIG_EXPORTS "${LLVM_EXPORTS}")

-  configure_file(

- diff -ru llvm-8.0.0rc1.src.orig/tools/llvm-config/llvm-config.cpp llvm-8.0.0rc1.src/tools/llvm-config/llvm-config.cpp

- --- llvm-8.0.0rc1.src.orig/tools/llvm-config/llvm-config.cpp	2019-02-12 11:32:00.617221180 +0000

- +++ llvm-8.0.0rc1.src/tools/llvm-config/llvm-config.cpp	2019-02-12 11:34:27.817599362 +0000

- @@ -269,7 +269,6 @@

-    // tree.

-    bool IsInDevelopmentTree;

-    enum { CMakeStyle, CMakeBuildModeStyle } DevelopmentTreeLayout;

- -  llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));

-    std::string CurrentExecPrefix;

-    std::string ActiveObjRoot;

-  

- @@ -280,11 +279,15 @@

-      build_mode = CMAKE_CFG_INTDIR;

-  #endif

-  

- -  // Create an absolute path, and pop up one directory (we expect to be inside a

- -  // bin dir).

- -  sys::fs::make_absolute(CurrentPath);

- -  CurrentExecPrefix =

- -      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();

- +  // Create an absolute path, and pop up as much directory as in LLVM_TOOLS_INSTALL_DIR

- +  {

- +    llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));

- +    sys::fs::make_absolute(CurrentPath);

- +    for (auto iter = sys::path::begin(LLVM_TOOLS_INSTALL_DIR), end = sys::path::end(LLVM_TOOLS_INSTALL_DIR); iter != end; ++iter) {

- +      CurrentPath = sys::path::parent_path(CurrentPath).str();

- +    }

- +    CurrentExecPrefix = sys::path::parent_path(CurrentPath).str();

- +  }

-  

-    // Check to see if we are inside a development tree by comparing to possible

-    // locations (prefix style or CMake style).

@@ -0,0 +1,34 @@ 

+ From f0762684457a883b6813b48c98a1e94e377bc06b Mon Sep 17 00:00:00 2001

+ From: Tom Stellard <tstellar@redhat.com>

+ Date: Wed, 28 Aug 2019 19:31:21 -0700

+ Subject: [PATCH] Pass target to gold linker to avoid faliures on i686

+ 

+ ---

+  llvm/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll | 4 ++--

+  1 file changed, 2 insertions(+), 2 deletions(-)

+ 

+ diff --git a/llvm/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll b/llvm/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll

+ index 525bf2d..01291bd 100644

+ --- a/llvm/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll

+ +++ b/llvm/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll

+ @@ -3,7 +3,7 @@

+  

+  ; RUN: opt -module-summary %s -o %t.o

+  ; RUN: opt -module-summary %p/Inputs/linkonce_odr_unnamed_addr.ll -o %t2.o

+ -; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \

+ +; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \

+  ; RUN:    --plugin-opt=save-temps \

+  ; RUN:    %t.o %t2.o -o %t3.o

+  ; RUN: llvm-dis %t.o.1.promote.bc -o - | FileCheck %s

+ @@ -11,7 +11,7 @@

+  ; Now test when one module is a native object. In that case we must be

+  ; conservative and not auto hide.

+  ; RUN: llc %p/Inputs/linkonce_odr_unnamed_addr.ll -o %t2native.o -filetype=obj

+ -; RUN: %gold -plugin %llvmshlibdir/LLVMgold%shlibext \

+ +; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \

+  ; RUN:    --plugin-opt=save-temps \

+  ; RUN:    %t.o %t2native.o -o %t3.o

+  ; RUN: llvm-dis %t.o.1.promote.bc -o - | FileCheck %s --check-prefix=NOSUMMARY

+ -- 

+ 1.8.3.1

+ 

file modified
+57 -37
@@ -6,18 +6,18 @@ 

    %bcond_with gold

  %endif

  

- %global compat_build 0

+ %bcond_with compat_build

  

- %global build_llvm_bindir %{buildroot}%{_bindir}

  %global llvm_libdir %{_libdir}/%{name}

  %global build_llvm_libdir %{buildroot}%{llvm_libdir}

- %global maj_ver 8

+ %global maj_ver 9

  %global min_ver 0

  %global patch_ver 0

- #%%global rc_ver 4

+ %global rc_ver 3

+ %global baserelease 0.4

  

  

- %if 0%{?compat_build}

+ %if %{with compat_build}

  %global pkg_name llvm%{maj_ver}.%{min_ver}

  %global exec_suffix -%{maj_ver}.%{min_ver}

  %global install_prefix %{_libdir}/%{name}
@@ -36,22 +36,26 @@ 

  %endif

  

  %global build_install_prefix %{buildroot}%{install_prefix}

- %global build_pkgdocdir %{buildroot}%{_pkgdocdir}

  

  Name:		%{pkg_name}

  Version:	%{maj_ver}.%{min_ver}.%{patch_ver}

- Release:	8%{?rc_ver:.rc%{rc_ver}}%{?dist}.1

+ Release:	%{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist}

  Summary:	The Low Level Virtual Machine

  

  License:	NCSA

  URL:		http://llvm.org

  Source0:	http://%{?rc_ver:pre}releases.llvm.org/%{version}/%{?rc_ver:rc%{rc_ver}}/llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src.tar.xz

+ %if %{without compat_build}

  Source1:	run-lit-tests

  Source2:	lit.fedora.cfg.py

+ %endif

  

- Patch5:		0001-PATCH-llvm-config.patch

- Patch7:		0001-PATCH-Filter-out-cxxflags-not-supported-by-clang.patch

- Patch8:		0001-Fix-the-buildbot-issue-introduced-by-r351421.patch

+ Patch0:		0001-Filter-out-cxxflags-not-supported-by-clang.patch

+ # TODO: I'm not sure why this is needed.  Could be a change in newer version

+ # of gold.

+ Patch1:		0001-Pass-target-to-gold-linker-to-avoid-faliures-on-i686.patch

+ Patch2:		0001-CMake-Split-static-library-exports-into-their-own-ex.patch

+ Patch3:		0001-CMake-Split-test-binary-exports-into-their-own-expor.patch

  

  BuildRequires:	gcc

  BuildRequires:	gcc-c++
@@ -123,7 +127,7 @@ 

  %description static

  Static libraries for the LLVM compiler infrastructure.

  

- %if !0%{?compat_build}

+ %if %{without compat_build}

  

  %package test

  Summary:	LLVM regression tests
@@ -151,7 +155,7 @@ 

  %endif

  

  %prep

- %autosetup -n llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src -p1

+ %autosetup -n llvm-%{version}%{?rc_ver:rc%{rc_ver}}.src -p2

  

  pathfix.py -i %{__python3} -pn \

  	test/BugPoint/compile-custom.ll.py \
@@ -181,7 +185,7 @@ 

  	-DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \

  	-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -DNDEBUG" \

  %endif

- %if !0%{?compat_build}

+ %if %{without compat_build}

  %if 0%{?__isa_bits} == 64

  	-DLLVM_LIBDIR_SUFFIX=64 \

  %else
@@ -210,11 +214,11 @@ 

  	-DLLVM_BUILD_EXAMPLES:BOOL=OFF \

  	\

  	-DLLVM_INCLUDE_UTILS:BOOL=ON \

- %if 0%{?compat_build}

+ %if %{with compat_build}

  	-DLLVM_INSTALL_UTILS:BOOL=OFF \

  %else

  	-DLLVM_INSTALL_UTILS:BOOL=ON \

- 	-DLLVM_UTILS_INSTALL_DIR:PATH=%{build_llvm_bindir} \

+ 	-DLLVM_UTILS_INSTALL_DIR:PATH=%{_bindir} \

  	-DLLVM_TOOLS_INSTALL_DIR:PATH=bin \

  %endif

  	\
@@ -230,17 +234,16 @@ 

  	-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \

  	\

  	-DSPHINX_WARNINGS_AS_ERRORS=OFF \

- 	-DCMAKE_INSTALL_PREFIX=%{build_install_prefix} \

- 	-DLLVM_INSTALL_SPHINX_HTML_DIR=%{build_pkgdocdir}/html \

+ 	-DLLVM_INSTALL_SPHINX_HTML_DIR=%{_pkgdocdir}/html \

  	-DSPHINX_EXECUTABLE=%{_bindir}/sphinx-build-3

  

- ninja -v

+ %ninja_build

  

  %install

- ninja -C _build -v install

+ %ninja_install -C _build

  

  

- %if !0%{?compat_build}

+ %if %{without compat_build}

  mkdir -p %{buildroot}/%{_bindir}

  mv %{buildroot}/%{_bindir}/llvm-config %{buildroot}/%{_bindir}/llvm-config-%{__isa_bits}

  
@@ -249,11 +252,11 @@ 

  mv %{buildroot}%{_mandir}/man1/tblgen.1 %{buildroot}%{_mandir}/man1/llvm-tblgen.1

  

  # Install binaries needed for lit tests

- %global test_binaries FileCheck count lli-child-target llvm-PerfectShuffle llvm-isel-fuzzer llvm-opt-fuzzer not yaml-bench

+ %global test_binaries llvm-isel-fuzzer llvm-opt-fuzzer

  

  for f in %{test_binaries}

  do

-     install -m 0755 ./_build/bin/$f %{build_llvm_bindir}

+     install -m 0755 ./_build/bin/$f %{buildroot}%{_bindir}

  done

  

  
@@ -317,9 +320,9 @@ 

  

  # Add version suffix to binaries

  mkdir -p %{buildroot}/%{_bindir}

- for binary in %{build_llvm_bindir}/*

- do

-   mv ${binary} ${binary}%{exec_suffix}

+ for f in %{buildroot}/%{install_bindir}/*; do

+   filename=`basename $f`

+   ln -s %{install_bindir}/$filename %{buildroot}/%{_bindir}/$filename%{exec_suffix}

  done

  

  # Move header files
@@ -328,6 +331,7 @@ 

  ln -s ../../../%{install_includedir}/llvm-c %{buildroot}/%{pkg_includedir}/llvm-c

  

  # Fix multi-lib

+ mv %{buildroot}%{_bindir}/llvm-config{%{exec_suffix},%{exec_suffix}-%{__isa_bits}}

  %multilib_fix_c_header --file %{install_includedir}/llvm/Config/llvm-config.h

  

  # Create ld.so.conf.d entry
@@ -360,7 +364,7 @@ 

  

  %ldconfig_scriptlets libs

  

- %if !0%{?compat_build}

+ %if %{without compat_build}

  

  %post devel

  %{_sbindir}/update-alternatives --install %{_bindir}/llvm-config llvm-config %{_bindir}/llvm-config-%{__isa_bits} %{__isa_bits}
@@ -373,7 +377,11 @@ 

  %endif

  

  %files

- %if !0%{?compat_build}

+ %exclude %{_mandir}/man1/llvm-config*

+ %{_mandir}/man1/*

+ %{_bindir}/*

+ 

+ %if %{without compat_build}

  %exclude %{_bindir}/llvm-config-%{__isa_bits}

  %exclude %{_bindir}/not

  %exclude %{_bindir}/count
@@ -381,11 +389,6 @@ 

  %exclude %{_bindir}/lli-child-target

  %exclude %{_bindir}/llvm-isel-fuzzer

  %exclude %{_bindir}/llvm-opt-fuzzer

- %{_bindir}/*

- 

- %exclude %{_mandir}/man1/llvm-config*

- %{_mandir}/man1/*

- 

  %{_datadir}/opt-viewer

  %else

  %exclude %{pkg_bindir}/llvm-config
@@ -394,7 +397,7 @@ 

  

  %files libs

  %{pkg_libdir}/libLLVM-%{maj_ver}.so

- %if !0%{?compat_build}

+ %if %{without compat_build}

  %if %{with gold}

  %{_libdir}/LLVMgold.so

  %endif
@@ -409,10 +412,10 @@ 

  %{pkg_libdir}/libLTO.so*

  %exclude %{pkg_libdir}/libLTO.so

  %endif

- %{pkg_libdir}/libOptRemarks.so*

+ %{pkg_libdir}/libRemarks.so*

  

  %files devel

- %if !0%{?compat_build}

+ %if %{without compat_build}

  %{_bindir}/llvm-config-%{__isa_bits}

  %{_mandir}/man1/llvm-config*

  %{_includedir}/llvm
@@ -420,6 +423,7 @@ 

  %{_libdir}/libLLVM.so

  %{_libdir}/cmake/llvm

  %exclude %{_libdir}/cmake/llvm/LLVMStaticExports.cmake

+ %exclude %{_libdir}/cmake/llvm/LLVMTestExports.cmake

  %else

  %{_bindir}/llvm-config%{exec_suffix}-%{__isa_bits}

  %{pkg_bindir}/llvm-config
@@ -437,7 +441,7 @@ 

  %doc %{_pkgdocdir}/html

  

  %files static

- %if !0%{?compat_build}

+ %if %{without compat_build}

  %{_libdir}/*.a

  %exclude %{_libdir}/libLLVMTestingSupport.a

  %{_libdir}/cmake/llvm/LLVMStaticExports.cmake
@@ -445,7 +449,7 @@ 

  %{_libdir}/%{name}/lib/*.a

  %endif

  

- %if !0%{?compat_build}

+ %if %{without compat_build}

  

  %files test

  %{_libexecdir}/tests/llvm/
@@ -461,6 +465,7 @@ 

  %{_bindir}/llvm-opt-fuzzer

  %{_libdir}/BugpointPasses.so

  %{_libdir}/LLVMHello.so

+ %{_libdir}/cmake/llvm/LLVMTestExports.cmake

  

  %files googletest

  %{_datadir}/llvm/src/utils
@@ -469,6 +474,21 @@ 

  %endif

  

  %changelog

+ * Tue Sep 10 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.4.rc3

+ - Split out test executables into their own export file

+ 

+ * Fri Sep 06 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.3.rc3

+ - Fix patch for splitting out static library exports

+ 

+ * Fri Aug 30 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.2.rc3

+ - 9.0.0-rc3 Release

+ 

+ * Thu Aug 01 2019 Tom Stellard <tstellar@redhat.com> - 9.0.0-0.1.rc2

+ - 9.0.0-rc2 Release

+ 

+ * Tue Jul 30 2019 Tom Stellard <tstellar@redhat.com> - 8.0.0-9

+ - Sync with llvm8.0 spec file

+ 

  * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.0-8.1

  - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

  

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (llvm-8.0.0.src.tar.xz) = 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f

+ SHA512 (llvm-9.0.0rc3.src.tar.xz) = e08dcd4ae5f8651c9e2b7925074eb3999b9c44294976f42271421cafa7bf031955656dd0e11f8b78584a6b0b34252c9b9afdc956d79bc6c534d567e3f8f9bea6

@@ -0,0 +1,16 @@ 

+ #!/bin/bash

+ 

+ set -ex

+ 

+ dnf download --disablerepo=* --enablerepo=test-llvm --source llvm

+ 

+ # The src.rpm is available in the directory the test run from.

+ set +e

+ mock --resultdir=. --old-chroot --with compat_build --rebuild *.src.rpm

+ if [ $? -ne 0 ]; then

+   cat root.log

+   cat build.log

+   exit 1

+ fi

+ 

+ exit 0

@@ -0,0 +1,3 @@ 

+ cmake_minimum_required(VERSION 3.4.3)

+ 

+ find_package(LLVM)

@@ -0,0 +1,16 @@ 

+ set -ex

+ 

+ # This test is meant to ensure that the cmake files in llvm-devel work

+ # when only the packages it depends on are installed.

+ 

+ ARCH=`rpm --eval '%_arch'`

+ 

+ llvm_devel_num_deps=`dnf repoquery --nvr --requires --resolve llvm-devel.$ARCH | grep '^llvm' | wc -l`

+ 

+ llvm_num_sub_packages_installed=`dnf list installed | grep  '^llvm' | wc -l`

+ 

+ # Verify that only llvm-devel dependencies are installed.

+ test `expr $llvm_devel_num_deps + 1` -eq $llvm_num_sub_packages_installed

+ 

+ # Verify that cmake files can me used without errors.

+ cmake -G Ninja .

file modified
+5
@@ -14,3 +14,8 @@ 

        - rust-sanity:

            dir: ./

            run: cargo new hello && cd hello && cargo run

+       # This test ensures that the spec file still builds correctly with

+       # %global compat_build 1

+       # FIXME: This fails, because the CI system has a hard-coded timeout of 4

+       # hours.

+       #- build-compat

@@ -0,0 +1,28 @@ 

+ - hosts: localhost

+   pre_tasks:

+   # Make sure we uninstall all sub-packages, so we can test that the cmake files

+   # in llvm-devel are useable when only llvm-devel is installed.

+   - name: Uninstall llvm sub-packages

+     package:

+       name: "{{ item }}"

+       state: absent

+     tags: classic

+     with_items:

+       - llvm

+       - llvm-devel

+       - llvm-doc

+       - llvm-googletest

+       - llvm-libs

+       - llvm-static

+       - llvm-test

+   roles:

+   - role: standard-test-basic

+     tags: classic

+     required_packages:

+       - llvm-devel

+       - cmake

+       - ninja-build

+       - gcc

+       - gcc-c++

+     tests:

+       - llvm-devel-cmake