diff --git a/.gitignore b/.gitignore index 1331805..073c80d 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,15 @@ /compiler-rt-11.1.0rc1.src.tar.xz.sig /compiler-rt-11.1.0rc2.src.tar.xz /compiler-rt-11.1.0rc2.src.tar.xz.sig +/compiler-rt-12.0.0rc1.src.tar.xz +/compiler-rt-12.0.0rc1.src.tar.xz.sig +/compiler-rt-12.0.0rc2.src.tar.xz +/compiler-rt-12.0.0rc2.src.tar.xz.sig +/compiler-rt-12.0.0rc3.src.tar.xz +/compiler-rt-12.0.0rc3.src.tar.xz.sig +/compiler-rt-12.0.0rc4.src.tar.xz +/compiler-rt-12.0.0rc4.src.tar.xz.sig +/compiler-rt-12.0.0rc5.src.tar.xz +/compiler-rt-12.0.0rc5.src.tar.xz.sig +/compiler-rt-12.0.0.src.tar.xz +/compiler-rt-12.0.0.src.tar.xz.sig diff --git a/0001-PATCH-compiler-rt-Workaround-libstdc-limitation-wrt..patch b/0001-PATCH-compiler-rt-Workaround-libstdc-limitation-wrt..patch new file mode 100644 index 0000000..047e658 --- /dev/null +++ b/0001-PATCH-compiler-rt-Workaround-libstdc-limitation-wrt..patch @@ -0,0 +1,44 @@ +From f4d4ada2e920136870468f43e0f3c1efa265f2f7 Mon Sep 17 00:00:00 2001 +From: serge-sans-paille +Date: Thu, 25 Feb 2021 14:12:57 +0100 +Subject: [PATCH] [PATCH][compiler-rt] Workaround libstdc++ limitation wrt. + thread copy + +--- + compiler-rt/lib/fuzzer/FuzzerDefs.h | 6 ++++++ + compiler-rt/lib/fuzzer/FuzzerDriver.cpp | 2 +- + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/compiler-rt/lib/fuzzer/FuzzerDefs.h b/compiler-rt/lib/fuzzer/FuzzerDefs.h +index 1a2752a..abfbb8d 100644 +--- a/compiler-rt/lib/fuzzer/FuzzerDefs.h ++++ b/compiler-rt/lib/fuzzer/FuzzerDefs.h +@@ -50,6 +50,12 @@ template + + template + struct rebind { typedef fuzzer_allocator other; }; ++ ++ template< class U, class... Args > ++ void construct( U* p, Args&&... args ) { ++ std::allocator::construct(p, std::forward(args)...); ++ } ++ + }; + + template +diff --git a/compiler-rt/lib/fuzzer/FuzzerDriver.cpp b/compiler-rt/lib/fuzzer/FuzzerDriver.cpp +index 447cafc..2fce139 100644 +--- a/compiler-rt/lib/fuzzer/FuzzerDriver.cpp ++++ b/compiler-rt/lib/fuzzer/FuzzerDriver.cpp +@@ -294,7 +294,7 @@ static int RunInMultipleProcesses(const Vector &Args, + std::thread Pulse(PulseThread); + Pulse.detach(); + for (unsigned i = 0; i < NumWorkers; i++) +- V.push_back(std::thread(WorkerThread, std::ref(Cmd), &Counter, NumJobs, &HasErrors)); ++ V.emplace_back(WorkerThread, std::ref(Cmd), &Counter, NumJobs, &HasErrors); + for (auto &T : V) + T.join(); + return HasErrors ? 1 : 0; +-- +1.8.3.1 + diff --git a/0001-PATCH-std-thread-copy.patch b/0001-PATCH-std-thread-copy.patch deleted file mode 100644 index 53d297d..0000000 --- a/0001-PATCH-std-thread-copy.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -ru compiler-rt-8.0.0rc1.src.orig/lib/fuzzer/FuzzerDefs.h compiler-rt-8.0.0rc1.src/lib/fuzzer/FuzzerDefs.h ---- compiler-rt-8.0.0rc1.src.orig/lib/fuzzer/FuzzerDefs.h 2019-01-09 21:46:09.000000000 +0000 -+++ compiler-rt-8.0.0rc1.src/lib/fuzzer/FuzzerDefs.h 2019-02-12 14:03:32.971147814 +0000 -@@ -176,6 +176,12 @@ - - template - struct rebind { typedef fuzzer_allocator other; }; -+ -+ template< class U, class... Args > -+ void construct( U* p, Args&&... args ) { -+ std::allocator::construct(p, std::forward(args)...); -+ } -+ - }; - - template -diff -ru compiler-rt-8.0.0rc1.src.orig/lib/fuzzer/FuzzerDriver.cpp compiler-rt-8.0.0rc1.src/lib/fuzzer/FuzzerDriver.cpp ---- compiler-rt-8.0.0rc1.src.orig/lib/fuzzer/FuzzerDriver.cpp 2019-01-15 22:12:51.000000000 +0000 -+++ compiler-rt-8.0.0rc1.src/lib/fuzzer/FuzzerDriver.cpp 2019-02-12 13:05:15.965113872 +0000 -@@ -252,7 +252,7 @@ - std::thread Pulse(PulseThread); - Pulse.detach(); - for (unsigned i = 0; i < NumWorkers; i++) -- V.push_back(std::thread(WorkerThread, std::ref(Cmd), &Counter, NumJobs, &HasErrors)); -+ V.emplace_back(WorkerThread, std::ref(Cmd), &Counter, NumJobs, &HasErrors); - for (auto &T : V) - T.join(); - return HasErrors ? 1 : 0; diff --git a/compiler-rt.spec b/compiler-rt.spec index 0526078..2b07181 100644 --- a/compiler-rt.spec +++ b/compiler-rt.spec @@ -1,5 +1,4 @@ -%global rc_ver 2 -%global baserelease 3 +#%%global rc_ver 5 %global crt_srcdir compiler-rt-%{version}%{?rc_ver:rc%{rc_ver}}.src @@ -10,8 +9,8 @@ %global optflags %(echo %{optflags} -Dasm=__asm__) Name: compiler-rt -Version: 11.1.0 -Release: %{?rc_ver:0.}%{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist} +Version: 12.0.0%{?rc_ver:~rc%{rc_ver}} +Release: 1%{?dist} Summary: LLVM "compiler-rt" runtime libraries License: NCSA or MIT @@ -20,8 +19,7 @@ Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{versio Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{crt_srcdir}.tar.xz.sig Source2: tstellar-gpg-key.asc -Patch0: 0001-PATCH-std-thread-copy.patch -Patch1: msflags.patch +Patch0: 0001-PATCH-compiler-rt-Workaround-libstdc-limitation-wrt..patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -45,7 +43,7 @@ instrumentation, and Blocks C language extension. %prep %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -n %{crt_srcdir} -p1 +%autosetup -n %{crt_srcdir} -p2 pathfix.py -i %{__python3} -pn lib/hwasan/scripts/hwasan_symbolize @@ -92,9 +90,9 @@ do target=`echo "$i" | sed -e 's/x86_64/i386/'` ln -s ../../../../../lib/clang/%{version}/lib/$target ../../../../%{_lib}/clang/%{version}/lib/linux/ done - + %endif - + popd %check @@ -111,6 +109,9 @@ popd %endif %changelog +* Fri Apr 16 2021 Tom Stellard - 12.0.0-1 +- 12.0.0 Release + * Thu Apr 15 2021 Mohan Boddu - 11.1.0-0.3.rc2 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 diff --git a/msflags.patch b/msflags.patch deleted file mode 100644 index 98b8afb..0000000 --- a/msflags.patch +++ /dev/null @@ -1,47 +0,0 @@ -diff -Naur compiler-rt-11.1.0rc2.src.orig/cmake/config-ix.cmake compiler-rt-11.1.0rc2.src/cmake/config-ix.cmake ---- compiler-rt-11.1.0rc2.src.orig/cmake/config-ix.cmake 2021-02-15 15:16:53.000000000 +0100 -+++ compiler-rt-11.1.0rc2.src/cmake/config-ix.cmake 2021-02-15 15:27:03.000000000 +0100 -@@ -85,15 +85,15 @@ - check_cxx_compiler_flag("-fvisibility-inlines-hidden" COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG) - endif() - --check_cxx_compiler_flag(/GR COMPILER_RT_HAS_GR_FLAG) --check_cxx_compiler_flag(/GS COMPILER_RT_HAS_GS_FLAG) --check_cxx_compiler_flag(/MT COMPILER_RT_HAS_MT_FLAG) --check_cxx_compiler_flag(/Oy COMPILER_RT_HAS_Oy_FLAG) -+#check_cxx_compiler_flag(/GR COMPILER_RT_HAS_GR_FLAG) -+#check_cxx_compiler_flag(/GS COMPILER_RT_HAS_GS_FLAG) -+#check_cxx_compiler_flag(/MT COMPILER_RT_HAS_MT_FLAG) -+#check_cxx_compiler_flag(/Oy COMPILER_RT_HAS_Oy_FLAG) - - # Debug info flags. - check_cxx_compiler_flag(-gline-tables-only COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG) - check_cxx_compiler_flag(-g COMPILER_RT_HAS_G_FLAG) --check_cxx_compiler_flag(/Zi COMPILER_RT_HAS_Zi_FLAG) -+#check_cxx_compiler_flag(/Zi COMPILER_RT_HAS_Zi_FLAG) - - # Warnings. - check_cxx_compiler_flag(-Wall COMPILER_RT_HAS_WALL_FLAG) -@@ -108,14 +108,14 @@ - check_cxx_compiler_flag("-Werror -Wcovered-switch-default" COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG) - check_cxx_compiler_flag(-Wno-pedantic COMPILER_RT_HAS_WNO_PEDANTIC) - --check_cxx_compiler_flag(/W4 COMPILER_RT_HAS_W4_FLAG) --check_cxx_compiler_flag(/WX COMPILER_RT_HAS_WX_FLAG) --check_cxx_compiler_flag(/wd4146 COMPILER_RT_HAS_WD4146_FLAG) --check_cxx_compiler_flag(/wd4291 COMPILER_RT_HAS_WD4291_FLAG) --check_cxx_compiler_flag(/wd4221 COMPILER_RT_HAS_WD4221_FLAG) --check_cxx_compiler_flag(/wd4391 COMPILER_RT_HAS_WD4391_FLAG) --check_cxx_compiler_flag(/wd4722 COMPILER_RT_HAS_WD4722_FLAG) --check_cxx_compiler_flag(/wd4800 COMPILER_RT_HAS_WD4800_FLAG) -+#check_cxx_compiler_flag(/W4 COMPILER_RT_HAS_W4_FLAG) -+#check_cxx_compiler_flag(/WX COMPILER_RT_HAS_WX_FLAG) -+#check_cxx_compiler_flag(/wd4146 COMPILER_RT_HAS_WD4146_FLAG) -+#check_cxx_compiler_flag(/wd4291 COMPILER_RT_HAS_WD4291_FLAG) -+#check_cxx_compiler_flag(/wd4221 COMPILER_RT_HAS_WD4221_FLAG) -+#check_cxx_compiler_flag(/wd4391 COMPILER_RT_HAS_WD4391_FLAG) -+#check_cxx_compiler_flag(/wd4722 COMPILER_RT_HAS_WD4722_FLAG) -+#check_cxx_compiler_flag(/wd4800 COMPILER_RT_HAS_WD4800_FLAG) - - # Symbols. - check_symbol_exists(__func__ "" COMPILER_RT_HAS_FUNC_SYMBOL) diff --git a/sources b/sources index 12f8263..2f00f28 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (compiler-rt-11.1.0rc2.src.tar.xz) = 5c1bc2bdb716fa482c0c7734d6a8125f24e8c91348fc66149019c743b7b74f611ef357ccf712502a0e5209e3ee955b9ed1d3e9d235e548d5751c19bfb92c3bae -SHA512 (compiler-rt-11.1.0rc2.src.tar.xz.sig) = 252230bae596962f2ae55bed210871de1fa769007df151af7eea5c28113cffc6e984203935b018f1425f85de20135fe9677491606011cd3bfcfac6650c945677 +SHA512 (compiler-rt-12.0.0.src.tar.xz) = 5823c22bca915b393fc57fff1742a4a9d7a6645e87abf89da5a3554c9aaa6039631faa69cc3798bc2dd159f0135ee84d0ed08841e24f007d06dfd284b823b281 +SHA512 (compiler-rt-12.0.0.src.tar.xz.sig) = 669a996d7ea5ed4f556ff2a1db479c5d3c1cb326dcd14b2ac112dfa876fd8928aec9e6c665e27c0f9ab046471229049e80e879867ef26f6cba5592a81f12ccb5