From 5dee6b644a1939b7ca5105909d31dac9bc5b7247 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Aug 22 2019 03:32:45 +0000 Subject: 9.0.0-rc2 Release --- diff --git a/.gitignore b/.gitignore index 7ef676e..ede84ba 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ /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 diff --git a/0001-Filter-out-cxxflags-not-supported-by-clang.patch b/0001-Filter-out-cxxflags-not-supported-by-clang.patch new file mode 100644 index 0000000..bef5cce --- /dev/null +++ b/0001-Filter-out-cxxflags-not-supported-by-clang.patch @@ -0,0 +1,82 @@ +From dc520816332d81d7729fb36933e9767d83c02b57 Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Wed, 31 Jul 2019 20:43:42 -0700 +Subject: [PATCH] Filter out cxxflags not supported by clang + +--- + llvm/cmake/modules/AddLLVM.cmake | 6 +++++- + llvm/cmake/modules/CMakeLists.txt | 3 +++ + llvm/cmake/modules/LLVMConfig.cmake.in | 2 ++ + llvm/tools/llvm-config/CMakeLists.txt | 4 ++++ + 4 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake +index 619e986..5d38db9 100644 +--- a/llvm/cmake/modules/AddLLVM.cmake ++++ b/llvm/cmake/modules/AddLLVM.cmake +@@ -901,7 +901,11 @@ macro(add_llvm_tool name) + set(export_to_llvmexports) + 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/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 +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 + diff --git a/0001-Fix-the-buildbot-issue-introduced-by-r351421.patch b/0001-Fix-the-buildbot-issue-introduced-by-r351421.patch deleted file mode 100644 index e34ffc7..0000000 --- a/0001-Fix-the-buildbot-issue-introduced-by-r351421.patch +++ /dev/null @@ -1,29 +0,0 @@ -From eaa421d1f9c3748c550e2a91fcb134a3d2a8ebff Mon Sep 17 00:00:00 2001 -From: Sanjin Sijaric -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 - diff --git a/0001-PATCH-Filter-out-cxxflags-not-supported-by-clang.patch b/0001-PATCH-Filter-out-cxxflags-not-supported-by-clang.patch deleted file mode 100644 index e706588..0000000 --- a/0001-PATCH-Filter-out-cxxflags-not-supported-by-clang.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 59c38a2216f4467b53970bb6b010bc4fe0b8d1d3 Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -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 - diff --git a/0001-PATCH-llvm-config.patch b/0001-PATCH-llvm-config.patch deleted file mode 100644 index 54dfbe6..0000000 --- a/0001-PATCH-llvm-config.patch +++ /dev/null @@ -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). diff --git a/llvm.spec b/llvm.spec index b9bb055..be870d5 100644 --- a/llvm.spec +++ b/llvm.spec @@ -8,14 +8,13 @@ %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 baserelease 9 +%global rc_ver 2 +%global baserelease 0.1 %if %{with compat_build} @@ -37,7 +36,6 @@ %endif %global build_install_prefix %{buildroot}%{install_prefix} -%global build_pkgdocdir %{buildroot}%{_pkgdocdir} Name: %{pkg_name} Version: %{maj_ver}.%{min_ver}.%{patch_ver} @@ -52,9 +50,7 @@ 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 BuildRequires: gcc BuildRequires: gcc-c++ @@ -154,7 +150,7 @@ LLVM's modified googletest sources. %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 \ @@ -217,7 +213,7 @@ cd _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 \ @@ -233,14 +229,13 @@ cd _build -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 %{without compat_build} @@ -256,7 +251,7 @@ mv %{buildroot}%{_mandir}/man1/tblgen.1 %{buildroot}%{_mandir}/man1/llvm-tblgen. for f in %{test_binaries} do - install -m 0755 ./_build/bin/$f %{build_llvm_bindir} + install -m 0755 ./_build/bin/$f %{buildroot}%{_bindir} done @@ -412,7 +407,7 @@ fi %{pkg_libdir}/libLTO.so* %exclude %{pkg_libdir}/libLTO.so %endif -%{pkg_libdir}/libOptRemarks.so* +%{pkg_libdir}/libRemarks.so* %files devel %if %{without compat_build} @@ -472,6 +467,9 @@ fi %endif %changelog +* Thu Aug 01 2019 Tom Stellard - 9.0.0-0.1.rc2 +- 9.0.0-rc2 Release + * Tue Jul 30 2019 Tom Stellard - 8.0.0-9 - Sync with llvm8.0 spec file diff --git a/sources b/sources index ca2c97a..aaea8fe 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (llvm-8.0.0.src.tar.xz) = 1602343b451b964f5d8c2d6b0654d89384c80d45883498c5f0e2f4196168dd4a1ed2a4dadb752076020243df42ffe46cb31d82ffc145d8e5874163cbb9686a1f +SHA512 (llvm-9.0.0rc2.src.tar.xz) = 7c639f27ff946ee4bac91881800926e799667e0d2fbfe586c3ecd18b03c4f1a364668674f7d229fff40980bd0d96d1fa07b94af63910dec46a0b10ccf5ab6b21