From b3669793eb58da4205aa1914ccae5c76d9fdd263 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Tue, 1 Aug 2023 13:07:27 -0300 Subject: [PATCH] Update to LLVM 17.0.0 RC 1 This is also a squashed merge commit from upstream-snapshot (commit ID 13b971d3fcbf82d2) into rawhide whose most important commits from upstream-snapshot are: Konrad Kleine (57): Prepare for snapshot build Fix patches by using them from the streamline branch Fixed E: specfile-error error: line 491: Unclosed %if Fix error: Bad file: /var/lib/copr-rpmbuild/workspace/workdir-0qjlioil/srcdir/0007-cmake-Allow-shared-li braries-to-customize-the-soname.patch: No such file or directory Must have forgotten this newly added 'clang_version' global Disable LTO for anything older than Fedora 34 Add recommonmark to build deps Use new llvm_snashot_changelog_entry macro Use llvm_snapshot_version_suffix Fix RPM packaging bug: Default to DWARFv4 Revert "Default to DWARFv4" Compile with DWARFv4 Merge remote-tracking branch 'upstream/rawhide' into upstream-snapshot Try to address https://reviews.llvm.org/D119199 Update patches Fixup patches Patches rebased Separate clang-tools-extra patches Try to fix clang build Rebased patches to fix issue with patch Make %autopatch verbose Also rename patch tag Avoid ld error Rebased patches Rebased clang patches Rebased clang-tools-extra patches First try to default to DWARF4 by default Produce DWARF4 by default Added pgo_instrumented_build conditional Make clang use the llvm-snapshot-builder Use %{llvm_snapshot_extra_source_tags} macro Fix %changelog not in descending chronological order Rebase patches Bring back clang Rebased patches and added third-party and cmake sources Adjust to https://reviews.llvm.org/D130586 Disable LTO Manually apply https://reviews.llvm.org/D141581 adjust /lib/ to /%{_lib}/ Remove third party stuff and use gtest patch Rebased D138472 Trace configure output Rebase D138472 Assist find_package(LLVMGTest by setting hint dir to LLVM_CMAKE_DIR Merge remote-tracking branch 'origin/rawhide' into upstream-snapshot Add back 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch Fixup 0001-cmake-Allow-shared-libraries-to-customize-the-soname.patch Rebased 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch Rebased 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch Dropping 0001-Take-into-account-Fedora-Specific-install-dir-for-li.patch D142506 landed already Fix for the IEEE 128-bit fp error Fix RPM install of includes Merge remote-tracking branch 'origin/rawhide' into upstream-snapshot Remove already landed patches D141581 and D143736 Rebase 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch Nikita Popov (7): Rebase downstream patches Rebase clang-tools-extra patches Add clang-offload-packager to clang_tools_binaries Rebase downstream patches Rebase LLVMHello patch Remove fno-openmp-implicit-rpath patches Restore fno-openmp-implicit-rpath patches Tom Stellard (25): Revert patches that added LLVMHello dependency to clang-tools-extra tests Remove accidentally committed changes from previous commit Add clang-linker-wrapper and clang-pseudo binaries Add test for building an rpm with -fopenmp Add a smaller patch for fixing clang-tools-extra standalone build Update test name Add link to upstream patch for clang-tools-extra Update DWARF-4 patch to fix a test failure Rebase patch Emit DWARF4 by default Fix test after switch to DWARF4 default Fix dwarf test again Add workaround for build failure on i386/f36 Remove accidentally committed change Add back -fno-openmp-implicit-rpath option Fix patch Remove patch that was committed upstream Update -fno-openmp-implicit-rpath patches Drop openmp changes from patch Add fix for test failures on AArch64/f38+rawhide Revert "Add fix for test failures on AArch64/f38+rawhide" Update OpenMP rpath patch copr: Install llvm-snapshot-builder from the local COPR project Remove %clang_resource_dir_readonly macro Move clang-resource-dir to /usr/lib sergesanspaille (5): Rebased clang-tools-extra patches Rebased clang-tools-extra patches rebase downstream patches Rebase downstream patches Rebase downstream patch --- .copr/Makefile | 17 ++++ ...-funwind-tables-the-default-on-all-a.patch | 17 ++-- ...ch => 0001-Produce-DWARF4-by-default.patch | 10 +-- ...python3-as-required-build-dependency.patch | 39 --------- ...a-Make-test-dependency-on-LLVMHello-.patch | 18 ++--- D138472.diff | 53 ------------ D141581.diff | 25 ------ D155192.diff | 12 --- clang.spec | 80 ++++++++++++------- fix-ieee128-cross.diff | 16 ---- macros.clang | 7 +- sources | 8 +- 12 files changed, 95 insertions(+), 207 deletions(-) create mode 100644 .copr/Makefile rename 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch => 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch (61%) rename 0010-PATCH-clang-Produce-DWARF4-by-default.patch => 0001-Produce-DWARF4-by-default.patch (96%) delete mode 100644 0001-clang-set-python3-as-required-build-dependency.patch delete mode 100644 D138472.diff delete mode 100644 D141581.diff delete mode 100644 D155192.diff delete mode 100644 fix-ieee128-cross.diff diff --git a/.copr/Makefile b/.copr/Makefile new file mode 100644 index 0000000..753982b --- /dev/null +++ b/.copr/Makefile @@ -0,0 +1,17 @@ +# See https://docs.pagure.org/copr.copr/user_documentation.html#make-srpm +# See for the --setopt option in the enabling of copr repo see: +# https://pagure.io/copr/copr/issue/184 + +COPR_USERNAME=$(shell rpm --eval %copr_username) +COPR_PROJECT=$(shell rpm --eval %copr_projectname) + +.PHONY: srpm +srpm: + dnf install -y dnf-plugins-core fedora-packager + dnf copr enable -y --setopt=reposdir=/tmp/yum.repos.d $(COPR_USERNAME)/$(COPR_PROJECT) + dnf install -y --setopt=reposdir=/tmp/yum.repos.d llvm-snapshot-builder + rpmbuild \ + --define "_srcrpmdir $(outdir)" \ + --define "_sourcedir $(shell pwd)" \ + --define "_disable_source_fetch 0" \ + -bs $(spec) diff --git a/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch b/0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch similarity index 61% rename from 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch rename to 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch index ce920f9..113f2a7 100644 --- a/0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch +++ b/0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch @@ -1,21 +1,20 @@ -From d95d3fbff661c0390072ed0bb4544d5e2aae5c9a Mon Sep 17 00:00:00 2001 -From: serge-sans-paille -Date: Thu, 25 Feb 2021 14:09:29 +0100 +From 49f827b09db549de62dcaf8b90b3fcb3e08c0ee5 Mon Sep 17 00:00:00 2001 +From: Serge Guelton +Date: Mon, 6 Mar 2023 12:37:48 +0100 Subject: [PATCH] Make -funwind-tables the default on all archs --- - clang/lib/Driver/ToolChains/Gnu.cpp | 5 +++++ - 1 file changed, 5 insertions(+) + clang/lib/Driver/ToolChains/Gnu.cpp | 4 ++++ + 1 file changed, 4 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp -index c8006f3d8412..6ed03adb7702 100644 +index 24fbdcffc07b..8fed46b49515 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp -@@ -2863,6 +2863,11 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const { - case llvm::Triple::ppc64le: +@@ -2904,6 +2904,10 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const { + case llvm::Triple::riscv64: case llvm::Triple::x86: case llvm::Triple::x86_64: -+ + // Enable -funwind-tables on all architectures supported by Fedora: + // rhbz#1655546 + case llvm::Triple::systemz: diff --git a/0010-PATCH-clang-Produce-DWARF4-by-default.patch b/0001-Produce-DWARF4-by-default.patch similarity index 96% rename from 0010-PATCH-clang-Produce-DWARF4-by-default.patch rename to 0001-Produce-DWARF4-by-default.patch index ea81f74..ea2d71e 100644 --- a/0010-PATCH-clang-Produce-DWARF4-by-default.patch +++ b/0001-Produce-DWARF4-by-default.patch @@ -1,6 +1,6 @@ -From 4ea62faaaac1aad0fe496cabe9674c809c91c49a Mon Sep 17 00:00:00 2001 +From 45a9482fad2db1ff39a2bfceba00d42ea8c7b9c9 Mon Sep 17 00:00:00 2001 From: Konrad Kleine -Date: Mon, 13 Feb 2023 17:11:00 -0300 +Date: Thu, 24 Mar 2022 09:44:21 +0100 Subject: [PATCH] Produce DWARF4 by default Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream: @@ -17,7 +17,7 @@ https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h -index f75f35dc9e65..a70ae2b17833 100644 +index 989e631a187e..8761a8be103b 100644 --- a/clang/include/clang/Driver/ToolChain.h +++ b/clang/include/clang/Driver/ToolChain.h @@ -547,7 +547,7 @@ public: @@ -30,7 +30,7 @@ index f75f35dc9e65..a70ae2b17833 100644 // Some toolchains may have different restrictions on the DWARF version and // may need to adjust it. E.g. NVPTX may need to enforce DWARF2 even when host diff --git a/clang/test/CodeGen/dwarf-version.c b/clang/test/CodeGen/dwarf-version.c -index 0a6fa4768026..96f01749d0d8 100644 +index d307eb3f101f..e7e93bf6688c 100644 --- a/clang/test/CodeGen/dwarf-version.c +++ b/clang/test/CodeGen/dwarf-version.c @@ -2,8 +2,8 @@ @@ -119,5 +119,5 @@ index 5a33d5eceb61..cedf895b36dc 100644 ///----------------------------------------------------------------------------- /// Checking include-path -- -2.39.1 +2.31.1 diff --git a/0001-clang-set-python3-as-required-build-dependency.patch b/0001-clang-set-python3-as-required-build-dependency.patch deleted file mode 100644 index 2576518..0000000 --- a/0001-clang-set-python3-as-required-build-dependency.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 96962d5512fbc6af0ada0f13e6be332c026529cb Mon Sep 17 00:00:00 2001 -From: Petr Hosek -Date: Fri, 9 Jun 2023 07:51:40 +0000 -Subject: [PATCH] [clang] set python3 as required build dependency - -The required HTMLLogger include file needs python3 to run -resource_bundle.py to bundle all the html/css/js resources. However, if -user sets -DLLVM_INCLUDE_TESTS=OFF, CMake will not find python3 and the -resource bundler will never be executed. This patch set the python3 as a -required build dependency to fix this problem. - -Patch By: Avimitin - -Differential Revision: https://reviews.llvm.org/D152418 ---- - clang/CMakeLists.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt -index 8220a9dbfd4d..f7936d72e088 100644 ---- a/clang/CMakeLists.txt -+++ b/clang/CMakeLists.txt -@@ -82,10 +82,10 @@ if(CLANG_BUILT_STANDALONE) - set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} ) - set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} ) - -- if(LLVM_INCLUDE_TESTS) -- find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED -- COMPONENTS Interpreter) -+ find_package(Python3 ${LLVM_MINIMUM_PYTHON_VERSION} REQUIRED -+ COMPONENTS Interpreter) - -+ if(LLVM_INCLUDE_TESTS) - # Check prebuilt llvm/utils. - if(EXISTS ${LLVM_TOOLS_BINARY_DIR}/FileCheck${CMAKE_EXECUTABLE_SUFFIX} - AND EXISTS ${LLVM_TOOLS_BINARY_DIR}/count${CMAKE_EXECUTABLE_SUFFIX} --- -2.41.0 - diff --git a/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch index a0b8cb0..b69c7e7 100644 --- a/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch +++ b/0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch @@ -1,6 +1,6 @@ -From 581300e447602b9b7a505b0f07e8461d58d041ca Mon Sep 17 00:00:00 2001 +From 22d62b32cd3be5fb0ae10723b35a781e0f862b71 Mon Sep 17 00:00:00 2001 From: Tom Stellard -Date: Fri, 1 Jul 2022 21:24:17 -0700 +Date: Tue, 24 Jan 2023 22:46:25 +0000 Subject: [PATCH] clang-tools-extra: Make test dependency on LLVMHello optional This fixes clang + clang-tools-extra standalone build after @@ -55,19 +55,19 @@ index c66a94f458cf..b4e7a5d691e5 100644 // CHECK-LIST: Enabled checks: // CHECK-LIST-NEXT: mytest1 diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.py -index 9b99bfd93440..3fca9f25fb48 100644 +index 9f64fd3d2ffa..1b258a00ddf9 100644 --- a/clang-tools-extra/test/lit.cfg.py +++ b/clang-tools-extra/test/lit.cfg.py -@@ -59,6 +59,9 @@ config.substitutions.append( - # Plugins (loadable modules) +@@ -75,6 +75,9 @@ config.substitutions.append(("%clang_tidy_headers", clang_tidy_headers)) if config.has_plugins and config.llvm_plugin_ext: - config.available_features.add('plugins') -+ + config.available_features.add("plugins") + +if config.has_llvm_hello: + config.available_features.add("llvm-hello") - ++ # It is not realistically possible to account for all options that could # possibly be present in system and user configuration files, so disable + # default configs for the test runs. diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in index 4eb830a1baf1..6e5559348454 100644 --- a/clang-tools-extra/test/lit.site.cfg.py.in @@ -81,5 +81,5 @@ index 4eb830a1baf1..6e5559348454 100644 # used when we can't determine the tool dir at configuration time. config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@") -- -2.27.0 +2.40.1 diff --git a/D138472.diff b/D138472.diff deleted file mode 100644 index 5d3cd60..0000000 --- a/D138472.diff +++ /dev/null @@ -1,53 +0,0 @@ -From 04b642c646048dd9df652eba05d45beaa13bc895 Mon Sep 17 00:00:00 2001 -From: Konrad Kleine -Date: Mon, 23 Jan 2023 13:14:17 +0000 -Subject: [PATCH] Rebased D138472 - ---- - clang/CMakeLists.txt | 23 ++++++++++------------- - 1 file changed, 10 insertions(+), 13 deletions(-) - -diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt -index 090cfa352078..f87838776c32 100644 ---- a/clang/CMakeLists.txt -+++ b/clang/CMakeLists.txt -@@ -118,12 +118,11 @@ if(CLANG_BUILT_STANDALONE) - set(LLVM_UTILS_PROVIDED ON) - set(CLANG_TEST_DEPS FileCheck count not) - endif() -- set(UNITTEST_DIR ${LLVM_THIRD_PARTY_DIR}/unittest) -- if(EXISTS ${UNITTEST_DIR}/googletest/include/gtest/gtest.h -- AND NOT EXISTS ${LLVM_LIBRARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX} -- AND EXISTS ${UNITTEST_DIR}/CMakeLists.txt) -- add_subdirectory(${UNITTEST_DIR} third-party/unittest) -- endif() -+ endif() -+ -+ find_package(LLVMGTest HINTS "${LLVM_CMAKE_DIR}") -+ if (NOT TARGET llvm_gtest) -+ message(FATAL_ERROR "llvm-gtest not found. Please install llvm-gtest or disable tests with -DLLVM_INCLUDE_TESTS=OFF") - endif() - - if(LLVM_LIT) -@@ -506,13 +505,11 @@ endif() - - - if( CLANG_INCLUDE_TESTS ) -- if(EXISTS ${LLVM_THIRD_PARTY_DIR}/unittest/googletest/include/gtest/gtest.h) -- add_subdirectory(unittests) -- list(APPEND CLANG_TEST_DEPS ClangUnitTests) -- list(APPEND CLANG_TEST_PARAMS -- clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg -- ) -- endif() -+ add_subdirectory(unittests) -+ list(APPEND CLANG_TEST_DEPS ClangUnitTests) -+ list(APPEND CLANG_TEST_PARAMS -+ clang_unit_site_config=${CMAKE_CURRENT_BINARY_DIR}/test/Unit/lit.site.cfg -+ ) - add_subdirectory(test) - add_subdirectory(bindings/python/tests) - --- -2.34.3 - diff --git a/D141581.diff b/D141581.diff deleted file mode 100644 index c227e22..0000000 --- a/D141581.diff +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt ---- a/clang/lib/Basic/CMakeLists.txt -+++ b/clang/lib/Basic/CMakeLists.txt -@@ -110,7 +110,7 @@ - - DEPENDS - omp_gen -- RISCVTargetParserTableGen -+ LLVMTargetParser - ) - - target_link_libraries(clangBasic -diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt ---- a/clang/lib/Driver/CMakeLists.txt -+++ b/clang/lib/Driver/CMakeLists.txt -@@ -93,7 +93,7 @@ - - DEPENDS - ClangDriverOptions -- RISCVTargetParserTableGen -+ LLVMTargetParser - - LINK_LIBS - clangBasic - diff --git a/D155192.diff b/D155192.diff deleted file mode 100644 index d53698c..0000000 --- a/D155192.diff +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view ---- a/clang/tools/scan-view/bin/scan-view -+++ b/clang/tools/scan-view/bin/scan-view -@@ -6,7 +6,6 @@ - """ - - import sys --import imp - import os - import posixpath - import threading - diff --git a/clang.spec b/clang.spec index 25ff11b..7baf863 100644 --- a/clang.spec +++ b/clang.spec @@ -1,3 +1,9 @@ +%bcond_with snapshot_build + +%if %{with snapshot_build} +%{llvm_sb} +%endif + %global toolchain clang # Opt out of https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer @@ -7,10 +13,18 @@ %bcond_with compat_build %bcond_without check -%global maj_ver 16 +%global maj_ver 17 %global min_ver 0 -%global patch_ver 6 -#global rc_ver 4 +%global patch_ver 0 +%global rc_ver 1 + +%if %{with snapshot_build} +%undefine rc_ver +%global maj_ver %{llvm_snapshot_version_major} +%global min_ver %{llvm_snapshot_version_minor} +%global patch_ver %{llvm_snapshot_version_patch} +%endif + %global clang_version %{maj_ver}.%{min_ver}.%{patch_ver} %if %{with compat_build} @@ -40,12 +54,18 @@ %global clang_tools_srcdir clang-tools-extra-%{clang_version}%{?rc_ver:rc%{rc_ver}}.src Name: %pkg_name -Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}} -Release: 3%{?dist} +Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}%{?llvm_snapshot_version_suffix:~%{llvm_snapshot_version_suffix}} +Release: 1%{?dist} Summary: A C language family front-end for LLVM License: Apache-2.0 WITH LLVM-exception OR NCSA URL: http://llvm.org +%if %{with snapshot_build} +Source0: %{llvm_snapshot_source_prefix}clang-%{llvm_snapshot_yyyymmdd}.src.tar.xz +Source1: %{llvm_snapshot_source_prefix}clang-tools-extra-%{llvm_snapshot_yyyymmdd}.src.tar.xz +%{llvm_snapshot_extra_source_tags} + +%else Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz Source3: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz.sig %if %{without compat_build} @@ -53,31 +73,18 @@ Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_ Source2: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_tools_srcdir}.tar.xz.sig %endif Source4: release-keys.asc +%endif %if %{without compat_build} Source5: macros.%{name} %endif # Patches for clang -Patch1: 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch +Patch1: 0001-PATCH-clang-Make-funwind-tables-the-default-on-all-a.patch Patch2: 0003-PATCH-clang-Don-t-install-static-libraries.patch Patch3: 0001-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch # Drop the following patch after debugedit adds support to DWARF-5: # https://sourceware.org/bugzilla/show_bug.cgi?id=28728 -Patch5: 0010-PATCH-clang-Produce-DWARF4-by-default.patch -# Make clangBasic and clangDriver depend on LLVMTargetParser -# See https://reviews.llvm.org/D141581 -Patch7: D141581.diff -# clang/cmake: Use installed gtest libraries for stand-alone builds -# See https://reviews.llvm.org/D138472 -Patch8: D138472.diff - -# Backport from LLVM 18. -Patch9: 0001-clang-set-python3-as-required-build-dependency.patch - -Patch10: fix-ieee128-cross.diff - -# https://reviews.llvm.org/D155192 -Patch11: D155192.diff +Patch4: 0001-Produce-DWARF4-by-default.patch # RHEL specific patches # Avoid unwanted dependency on python-recommonmark @@ -270,17 +277,21 @@ Requires: python3 %prep +%if %{without snapshot_build} %{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE3}' --data='%{SOURCE0}' +%endif %if %{with compat_build} %autosetup -n %{clang_srcdir} -p2 %else +%if %{without snapshot_build} %{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE2}' --data='%{SOURCE1}' +%endif + %setup -T -q -b 1 -n %{clang_tools_srcdir} %autopatch -m200 -p2 - # failing test case rm test/clang-tidy/checkers/altera/struct-pack-align.cpp @@ -314,6 +325,12 @@ rm test/CodeGen/profile-filter.c %define _lto_cflags %{nil} %endif +# Disable LTO to speed up builds +%if %{with snapshot_build} +%global _lto_cflags %nil +%endif + + %if 0%{?__isa_bits} == 64 sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py %else @@ -332,7 +349,7 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py # We set CLANG_DEFAULT_PIE_ON_LINUX=OFF and PPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON to match the # defaults used by Fedora's GCC. -%cmake -G Ninja \ +%cmake -G Ninja \ -DCLANG_DEFAULT_PIE_ON_LINUX=OFF \ %if 0%{?fedora} || 0%{?rhel} > 9 -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=ON \ @@ -364,6 +381,10 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py %else -DLLVM_LIBDIR_SUFFIX= \ %endif +%endif + \ +%if %{with snapshot_build} + -DLLVM_VERSION_SUFFIX="%{llvm_snapshot_version_suffix}" \ %endif \ %if %{with compat_build} @@ -387,6 +408,7 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py -DCLANG_BUILD_EXAMPLES:BOOL=OFF \ -DBUILD_SHARED_LIBS=OFF \ -DCLANG_REPOSITORY_STRING="%{?dist_vendor} %{version}-%{release}" \ + -DCLANG_RESOURCE_DIR=../lib/clang/%{maj_ver} \ %ifarch %{arm} -DCLANG_DEFAULT_LINKER=lld \ %endif @@ -510,13 +532,8 @@ false %endif %files libs -%if %{without compat_build} -%{_libdir}/clang/%{maj_ver}/include/* -%{_libdir}/*.so.* -%else +%{install_prefix}/lib/clang/%{maj_ver}/include/* %{install_libdir}/*.so.* -%{install_libdir}/clang/%{maj_ver}/include/* -%endif %files devel %if %{without compat_build} @@ -616,6 +633,11 @@ false %endif %changelog +%{?llvm_snapshot_changelog_entry} + +* Tue Aug 01 2023 Tulio Magno Quites Machado Filho - 17.0.0~rc1-1 +- Update to LLVM 17.0.0 RC1 + * Wed Jul 19 2023 Fedora Release Engineering - 16.0.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/fix-ieee128-cross.diff b/fix-ieee128-cross.diff deleted file mode 100644 index 218c229..0000000 --- a/fix-ieee128-cross.diff +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/clang/test/Driver/ppc-float-abi-warning.cpp b/clang/test/Driver/ppc-float-abi-warning.cpp -index e3baa9f4c059..87d6d87a3b31 100644 ---- a/clang/test/Driver/ppc-float-abi-warning.cpp -+++ b/clang/test/Driver/ppc-float-abi-warning.cpp -@@ -17,10 +17,12 @@ - // RUN: -mabi=ieeelongdouble -stdlib=libc++ -Wno-unsupported-abi 2>&1 | \ - // RUN: FileCheck %s --check-prefix=NOWARN - // RUN: %clang -### --driver-mode=g++ -target powerpc64le-linux-gnu %s\ -+// RUN: --dyld-prefix=%S/Inputs/powerpc64le-linux-gnu-tree/gcc-12 \ - // RUN: -mabi=%if ppc_linux_default_ieeelongdouble %{ieeelongdouble%} \ - // RUN: %else %{ibmlongdouble%} -stdlib=libc++ 2>&1 | \ - // RUN: FileCheck %s --check-prefix=NOWARN - // RUN: %clang -### --driver-mode=g++ -target powerpc64le-linux-gnu %s\ -+// RUN: --dyld-prefix=%S/Inputs/powerpc64le-linux-gnu-tree/gcc-12 \ - // RUN: -mabi=%if ppc_linux_default_ieeelongdouble %{ibmlongdouble%} \ - // RUN: %else %{ieeelongdouble%} -stdlib=libc++ 2>&1 | FileCheck %s diff --git a/macros.clang b/macros.clang index 6f35452..88f259d 100644 --- a/macros.clang +++ b/macros.clang @@ -8,9 +8,4 @@ # headers and libraries. This path should be used by packages that need to # install files into this directory. This macro's value changes every time # clang's version changes. -%clang_resource_dir %{_libdir}/clang/%{clang_major_version} - -# This is the path to the clang resource directory that should be used -# by packages that need to read files from this directory at runtime. -# This macro only changes when clang's major version changes. -%clang_resource_dir_readonly %{_libdir}/clang/%{clang_major_version} +%clang_resource_dir %{_prefix}/lib/clang/%{clang_major_version} diff --git a/sources b/sources index 38b7fe9..16eeeaa 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -SHA512 (clang-16.0.6.src.tar.xz) = 92c65b882e1504f4a9b8a3f6b8a24061505987aaacc8bb835115b4e4d74ac3a8c98343a308567b07c6b42bb99877c300bce3c4a5a25ada77abe65606aa25188d -SHA512 (clang-tools-extra-16.0.6.src.tar.xz) = ec1a0834f223e393d24c11586b744167a41cea6c39d1bb18c433d2fb736501950fdff42f1eb0caa13c75bcb8ef9ac309eb0687644307698ec0420ff8a769c710 -SHA512 (clang-tools-extra-16.0.6.src.tar.xz.sig) = ff94fe024399bb72da10752ad1c41d57dcf5094b11ef5abdb82189026db0d7016c7ede0f47b7841aaa823de75bd927f8a1ffdbc112c5a0f61dec878790b5e7e3 -SHA512 (clang-16.0.6.src.tar.xz.sig) = a3e68c07d61ce62dfe406464f1afce352f36480966ceaa3171889ac1f02441d9df48e938b3e81d6b73b5957dd6623171323a9915281dc052be0c5c7014e75f24 +SHA512 (clang-17.0.0rc1.src.tar.xz) = d41d24e6b0db52879de9659bff0ea6af3e2299f952ef7d4908a6f0c8b24b1b01f4f9ec217a89418cc6ccf33024d36d4da94516190b49d5a053603b38621929b3 +SHA512 (clang-17.0.0rc1.src.tar.xz.sig) = 6037b09cf7cc055ea9be5d22f8fea4e94ed7ed8d54af7820693de920a130a23d1326a2202c22077a0b55dd0574f2391753da5b27bced52995a838ca080f7c89c +SHA512 (clang-tools-extra-17.0.0rc1.src.tar.xz) = 0a98f1d4072b2856de47250bad21e1a19554a3693e98e1a4308fcab60bb132edfffb58607d9ef25a6bcc920850e7c1aa9c63ad23fa19d42ca83897f463ba5e1f +SHA512 (clang-tools-extra-17.0.0rc1.src.tar.xz.sig) = 0fa5a976d9649fc48c6e7078c9c072875abcff0179e8c1fe3f295d940c3c68dd471b626c7f8540f24beada502ed8214ee93d11f63762dc60dfeb55965887a939