import UBI clang-16.0.6-1.el9
This commit is contained in:
parent
5117349fb5
commit
a14488b497
@ -1,3 +1,4 @@
|
|||||||
7b4d1188cce1ce4ea1cf2ea362fba685c4aca34d SOURCES/clang-15.0.7.src.tar.xz
|
f005e3b6d41cf92c083d2a16960aaeb1a6e3c76c SOURCES/clang-16.0.6.src.tar.xz
|
||||||
752fe847136eff2dfbfcc8bbddfaa9319532d104 SOURCES/clang-tools-extra-15.0.7.src.tar.xz
|
bc19124e64c0ffe7ada3d4bad8aec42c0cd05f04 SOURCES/clang-16.0.6.src.tar.xz.sig
|
||||||
347bdd5ee6d6b93c9644c268511815912c0fb2dc SOURCES/release-keys.asc
|
41c06d541cfcc126ddc344e7f162148f2ecf0461 SOURCES/clang-tools-extra-16.0.6.src.tar.xz
|
||||||
|
cc29485778a6c94ed98f3b2dfb754ef513535691 SOURCES/clang-tools-extra-16.0.6.src.tar.xz.sig
|
||||||
|
7
.gitignore
vendored
7
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
SOURCES/clang-15.0.7.src.tar.xz
|
SOURCES/clang-16.0.6.src.tar.xz
|
||||||
SOURCES/clang-tools-extra-15.0.7.src.tar.xz
|
SOURCES/clang-16.0.6.src.tar.xz.sig
|
||||||
SOURCES/release-keys.asc
|
SOURCES/clang-tools-extra-16.0.6.src.tar.xz
|
||||||
|
SOURCES/clang-tools-extra-16.0.6.src.tar.xz.sig
|
||||||
|
30
SOURCES/0001-Change-LLVM_COMMON_CMAKE_UTILS-usage.patch
Normal file
30
SOURCES/0001-Change-LLVM_COMMON_CMAKE_UTILS-usage.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 2a0175c88ccd8c162901ac0ade56859d2b599f38 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nikita Popov <npopov@redhat.com>
|
||||||
|
Date: Mon, 17 Apr 2023 16:19:04 +0200
|
||||||
|
Subject: [PATCH] Change LLVM_COMMON_CMAKE_UTILS usage
|
||||||
|
|
||||||
|
Let LLVM_COMMON_CMAKE_UTILS store the directory where cmake modules are
|
||||||
|
available and stop assuming its directory structure.
|
||||||
|
---
|
||||||
|
clang/CMakeLists.txt | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
|
||||||
|
index 1fff005d6525..f4b3ef4bd15a 100644
|
||||||
|
--- a/clang/CMakeLists.txt
|
||||||
|
+++ b/clang/CMakeLists.txt
|
||||||
|
@@ -1,9 +1,9 @@
|
||||||
|
cmake_minimum_required(VERSION 3.13.4)
|
||||||
|
|
||||||
|
if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
|
||||||
|
- set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
|
||||||
|
+ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/Modules)
|
||||||
|
endif()
|
||||||
|
-include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
|
||||||
|
+include(${LLVM_COMMON_CMAKE_UTILS}/CMakePolicy.cmake
|
||||||
|
NO_POLICY_SCOPE)
|
||||||
|
|
||||||
|
# If we are not building as a part of LLVM, build Clang as an
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
@ -0,0 +1,41 @@
|
|||||||
|
From 73d3b4047d757ef35850e2cef38285b96be82f0f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nikita Popov <npopov@redhat.com>
|
||||||
|
Date: Tue, 23 May 2023 12:17:29 +0200
|
||||||
|
Subject: [PATCH] [Driver] Give devtoolset path precedence over InstalledDir
|
||||||
|
|
||||||
|
This is a followup to the change from c5fe10f365247c3dd9416b7ec8bad73a60b5946e.
|
||||||
|
While that commit correctly adds the bindir from devtoolset to the
|
||||||
|
path, the driver dir / install dir still comes first. This means
|
||||||
|
we'll still end up picking /usr/bin/ld rather than the one from
|
||||||
|
devtoolset.
|
||||||
|
|
||||||
|
Unfortunately, I don't see any way to test this. In the environment
|
||||||
|
the tests are run, this would only result in a behavior difference
|
||||||
|
if there is an ld binary present in the LLVM build directory, which
|
||||||
|
isn't the case.
|
||||||
|
|
||||||
|
Differential Revision: https://reviews.llvm.org/D151203
|
||||||
|
---
|
||||||
|
clang/lib/Driver/ToolChains/Linux.cpp | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
|
||||||
|
index 853ff99d9fe5..aecabb46d4b9 100644
|
||||||
|
--- a/clang/lib/Driver/ToolChains/Linux.cpp
|
||||||
|
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
|
||||||
|
@@ -244,9 +244,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||||
|
// With devtoolset on RHEL, we want to add a bin directory that is relative
|
||||||
|
// to the detected gcc install, because if we are using devtoolset gcc then
|
||||||
|
// we want to use other tools from devtoolset (e.g. ld) instead of the
|
||||||
|
- // standard system tools.
|
||||||
|
- PPaths.push_back(Twine(GCCInstallation.getParentLibPath() +
|
||||||
|
- "/../bin").str());
|
||||||
|
+ // standard system tools. This should take precedence over InstalledDir.
|
||||||
|
+ PPaths.insert(PPaths.begin(),
|
||||||
|
+ Twine(GCCInstallation.getParentLibPath() + "/../bin").str());
|
||||||
|
|
||||||
|
if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb)
|
||||||
|
ExtraOpts.push_back("-X");
|
||||||
|
--
|
||||||
|
2.40.1
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 1d639f1379fc052b8437284955b1cb0baf880894 Mon Sep 17 00:00:00 2001
|
From 581300e447602b9b7a505b0f07e8461d58d041ca Mon Sep 17 00:00:00 2001
|
||||||
From: Tom Stellard <tstellar@redhat.com>
|
From: Tom Stellard <tstellar@redhat.com>
|
||||||
Date: Fri, 1 Jul 2022 21:24:17 -0700
|
Date: Fri, 1 Jul 2022 21:24:17 -0700
|
||||||
Subject: clang-tools-extra: Make test dependency on LLVMHello optional
|
Subject: [PATCH] clang-tools-extra: Make test dependency on LLVMHello optional
|
||||||
|
|
||||||
This fixes clang + clang-tools-extra standalone build after
|
This fixes clang + clang-tools-extra standalone build after
|
||||||
36892727e4f19a60778e371d78f8fb09d8122c85.
|
36892727e4f19a60778e371d78f8fb09d8122c85.
|
||||||
@ -58,13 +58,16 @@ diff --git a/clang-tools-extra/test/lit.cfg.py b/clang-tools-extra/test/lit.cfg.
|
|||||||
index 9b99bfd93440..3fca9f25fb48 100644
|
index 9b99bfd93440..3fca9f25fb48 100644
|
||||||
--- a/clang-tools-extra/test/lit.cfg.py
|
--- a/clang-tools-extra/test/lit.cfg.py
|
||||||
+++ b/clang-tools-extra/test/lit.cfg.py
|
+++ b/clang-tools-extra/test/lit.cfg.py
|
||||||
@@ -59,3 +59,6 @@ config.substitutions.append(
|
@@ -59,6 +59,9 @@ config.substitutions.append(
|
||||||
# Plugins (loadable modules)
|
# Plugins (loadable modules)
|
||||||
if config.has_plugins and config.llvm_plugin_ext:
|
if config.has_plugins and config.llvm_plugin_ext:
|
||||||
config.available_features.add('plugins')
|
config.available_features.add('plugins')
|
||||||
+
|
+
|
||||||
+if config.has_llvm_hello:
|
+if config.has_llvm_hello:
|
||||||
+ config.available_features.add("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
|
||||||
diff --git a/clang-tools-extra/test/lit.site.cfg.py.in b/clang-tools-extra/test/lit.site.cfg.py.in
|
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
|
index 4eb830a1baf1..6e5559348454 100644
|
||||||
--- a/clang-tools-extra/test/lit.site.cfg.py.in
|
--- a/clang-tools-extra/test/lit.site.cfg.py.in
|
||||||
@ -78,5 +81,5 @@ index 4eb830a1baf1..6e5559348454 100644
|
|||||||
# used when we can't determine the tool dir at configuration time.
|
# used when we can't determine the tool dir at configuration time.
|
||||||
config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
config.llvm_tools_dir = lit_config.substitute("@LLVM_TOOLS_DIR@")
|
||||||
--
|
--
|
||||||
2.37.1
|
2.27.0
|
||||||
|
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
From 1d224b408bc6754bcea9e0b226d6c440f5a4f8fd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nikita Popov <npopov@redhat.com>
|
|
||||||
Date: Fri, 2 Sep 2022 16:30:15 +0200
|
|
||||||
Subject: Mark fopenmp-implicit-rpath as NoArgumentUnused
|
|
||||||
|
|
||||||
We pass this option unconditionally in LDFLAGS, make sure this
|
|
||||||
does not warn if openmp is not used, as this may break some
|
|
||||||
build systems.
|
|
||||||
---
|
|
||||||
clang/include/clang/Driver/Options.td | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
|
|
||||||
index 3cab37b21aaf..4452364f92da 100644
|
|
||||||
--- a/clang/include/clang/Driver/Options.td
|
|
||||||
+++ b/clang/include/clang/Driver/Options.td
|
|
||||||
@@ -4116,7 +4116,8 @@ defm openmp_implicit_rpath: BoolFOption<"openmp-implicit-rpath",
|
|
||||||
LangOpts<"OpenMP">,
|
|
||||||
DefaultTrue,
|
|
||||||
PosFlag<SetTrue, [], "Set rpath on OpenMP executables">,
|
|
||||||
- NegFlag<SetFalse>>;
|
|
||||||
+ NegFlag<SetFalse>,
|
|
||||||
+ BothFlags<[NoArgumentUnused]>>;
|
|
||||||
def r : Flag<["-"], "r">, Flags<[LinkerInput,NoArgumentUnused]>,
|
|
||||||
Group<Link_Group>;
|
|
||||||
def save_temps_EQ : Joined<["-", "--"], "save-temps=">, Flags<[CC1Option, FlangOption, NoXarchOption]>,
|
|
||||||
--
|
|
||||||
2.37.1
|
|
||||||
|
|
@ -1,27 +1,28 @@
|
|||||||
From 54806261c76384ae45de93b7b5ac2de4e74bb7ae Mon Sep 17 00:00:00 2001
|
From d95d3fbff661c0390072ed0bb4544d5e2aae5c9a Mon Sep 17 00:00:00 2001
|
||||||
From: serge-sans-paille <sguelton@redhat.com>
|
From: serge-sans-paille <sguelton@redhat.com>
|
||||||
Date: Wed, 21 Sep 2022 12:21:06 +0200
|
Date: Thu, 25 Feb 2021 14:09:29 +0100
|
||||||
Subject: Make -funwind-tables the default on all archs
|
Subject: [PATCH] Make -funwind-tables the default on all archs
|
||||||
|
|
||||||
---
|
---
|
||||||
clang/lib/Driver/ToolChains/Gnu.cpp | 4 ++++
|
clang/lib/Driver/ToolChains/Gnu.cpp | 5 +++++
|
||||||
1 file changed, 4 insertions(+)
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||||
index 12fa2da3187e..96527ed52445 100644
|
index c8006f3d8412..6ed03adb7702 100644
|
||||||
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
--- a/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||||
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
|
||||||
@@ -2845,6 +2845,10 @@ bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
@@ -2863,6 +2863,11 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const {
|
||||||
case llvm::Triple::ppc64le:
|
case llvm::Triple::ppc64le:
|
||||||
case llvm::Triple::x86:
|
case llvm::Triple::x86:
|
||||||
case llvm::Triple::x86_64:
|
case llvm::Triple::x86_64:
|
||||||
|
+
|
||||||
+ // Enable -funwind-tables on all architectures supported by Fedora:
|
+ // Enable -funwind-tables on all architectures supported by Fedora:
|
||||||
+ // rhbz#1655546
|
+ // rhbz#1655546
|
||||||
+ case llvm::Triple::systemz:
|
+ case llvm::Triple::systemz:
|
||||||
+ case llvm::Triple::arm:
|
+ case llvm::Triple::arm:
|
||||||
return true;
|
return UnwindTableLevel::Asynchronous;
|
||||||
default:
|
default:
|
||||||
return false;
|
return UnwindTableLevel::None;
|
||||||
--
|
--
|
||||||
2.37.1
|
2.39.1
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
From ccfad825687fc45d04ddb987c476dfafb26e56d9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: serge-sans-paille <sguelton@redhat.com>
|
|
||||||
Date: Thu, 25 Feb 2021 14:04:52 +0100
|
|
||||||
Subject: Reorganize gtest integration
|
|
||||||
|
|
||||||
---
|
|
||||||
clang/CMakeLists.txt | 12 +++++-------
|
|
||||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/clang/CMakeLists.txt b/clang/CMakeLists.txt
|
|
||||||
index 13d76e7fd935..7452bafb0756 100644
|
|
||||||
--- a/clang/CMakeLists.txt
|
|
||||||
+++ b/clang/CMakeLists.txt
|
|
||||||
@@ -159,12 +159,6 @@ if(CLANG_BUILT_STANDALONE)
|
|
||||||
set(LLVM_UTILS_PROVIDED ON)
|
|
||||||
set(CLANG_TEST_DEPS FileCheck count not)
|
|
||||||
endif()
|
|
||||||
- set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/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} utils/unittest)
|
|
||||||
- endif()
|
|
||||||
else()
|
|
||||||
# Seek installed Lit.
|
|
||||||
find_program(LLVM_LIT
|
|
||||||
@@ -586,7 +580,11 @@ endif()
|
|
||||||
|
|
||||||
|
|
||||||
if( CLANG_INCLUDE_TESTS )
|
|
||||||
- if(EXISTS ${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include/gtest/gtest.h)
|
|
||||||
+ set(UNITTEST_DIR ${LLVM_MAIN_SRC_DIR}/utils/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} utils/unittest)
|
|
||||||
add_subdirectory(unittests)
|
|
||||||
list(APPEND CLANG_TEST_DEPS ClangUnitTests)
|
|
||||||
list(APPEND CLANG_TEST_PARAMS
|
|
||||||
--
|
|
||||||
2.37.1
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
From 0ff89f236b9cc11662cf4f288cfd3254410d8243 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nikita Popov <npopov@redhat.com>
|
|
||||||
Date: Thu, 3 Feb 2022 10:34:44 +0100
|
|
||||||
Subject: Work around gcc miscompile
|
|
||||||
|
|
||||||
This works around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104334,
|
|
||||||
which miscompiles clang on s390x and ppc64le. The issue is already
|
|
||||||
fixed on the gcc side, but including this as a temporary workaround
|
|
||||||
to get a working build.
|
|
||||||
---
|
|
||||||
clang/lib/Sema/DeclSpec.cpp | 5 +++--
|
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/clang/lib/Sema/DeclSpec.cpp b/clang/lib/Sema/DeclSpec.cpp
|
|
||||||
index d4dc790c008a..77a1e6c32c6f 100644
|
|
||||||
--- a/clang/lib/Sema/DeclSpec.cpp
|
|
||||||
+++ b/clang/lib/Sema/DeclSpec.cpp
|
|
||||||
@@ -1203,8 +1203,9 @@ void DeclSpec::Finish(Sema &S, const PrintingPolicy &Policy) {
|
|
||||||
} else if (TypeSpecType == TST_double) {
|
|
||||||
// vector long double and vector long long double are never allowed.
|
|
||||||
// vector double is OK for Power7 and later, and ZVector.
|
|
||||||
- if (getTypeSpecWidth() == TypeSpecifierWidth::Long ||
|
|
||||||
- getTypeSpecWidth() == TypeSpecifierWidth::LongLong)
|
|
||||||
+ TypeSpecifierWidth TypeSpecWidth = getTypeSpecWidth();
|
|
||||||
+ if (TypeSpecWidth == TypeSpecifierWidth::Long ||
|
|
||||||
+ TypeSpecWidth == TypeSpecifierWidth::LongLong)
|
|
||||||
S.Diag(TSWRange.getBegin(),
|
|
||||||
diag::err_invalid_vector_long_double_decl_spec);
|
|
||||||
else if (!S.Context.getTargetInfo().hasFeature("vsx") &&
|
|
||||||
--
|
|
||||||
2.37.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 62728c7321a2d07f7d22dadc2b8565ad512b3da4 Mon Sep 17 00:00:00 2001
|
From 4ea62faaaac1aad0fe496cabe9674c809c91c49a Mon Sep 17 00:00:00 2001
|
||||||
From: Konrad Kleine <kkleine@redhat.com>
|
From: Konrad Kleine <kkleine@redhat.com>
|
||||||
Date: Thu, 24 Mar 2022 09:44:21 +0100
|
Date: Mon, 13 Feb 2023 17:11:00 -0300
|
||||||
Subject: Produce DWARF4 by default
|
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:
|
Have a look at the following commit to see when the move from DWARF 4 to 5 first happened upstream:
|
||||||
|
|
||||||
@ -9,18 +9,19 @@ https://github.com/llvm/llvm-project/commit/d3b26dea16108c427b19b5480c9edc76edf8
|
|||||||
---
|
---
|
||||||
clang/include/clang/Driver/ToolChain.h | 2 +-
|
clang/include/clang/Driver/ToolChain.h | 2 +-
|
||||||
clang/test/CodeGen/dwarf-version.c | 4 ++--
|
clang/test/CodeGen/dwarf-version.c | 4 ++--
|
||||||
|
clang/test/Driver/as-options.s | 4 ++--
|
||||||
clang/test/Driver/cl-options.c | 2 +-
|
clang/test/Driver/cl-options.c | 2 +-
|
||||||
clang/test/Driver/clang-g-opts.c | 2 +-
|
clang/test/Driver/clang-g-opts.c | 2 +-
|
||||||
clang/test/Driver/ve-toolchain.c | 2 +-
|
clang/test/Driver/ve-toolchain.c | 2 +-
|
||||||
clang/test/Driver/ve-toolchain.cpp | 2 +-
|
clang/test/Driver/ve-toolchain.cpp | 2 +-
|
||||||
6 files changed, 7 insertions(+), 7 deletions(-)
|
7 files changed, 9 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
|
diff --git a/clang/include/clang/Driver/ToolChain.h b/clang/include/clang/Driver/ToolChain.h
|
||||||
index f20ab164531b..53c86ee82936 100644
|
index f75f35dc9e65..a70ae2b17833 100644
|
||||||
--- a/clang/include/clang/Driver/ToolChain.h
|
--- a/clang/include/clang/Driver/ToolChain.h
|
||||||
+++ b/clang/include/clang/Driver/ToolChain.h
|
+++ b/clang/include/clang/Driver/ToolChain.h
|
||||||
@@ -535,7 +535,7 @@ public:
|
@@ -547,7 +547,7 @@ public:
|
||||||
|
|
||||||
// Return the DWARF version to emit, in the absence of arguments
|
// Return the DWARF version to emit, in the absence of arguments
|
||||||
// to the contrary.
|
// to the contrary.
|
||||||
- virtual unsigned GetDefaultDwarfVersion() const { return 5; }
|
- virtual unsigned GetDefaultDwarfVersion() const { return 5; }
|
||||||
@ -43,19 +44,41 @@ index 0a6fa4768026..96f01749d0d8 100644
|
|||||||
|
|
||||||
// The -isysroot is used as a hack to avoid LIT messing with the SDKROOT
|
// The -isysroot is used as a hack to avoid LIT messing with the SDKROOT
|
||||||
// environment variable which indirecty overrides the version in the target
|
// environment variable which indirecty overrides the version in the target
|
||||||
|
diff --git a/clang/test/Driver/as-options.s b/clang/test/Driver/as-options.s
|
||||||
|
index 73d002c7ef7e..71d55f7fd537 100644
|
||||||
|
--- a/clang/test/Driver/as-options.s
|
||||||
|
+++ b/clang/test/Driver/as-options.s
|
||||||
|
@@ -122,7 +122,7 @@
|
||||||
|
// RUN: FileCheck --check-prefix=DEBUG %s
|
||||||
|
// RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -g0 -g %s -### 2>&1 | \
|
||||||
|
// RUN: FileCheck --check-prefix=DEBUG %s
|
||||||
|
-// DEBUG: "-g" "-gdwarf-5"
|
||||||
|
+// DEBUG: "-g" "-gdwarf-4"
|
||||||
|
// RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -g -g0 %s -### 2>&1 | \
|
||||||
|
// RUN: FileCheck --check-prefix=NODEBUG %s
|
||||||
|
// RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-5 -g0 %s -### 2>&1 | \
|
||||||
|
@@ -141,7 +141,7 @@
|
||||||
|
// RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-2 %s -### 2>&1 | \
|
||||||
|
// RUN: FileCheck --check-prefix=GDWARF2 %s
|
||||||
|
// RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf %s -### 2>&1 | \
|
||||||
|
-// RUN: FileCheck --check-prefix=GDWARF5 %s
|
||||||
|
+// RUN: FileCheck --check-prefix=GDWARF4 %s
|
||||||
|
|
||||||
|
// RUN: %clang --target=aarch64-linux-gnu -fno-integrated-as -gdwarf-5 %s -### 2>&1 | \
|
||||||
|
// RUN: FileCheck --check-prefix=GDWARF5 %s
|
||||||
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
|
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
|
||||||
index a2e350a0a835..01889ba0bf9b 100644
|
index 1d588bdfc1b0..1ad57aedc3a4 100644
|
||||||
--- a/clang/test/Driver/cl-options.c
|
--- a/clang/test/Driver/cl-options.c
|
||||||
+++ b/clang/test/Driver/cl-options.c
|
+++ b/clang/test/Driver/cl-options.c
|
||||||
@@ -570,7 +570,7 @@
|
@@ -575,7 +575,7 @@
|
||||||
// RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s
|
// RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s
|
||||||
// Z7_gdwarf: "-gcodeview"
|
// Z7_gdwarf: "-gcodeview"
|
||||||
// Z7_gdwarf: "-debug-info-kind=constructor"
|
// Z7_gdwarf: "-debug-info-kind=constructor"
|
||||||
-// Z7_gdwarf: "-dwarf-version=
|
-// Z7_gdwarf: "-dwarf-version=
|
||||||
+// Z7_gdwarf: "-dwarf-version=4
|
+// Z7_gdwarf: "-dwarf-version=4
|
||||||
|
|
||||||
// RUN: %clang_cl -fmsc-version=1800 -TP -### -- %s 2>&1 | FileCheck -check-prefix=CXX11 %s
|
// RUN: %clang_cl /ZH:MD5 /c -### -- %s 2>&1 | FileCheck -check-prefix=ZH_MD5 %s
|
||||||
// CXX11: -std=c++11
|
// ZH_MD5: "-gsrc-hash=md5"
|
||||||
diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c
|
diff --git a/clang/test/Driver/clang-g-opts.c b/clang/test/Driver/clang-g-opts.c
|
||||||
index d982b1070cae..bb129e75769c 100644
|
index d982b1070cae..bb129e75769c 100644
|
||||||
--- a/clang/test/Driver/clang-g-opts.c
|
--- a/clang/test/Driver/clang-g-opts.c
|
||||||
@ -96,5 +119,5 @@ index 5a33d5eceb61..cedf895b36dc 100644
|
|||||||
///-----------------------------------------------------------------------------
|
///-----------------------------------------------------------------------------
|
||||||
/// Checking include-path
|
/// Checking include-path
|
||||||
--
|
--
|
||||||
2.37.1
|
2.39.1
|
||||||
|
|
@ -1,74 +0,0 @@
|
|||||||
From bc9aa904bf9d24e7f39a2a866ff6b463858b6ccb Mon Sep 17 00:00:00 2001
|
|
||||||
From: serge-sans-paille <sguelton@redhat.com>
|
|
||||||
Date: Wed, 21 Sep 2022 16:08:45 +0200
|
|
||||||
Subject: [PATCH] [clang] Fix interaction between asm labels and inline
|
|
||||||
builtins
|
|
||||||
|
|
||||||
One must pick the same name as the one referenced in CodeGenFunction when
|
|
||||||
generating .inline version of an inline builtin, otherwise they are not
|
|
||||||
correctly replaced.
|
|
||||||
|
|
||||||
Differential Revision: https://reviews.llvm.org/D134362
|
|
||||||
---
|
|
||||||
clang/lib/CodeGen/CGExpr.cpp | 5 ++-
|
|
||||||
.../test/CodeGen/asm-label-inline-builtins.c | 32 +++++++++++++++++++
|
|
||||||
2 files changed, 36 insertions(+), 1 deletion(-)
|
|
||||||
create mode 100644 clang/test/CodeGen/asm-label-inline-builtins.c
|
|
||||||
|
|
||||||
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
|
|
||||||
index bf3dd812b9e8..a951d53423bf 100644
|
|
||||||
--- a/clang/lib/CodeGen/CGExpr.cpp
|
|
||||||
+++ b/clang/lib/CodeGen/CGExpr.cpp
|
|
||||||
@@ -5046,7 +5046,10 @@ static CGCallee EmitDirectCallee(CodeGenFunction &CGF, GlobalDecl GD) {
|
|
||||||
if (auto builtinID = FD->getBuiltinID()) {
|
|
||||||
std::string NoBuiltinFD = ("no-builtin-" + FD->getName()).str();
|
|
||||||
std::string NoBuiltins = "no-builtins";
|
|
||||||
- std::string FDInlineName = (FD->getName() + ".inline").str();
|
|
||||||
+
|
|
||||||
+ auto *A = FD->getAttr<AsmLabelAttr>();
|
|
||||||
+ StringRef Ident = A ? A->getLabel() : FD->getName();
|
|
||||||
+ std::string FDInlineName = (Ident + ".inline").str();
|
|
||||||
|
|
||||||
bool IsPredefinedLibFunction =
|
|
||||||
CGF.getContext().BuiltinInfo.isPredefinedLibFunction(builtinID);
|
|
||||||
diff --git a/clang/test/CodeGen/asm-label-inline-builtins.c b/clang/test/CodeGen/asm-label-inline-builtins.c
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..ab9afc29411d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/clang/test/CodeGen/asm-label-inline-builtins.c
|
|
||||||
@@ -0,0 +1,32 @@
|
|
||||||
+// RUN: %clang_cc1 -triple x86_64 -S -emit-llvm -disable-llvm-passes -o - %s | FileCheck %s
|
|
||||||
+//
|
|
||||||
+// Verifies that clang-generated *.inline carry the same name at call and callee
|
|
||||||
+// site, in spite of asm labels.
|
|
||||||
+
|
|
||||||
+typedef struct _IO_FILE FILE;
|
|
||||||
+extern FILE *stdout;
|
|
||||||
+extern int vprintf (const char *__restrict __format, __builtin_va_list __arg);
|
|
||||||
+extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
|
|
||||||
+ const char *__restrict __format, __builtin_va_list __ap);
|
|
||||||
+extern int __vprintf_chk (int __flag, const char *__restrict __format,
|
|
||||||
+ __builtin_va_list __ap);
|
|
||||||
+
|
|
||||||
+extern __typeof (vprintf) vprintf __asm ("__vprintfieee128");
|
|
||||||
+extern __typeof (__vfprintf_chk) __vfprintf_chk __asm ("__vfprintf_chkieee128");
|
|
||||||
+extern __typeof (__vprintf_chk) __vprintf_chk __asm ("__vprintf_chkieee128");
|
|
||||||
+
|
|
||||||
+extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
|
|
||||||
+vprintf (const char *__restrict __fmt, __builtin_va_list __ap)
|
|
||||||
+{
|
|
||||||
+ return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+void test(const char *fmt, __builtin_va_list ap) {
|
|
||||||
+ vprintf(fmt, ap);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+// CHECK-LABEL: void @test(
|
|
||||||
+// CHECK: call i32 @__vprintfieee128.inline(
|
|
||||||
+//
|
|
||||||
+// CHECK-LABEL: internal i32 @__vprintfieee128.inline(
|
|
||||||
+// CHECK: call i32 @__vfprintf_chkieee128(
|
|
||||||
--
|
|
||||||
2.37.2
|
|
||||||
|
|
53
SOURCES/D138472.diff
Normal file
53
SOURCES/D138472.diff
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
From 04b642c646048dd9df652eba05d45beaa13bc895 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Konrad Kleine <kkleine@redhat.com>
|
||||||
|
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
|
||||||
|
|
25
SOURCES/D141581.diff
Normal file
25
SOURCES/D141581.diff
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
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
|
||||||
|
|
Binary file not shown.
Binary file not shown.
16
SOURCES/fix-ieee128-cross.diff
Normal file
16
SOURCES/fix-ieee128-cross.diff
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
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
|
@ -8,7 +8,7 @@
|
|||||||
# headers and libraries. This path should be used by packages that need to
|
# 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
|
# install files into this directory. This macro's value changes every time
|
||||||
# clang's version changes.
|
# clang's version changes.
|
||||||
%clang_resource_dir %{_libdir}/clang/%{clang_version}
|
%clang_resource_dir %{_libdir}/clang/%{clang_major_version}
|
||||||
|
|
||||||
# This is the path to the clang resource directory that should be used
|
# 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.
|
# by packages that need to read files from this directory at runtime.
|
||||||
|
104
SOURCES/release-keys.asc
Normal file
104
SOURCES/release-keys.asc
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
9RmlwZlOTFGcWBYl/cfRONn9qi9a6w==
|
||||||
|
=Lvw+
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=tMzl
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
173
SPECS/clang.spec
173
SPECS/clang.spec
@ -2,13 +2,15 @@
|
|||||||
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
|
# See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_macros
|
||||||
%global toolchain clang
|
%global toolchain clang
|
||||||
|
|
||||||
|
%global gts_version 13
|
||||||
|
|
||||||
%bcond_with compat_build
|
%bcond_with compat_build
|
||||||
%bcond_with bundle_compat_lib
|
%bcond_with bundle_compat_lib
|
||||||
%bcond_without check
|
%bcond_without check
|
||||||
|
|
||||||
%global maj_ver 15
|
%global maj_ver 16
|
||||||
%global min_ver 0
|
%global min_ver 0
|
||||||
%global patch_ver 7
|
%global patch_ver 6
|
||||||
%global clang_version %{maj_ver}.%{min_ver}.%{patch_ver}
|
%global clang_version %{maj_ver}.%{min_ver}.%{patch_ver}
|
||||||
|
|
||||||
%if %{with compat_build}
|
%if %{with compat_build}
|
||||||
@ -30,8 +32,8 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%global compat_maj_ver 14
|
%global compat_maj_ver 15
|
||||||
%global compat_ver %{compat_maj_ver}.0.6
|
%global compat_ver %{compat_maj_ver}.0.7
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -45,10 +47,10 @@
|
|||||||
|
|
||||||
Name: %pkg_name
|
Name: %pkg_name
|
||||||
Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
|
Version: %{clang_version}%{?rc_ver:~rc%{rc_ver}}
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: A C language family front-end for LLVM
|
Summary: A C language family front-end for LLVM
|
||||||
|
|
||||||
License: NCSA
|
License: Apache-2.0 WITH LLVM-exception OR NCSA
|
||||||
URL: http://llvm.org
|
URL: http://llvm.org
|
||||||
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz
|
Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz
|
||||||
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz.sig
|
Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{clang_version}%{?rc_ver:-rc%{rc_ver}}/%{clang_srcdir}.tar.xz.sig
|
||||||
@ -62,26 +64,33 @@ Source5: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat
|
|||||||
Source6: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/clang-%{compat_ver}.src.tar.xz.sig
|
Source6: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/clang-%{compat_ver}.src.tar.xz.sig
|
||||||
Source7: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
Source7: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz
|
||||||
Source8: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz.sig
|
Source8: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/llvm-%{compat_ver}.src.tar.xz.sig
|
||||||
Source9: tstellar-gpg-key.asc
|
Source9: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/cmake-%{compat_ver}.src.tar.xz
|
||||||
|
Source10: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{compat_ver}/cmake-%{compat_ver}.src.tar.xz.sig
|
||||||
%endif
|
%endif
|
||||||
%if !0%{with compat_build}
|
%if !0%{with compat_build}
|
||||||
Source10: macros.%{name}
|
Source11: macros.%{name}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Patches for clang
|
# Patches for clang
|
||||||
|
|
||||||
Patch2: 0002-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
|
Patch1: 0003-PATCH-Make-funwind-tables-the-default-on-all-archs.patch
|
||||||
# TODO: Can be dropped in LLVM 16: https://reviews.llvm.org/D133316
|
Patch2: 0006-Don-t-install-static-libraries.patch
|
||||||
Patch3: 0003-Mark-fopenmp-implicit-rpath-as-NoArgumentUnused.patch
|
Patch3: 0002-Driver-Add-a-gcc-equivalent-triple-to-the-list-of-tr.patch
|
||||||
Patch4: 0004-Reorganize-gtest-integration.patch
|
Patch4: 0010-PATCH-clang-Produce-DWARF4-by-default.patch
|
||||||
# This patch can be dropped once gcc-12.0.1-0.5.fc36 is in the repo.
|
# Make clangBasic and clangDriver depend on LLVMTargetParser
|
||||||
Patch5: 0005-Work-around-gcc-miscompile.patch
|
# See https://reviews.llvm.org/D141581
|
||||||
Patch6: 0006-Don-t-install-static-libraries.patch
|
Patch7: D141581.diff
|
||||||
Patch7: 0007-Make-funwind-tables-the-default-on-all-archs.patch
|
# clang/cmake: Use installed gtest libraries for stand-alone builds
|
||||||
Patch8: 0008-Produce-DWARF4-by-default.patch
|
# See https://reviews.llvm.org/D138472
|
||||||
Patch9: 0009-disable-recommonmark.patch
|
Patch8: D138472.diff
|
||||||
# TODO: Can be dropped in LLVM 16: https://reviews.llvm.org/D134362
|
|
||||||
Patch10: 0010-clang-Fix-interaction-between-asm-labels-and-inline-.patch
|
Patch10: fix-ieee128-cross.diff
|
||||||
|
|
||||||
|
Patch11: 0001-Change-LLVM_COMMON_CMAKE_UTILS-usage.patch
|
||||||
|
|
||||||
|
# RHEL specific patch
|
||||||
|
Patch12: 0009-disable-recommonmark.patch
|
||||||
|
Patch13: 0001-Driver-Give-devtoolset-path-precedence-over-Installe.patch
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
# Patches for clang-tools-extra
|
# Patches for clang-tools-extra
|
||||||
@ -89,14 +98,10 @@ Patch10: 0010-clang-Fix-interaction-between-asm-labels-and-inline-.patch
|
|||||||
Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
|
Patch201: 0001-clang-tools-extra-Make-test-dependency-on-LLVMHello-.patch
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# RHEL only: We build LLVM with clang, which now defaults to using the
|
# Required for 64-bit atomics on i686.
|
||||||
# libstdc++ from gcc-toolset-12. Since we're linking some clang
|
BuildRequires: gcc-toolset-%{gts_version}-libatomic-devel
|
||||||
# tools statically to some static libraries from LLVM, we
|
# Required to handle LTO debuginfo.
|
||||||
# need to use libstdc++12 as well. So, use gcc-toolset-12
|
BuildRequires: gcc-toolset-%{gts_version}-gdb
|
||||||
# to compile clang.
|
|
||||||
BuildRequires: gcc-toolset-12-gcc-c++
|
|
||||||
BuildRequires: gcc-toolset-12-annobin-plugin-gcc
|
|
||||||
BuildRequires: gcc-toolset-12-libatomic-devel
|
|
||||||
BuildRequires: clang
|
BuildRequires: clang
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: ninja-build
|
BuildRequires: ninja-build
|
||||||
@ -186,7 +191,7 @@ libomp-devel to enable -fopenmp.
|
|||||||
%package libs
|
%package libs
|
||||||
Summary: Runtime library for clang
|
Summary: Runtime library for clang
|
||||||
Requires: %{name}-resource-filesystem%{?_isa} = %{version}
|
Requires: %{name}-resource-filesystem%{?_isa} = %{version}
|
||||||
Requires: gcc-toolset-12-gcc-c++
|
Requires: gcc-toolset-%{gts_version}-gcc-c++
|
||||||
Recommends: compiler-rt%{?_isa} = %{version}
|
Recommends: compiler-rt%{?_isa} = %{version}
|
||||||
# atomic support is not part of compiler-rt
|
# atomic support is not part of compiler-rt
|
||||||
Recommends: libatomic%{?_isa}
|
Recommends: libatomic%{?_isa}
|
||||||
@ -225,7 +230,7 @@ This package owns the clang resouce directory: $libdir/clang/$version/
|
|||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%package analyzer
|
%package analyzer
|
||||||
Summary: A source code analysis framework
|
Summary: A source code analysis framework
|
||||||
License: NCSA and MIT
|
License: Apache-2.0 WITH LLVM-exception OR NCSA OR MIT
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
Requires: %{name} = %{version}-%{release}
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
@ -243,13 +248,6 @@ Requires: emacs-filesystem
|
|||||||
%description tools-extra
|
%description tools-extra
|
||||||
A set of extra tools built using Clang's tooling API.
|
A set of extra tools built using Clang's tooling API.
|
||||||
|
|
||||||
%package tools-extra-devel
|
|
||||||
Summary: Development header files for clang tools
|
|
||||||
Requires: %{name}-tools-extra = %{version}-%{release}
|
|
||||||
|
|
||||||
%description tools-extra-devel
|
|
||||||
Development header files for clang tools.
|
|
||||||
|
|
||||||
# Put git-clang-format in its own package, because it Requires git
|
# Put git-clang-format in its own package, because it Requires git
|
||||||
# and we don't want to force users to install all those dependenices if they
|
# and we don't want to force users to install all those dependenices if they
|
||||||
# just want clang.
|
# just want clang.
|
||||||
@ -278,11 +276,13 @@ Requires: python3
|
|||||||
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%{gpgverify} --keyring='%{SOURCE9}' --signature='%{SOURCE6}' --data='%{SOURCE5}'
|
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE6}' --data='%{SOURCE5}'
|
||||||
%{gpgverify} --keyring='%{SOURCE9}' --signature='%{SOURCE8}' --data='%{SOURCE7}'
|
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE8}' --data='%{SOURCE7}'
|
||||||
|
%{gpgverify} --keyring='%{SOURCE4}' --signature='%{SOURCE10}' --data='%{SOURCE9}'
|
||||||
|
|
||||||
%setup -T -q -b 5 -n clang-%{compat_ver}.src
|
%setup -T -q -b 5 -n clang-%{compat_ver}.src
|
||||||
%setup -T -q -b 7 -n llvm-%{compat_ver}.src
|
%setup -T -q -b 7 -n llvm-%{compat_ver}.src
|
||||||
|
%setup -T -q -b 9 -n cmake-%{compat_ver}.src
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if %{with compat_build}
|
%if %{with compat_build}
|
||||||
@ -320,14 +320,17 @@ rm test/CodeGen/profile-filter.c
|
|||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
%define _lto_cflags %{nil}
|
|
||||||
|
|
||||||
%if 0%{?__isa_bits} == 64
|
%if 0%{?__isa_bits} == 64
|
||||||
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
|
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@/64/g' test/lit.cfg.py
|
||||||
%else
|
%else
|
||||||
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
|
sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%ifarch %ix86
|
||||||
|
# Linking libclang.so goes out of memory even with ThinLTO and a single link job.
|
||||||
|
%global _lto_cflags %nil
|
||||||
|
%endif
|
||||||
|
|
||||||
%ifarch s390 s390x %{arm} aarch64 %ix86 ppc64le
|
%ifarch s390 s390x %{arm} aarch64 %ix86 ppc64le
|
||||||
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
# Decrease debuginfo verbosity to reduce memory consumption during final library linking
|
||||||
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
|
||||||
@ -342,12 +345,13 @@ sed -i 's/\@FEDORA_LLVM_LIB_SUFFIX\@//g' test/lit.cfg.py
|
|||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
|
|
||||||
mv ../clang-%{compat_ver}.src ../clang
|
mv ../clang-%{compat_ver}.src ../clang
|
||||||
|
mv ../cmake-%{compat_ver}.src ../cmake
|
||||||
|
|
||||||
%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;WebAssembly"
|
%global targets_to_build "X86;AMDGPU;PowerPC;NVPTX;SystemZ;AArch64;ARM;Mips;BPF;WebAssembly"
|
||||||
|
|
||||||
# Use llvm cmake files from the main package.
|
# Disable LTO when building the compat libraries. This would perform LTO across all of LLVM and
|
||||||
#sed -i 's~${LLVM_CMAKE_PATH}~%{_libdir}/cmake/llvm/~' ../clang-%{compat_ver}.src/lib/Basic/CMakeLists.txt
|
# Clang, and fails due to "too many open files". We don't particularly care about the performance
|
||||||
|
# of these compat libraries.
|
||||||
%cmake -S ../llvm-%{compat_ver}.src -B ../clang-compat-libs -G Ninja \
|
%cmake -S ../llvm-%{compat_ver}.src -B ../clang-compat-libs -G Ninja \
|
||||||
-DLLVM_ENABLE_PROJECTS=clang \
|
-DLLVM_ENABLE_PROJECTS=clang \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
@ -356,7 +360,9 @@ mv ../clang-%{compat_ver}.src ../clang
|
|||||||
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
-DLLVM_ENABLE_RTTI:BOOL=ON \
|
||||||
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
-DCMAKE_SKIP_RPATH:BOOL=ON \
|
||||||
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \
|
-DLLVM_TARGETS_TO_BUILD=%{targets_to_build} \
|
||||||
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||||
|
-DCMAKE_C_FLAGS_RELEASE="-fno-lto" \
|
||||||
|
-DCMAKE_CXX_FLAGS_RELEASE="-fno-lto"
|
||||||
|
|
||||||
%ninja_build -C ../clang-compat-libs libclang.so
|
%ninja_build -C ../clang-compat-libs libclang.so
|
||||||
%ninja_build -C ../clang-compat-libs libclang-cpp.so
|
%ninja_build -C ../clang-compat-libs libclang-cpp.so
|
||||||
@ -404,6 +410,7 @@ mv ../clang-%{compat_ver}.src ../clang
|
|||||||
%else
|
%else
|
||||||
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
|
-DLLVM_TABLEGEN_EXE:FILEPATH=%{_bindir}/llvm-tblgen \
|
||||||
%endif
|
%endif
|
||||||
|
-DLLVM_COMMON_CMAKE_UTILS=%{_libdir}/cmake/llvm \
|
||||||
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
-DCLANG_ENABLE_ARCMT:BOOL=ON \
|
||||||
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
|
||||||
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
-DCLANG_INCLUDE_DOCS:BOOL=ON \
|
||||||
@ -423,13 +430,17 @@ mv ../clang-%{compat_ver}.src ../clang
|
|||||||
-DCLANG_DEFAULT_LINKER=lld \
|
-DCLANG_DEFAULT_LINKER=lld \
|
||||||
%endif
|
%endif
|
||||||
-DCLANG_DEFAULT_UNWINDLIB=libgcc \
|
-DCLANG_DEFAULT_UNWINDLIB=libgcc \
|
||||||
-DGCC_INSTALL_PREFIX=/opt/rh/gcc-toolset-12/root/usr \
|
-DGCC_INSTALL_PREFIX=/opt/rh/gcc-toolset-%{gts_version}/root/usr \
|
||||||
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
||||||
|
|
||||||
%cmake_build
|
%cmake_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
|
||||||
|
# Use newer GDB for gdb-add-index step, as system GDB can't handle the LTO debuginfo.
|
||||||
|
source scl_source enable gcc-toolset-%{gts_version}
|
||||||
|
export GDB=`which gdb`
|
||||||
|
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
@ -444,14 +455,14 @@ rm -Rf %{buildroot}%{install_bindir}
|
|||||||
rm -Rf %{buildroot}%{install_prefix}/share
|
rm -Rf %{buildroot}%{install_prefix}/share
|
||||||
rm -Rf %{buildroot}%{install_prefix}/libexec
|
rm -Rf %{buildroot}%{install_prefix}/libexec
|
||||||
# Remove scanview-py helper libs
|
# Remove scanview-py helper libs
|
||||||
rm -Rf %{buildroot}%{install_prefix}/lib/{libear,libscanbuild}
|
rm -Rf %{buildroot}%{install_prefix}/%{_lib}/{libear,libscanbuild}
|
||||||
|
|
||||||
%else
|
%else
|
||||||
|
|
||||||
# File in the macros file for other packages to use. We are not doing this
|
# File in the macros file for other packages to use. We are not doing this
|
||||||
# in the compat package, because the version macros would # conflict with
|
# in the compat package, because the version macros would # conflict with
|
||||||
# eachother if both clang and the clang compat package were installed together.
|
# eachother if both clang and the clang compat package were installed together.
|
||||||
install -p -m0644 -D %{SOURCE10} %{buildroot}%{_rpmmacrodir}/macros.%{name}
|
install -p -m0644 -D %{SOURCE11} %{buildroot}%{_rpmmacrodir}/macros.%{name}
|
||||||
sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \
|
sed -i -e "s|@@CLANG_MAJOR_VERSION@@|%{maj_ver}|" \
|
||||||
-e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \
|
-e "s|@@CLANG_MINOR_VERSION@@|%{min_ver}|" \
|
||||||
-e "s|@@CLANG_PATCH_VERSION@@|%{patch_ver}|" \
|
-e "s|@@CLANG_PATCH_VERSION@@|%{patch_ver}|" \
|
||||||
@ -463,7 +474,7 @@ install -p -m644 bindings/python/clang/* %{buildroot}%{python3_sitelib}/clang/
|
|||||||
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang
|
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/clang
|
||||||
|
|
||||||
# install scanbuild-py to python sitelib.
|
# install scanbuild-py to python sitelib.
|
||||||
mv %{buildroot}%{_prefix}/lib/{libear,libscanbuild} %{buildroot}%{python3_sitelib}
|
mv %{buildroot}%{_prefix}/%{_lib}/{libear,libscanbuild} %{buildroot}%{python3_sitelib}
|
||||||
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/{libear,libscanbuild}
|
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}/{libear,libscanbuild}
|
||||||
|
|
||||||
# Fix permissions of scan-view scripts
|
# Fix permissions of scan-view scripts
|
||||||
@ -502,22 +513,16 @@ ln -s clang++ %{buildroot}%{_bindir}/clang++-%{maj_ver}
|
|||||||
# Fix permission
|
# Fix permission
|
||||||
chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
|
chmod u-x %{buildroot}%{_mandir}/man1/scan-build.1*
|
||||||
|
|
||||||
# create a link to clang's resource directory that is "constant" across minor
|
|
||||||
# version bumps
|
|
||||||
# this is required for packages like ccls that hardcode the link to clang's
|
|
||||||
# resource directory to not require rebuilds on minor version bumps
|
|
||||||
# Fix for bugs like rhbz#1807574
|
|
||||||
pushd %{buildroot}%{_libdir}/clang/
|
|
||||||
ln -s %{version} %{maj_ver}
|
|
||||||
popd
|
|
||||||
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Create sub-directories in the clang resource directory that will be
|
# Create sub-directories in the clang resource directory that will be
|
||||||
# populated by other packages
|
# populated by other packages
|
||||||
mkdir -p %{buildroot}%{pkg_libdir}/clang/%{version}/{include,lib,share}/
|
mkdir -p %{buildroot}%{pkg_libdir}/clang/%{maj_ver}/{include,lib,share}/
|
||||||
|
|
||||||
|
|
||||||
|
# Remove clang-tidy headers. We don't ship the libraries for these.
|
||||||
|
rm -Rvf %{buildroot}%{_includedir}/clang-tidy/
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
# Add a symlink in /usr/bin to clang-format-diff
|
# Add a symlink in /usr/bin to clang-format-diff
|
||||||
ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff
|
ln -s %{_datadir}/clang/clang-format-diff.py %{buildroot}%{_bindir}/clang-format-diff
|
||||||
@ -575,11 +580,11 @@ mv ./libclang-cpp.so.%{compat_maj_ver} "$compat_lib"
|
|||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%{_libdir}/clang/%{version}/include/*
|
%{_libdir}/clang/%{maj_ver}/include/*
|
||||||
%{_libdir}/*.so.*
|
%{_libdir}/*.so.*
|
||||||
%else
|
%else
|
||||||
%{pkg_libdir}/*.so.*
|
%{pkg_libdir}/*.so.*
|
||||||
%{pkg_libdir}/clang/%{version}/include/*
|
%{pkg_libdir}/clang/%{maj_ver}/include/*
|
||||||
%endif
|
%endif
|
||||||
%if %{with bundle_compat_lib}
|
%if %{with bundle_compat_lib}
|
||||||
%{_libdir}/libclang.so.%{compat_maj_ver}*
|
%{_libdir}/libclang.so.%{compat_maj_ver}*
|
||||||
@ -604,13 +609,10 @@ mv ./libclang-cpp.so.%{compat_maj_ver} "$compat_lib"
|
|||||||
|
|
||||||
%files resource-filesystem
|
%files resource-filesystem
|
||||||
%dir %{pkg_libdir}/clang/
|
%dir %{pkg_libdir}/clang/
|
||||||
%dir %{pkg_libdir}/clang/%{version}/
|
%dir %{pkg_libdir}/clang/%{maj_ver}/
|
||||||
%dir %{pkg_libdir}/clang/%{version}/include/
|
%dir %{pkg_libdir}/clang/%{maj_ver}/include/
|
||||||
%dir %{pkg_libdir}/clang/%{version}/lib/
|
%dir %{pkg_libdir}/clang/%{maj_ver}/lib/
|
||||||
%dir %{pkg_libdir}/clang/%{version}/share/
|
%dir %{pkg_libdir}/clang/%{maj_ver}/share/
|
||||||
%if %{without compat_build}
|
|
||||||
%{pkg_libdir}/clang/%{maj_ver}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{without compat_build}
|
%if %{without compat_build}
|
||||||
%files analyzer
|
%files analyzer
|
||||||
@ -633,19 +635,19 @@ mv ./libclang-cpp.so.%{compat_maj_ver} "$compat_lib"
|
|||||||
|
|
||||||
|
|
||||||
%files tools-extra
|
%files tools-extra
|
||||||
|
%{_bindir}/amdgpu-arch
|
||||||
%{_bindir}/clang-apply-replacements
|
%{_bindir}/clang-apply-replacements
|
||||||
%{_bindir}/clang-change-namespace
|
%{_bindir}/clang-change-namespace
|
||||||
%{_bindir}/clang-check
|
%{_bindir}/clang-check
|
||||||
%{_bindir}/clang-doc
|
%{_bindir}/clang-doc
|
||||||
%{_bindir}/clang-extdef-mapping
|
%{_bindir}/clang-extdef-mapping
|
||||||
%{_bindir}/clang-format
|
%{_bindir}/clang-format
|
||||||
|
%{_bindir}/clang-include-cleaner
|
||||||
%{_bindir}/clang-include-fixer
|
%{_bindir}/clang-include-fixer
|
||||||
%{_bindir}/clang-move
|
%{_bindir}/clang-move
|
||||||
%{_bindir}/clang-offload-bundler
|
%{_bindir}/clang-offload-bundler
|
||||||
%{_bindir}/clang-offload-packager
|
%{_bindir}/clang-offload-packager
|
||||||
%{_bindir}/clang-offload-wrapper
|
|
||||||
%{_bindir}/clang-linker-wrapper
|
%{_bindir}/clang-linker-wrapper
|
||||||
%{_bindir}/clang-nvlink-wrapper
|
|
||||||
%{_bindir}/clang-pseudo
|
%{_bindir}/clang-pseudo
|
||||||
%{_bindir}/clang-query
|
%{_bindir}/clang-query
|
||||||
%{_bindir}/clang-refactor
|
%{_bindir}/clang-refactor
|
||||||
@ -657,6 +659,7 @@ mv ./libclang-cpp.so.%{compat_maj_ver} "$compat_lib"
|
|||||||
%{_bindir}/clangd
|
%{_bindir}/clangd
|
||||||
%{_bindir}/diagtool
|
%{_bindir}/diagtool
|
||||||
%{_bindir}/hmaptool
|
%{_bindir}/hmaptool
|
||||||
|
%{_bindir}/nvptx-arch
|
||||||
%{_bindir}/pp-trace
|
%{_bindir}/pp-trace
|
||||||
%{_bindir}/c-index-test
|
%{_bindir}/c-index-test
|
||||||
%{_bindir}/find-all-symbols
|
%{_bindir}/find-all-symbols
|
||||||
@ -674,9 +677,6 @@ mv ./libclang-cpp.so.%{compat_maj_ver} "$compat_lib"
|
|||||||
%{_datadir}/clang/run-find-all-symbols.py*
|
%{_datadir}/clang/run-find-all-symbols.py*
|
||||||
%{_datadir}/clang/clang-rename.py*
|
%{_datadir}/clang/clang-rename.py*
|
||||||
|
|
||||||
%files tools-extra-devel
|
|
||||||
%{_includedir}/clang-tidy/
|
|
||||||
|
|
||||||
%files -n git-clang-format
|
%files -n git-clang-format
|
||||||
%{_bindir}/git-clang-format
|
%{_bindir}/git-clang-format
|
||||||
|
|
||||||
@ -686,6 +686,33 @@ mv ./libclang-cpp.so.%{compat_maj_ver} "$compat_lib"
|
|||||||
|
|
||||||
%endif
|
%endif
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 05 2023 Nikita Popov <npopov@redhat.com> - 16.0.6-1
|
||||||
|
- Update to LLVM 16.0.6
|
||||||
|
|
||||||
|
* Fri Jun 30 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-7
|
||||||
|
- Restore gcc-toolset-libatomic-devel requirement
|
||||||
|
|
||||||
|
* Fri Jun 30 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-6
|
||||||
|
- Switch to gcc-toolset-13-gcc
|
||||||
|
|
||||||
|
* Thu Jun 29 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-5
|
||||||
|
- Use gcc-toolset-13-gdb for gdb-add-index
|
||||||
|
|
||||||
|
* Fri Jun 02 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-4
|
||||||
|
- Build with LTO
|
||||||
|
|
||||||
|
* Thu May 25 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-3
|
||||||
|
- Use ld from gcc-toolset
|
||||||
|
|
||||||
|
* Tue Apr 18 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-2
|
||||||
|
- Restore use of gcc-toolset-12
|
||||||
|
|
||||||
|
* Mon Apr 17 2023 Nikita Popov <npopov@redhat.com> - 16.0.1-1
|
||||||
|
- Update to LLVM 16.0.1
|
||||||
|
|
||||||
|
* Fri Jan 27 2023 Konrad Kleine <kkleine@redhat.com> - 15.0.7-3
|
||||||
|
- Remove clang-tools-extra-devel package
|
||||||
|
|
||||||
* Mon Jan 16 2023 Konrad Kleine <kkleine@redhat.com> - 15.0.7-2
|
* Mon Jan 16 2023 Konrad Kleine <kkleine@redhat.com> - 15.0.7-2
|
||||||
- Update to 15.0.7
|
- Update to 15.0.7
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user