From 1ff1878e9cd9caa06f57145d2ab9e273f6af6928 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Fri, 28 Jan 2022 04:20:05 +0000 Subject: [PATCH] import dotnet3.1-3.1.416-4.el8 --- SOURCES/core-setup-no-werror.patch | 27 ++++++++++ SOURCES/coreclr-clang13.patch | 83 ++++++++++++++++++++++++++++++ SPECS/dotnet3.1.spec | 34 ++++-------- 3 files changed, 120 insertions(+), 24 deletions(-) create mode 100644 SOURCES/core-setup-no-werror.patch create mode 100644 SOURCES/coreclr-clang13.patch diff --git a/SOURCES/core-setup-no-werror.patch b/SOURCES/core-setup-no-werror.patch new file mode 100644 index 0000000..47b49fc --- /dev/null +++ b/SOURCES/core-setup-no-werror.patch @@ -0,0 +1,27 @@ +From e900fff68af76d51a59ac085b35ace76939bc007 Mon Sep 17 00:00:00 2001 +From: Omair Majid +Date: Tue, 18 Jan 2022 21:45:52 -0500 +Subject: [PATCH] Disable Werror + +This is so late in the release cycle that fixing warnings is just not +really worth it. The general approach is to fix the issues in the +development branches and disable warnings in the older release branches. +--- + src/settings.cmake | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/src/settings.cmake b/src/settings.cmake +index ff1e04f9..5cc9b3ef 100644 +--- a/src/settings.cmake ++++ b/src/settings.cmake +@@ -201,7 +201,6 @@ else() + # compiling with -std=c++11. + # add_compile_options(-Weverything) + endif() +- add_compile_options(-Werror) + add_compile_options(-Wno-missing-field-initializers) + add_compile_options(-Wno-unused-function) + add_compile_options(-Wno-unused-local-typedef) +-- +2.34.1 + diff --git a/SOURCES/coreclr-clang13.patch b/SOURCES/coreclr-clang13.patch new file mode 100644 index 0000000..2f784fb --- /dev/null +++ b/SOURCES/coreclr-clang13.patch @@ -0,0 +1,83 @@ +From 9a2857177a8a2a388298ad5674f6e5edd1e5b853 Mon Sep 17 00:00:00 2001 +From: Jan Vorlicek +Date: Tue, 4 Jan 2022 23:51:52 +0100 +Subject: [PATCH] Fix build with Clang 13 (#63314) + +* Fix clang 13 induced runtime issues (#62170) + +The clang 13 optimizer started to assume that "this" pointer is always +properly aligned. That lead to elimination of some code that was actually +needed. +It also takes pointer aliasing rules more strictly in one place in jit. +That caused the optimizer to falsely assume that a callee with an argument +passed by reference is not modifying that argument and used a stale +copy of the original value at the caller site. + +This change fixes both of the issues. With this fix, runtime compiled +using clang 13 seems to be fully functional. + +* Fix build with clang 13 (#60328) +--- + src/inc/corhlpr.h | 8 ++++---- + src/jit/bitsetasshortlong.h | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/inc/corhlpr.h b/src/inc/corhlpr.h +index 5b263a5382..c512069fca 100644 +--- a/src/inc/corhlpr.h ++++ b/src/inc/corhlpr.h +@@ -335,7 +335,7 @@ struct COR_ILMETHOD_SECT + const COR_ILMETHOD_SECT* Next() const + { + if (!More()) return(0); +- return ((COR_ILMETHOD_SECT*)(((BYTE *)this) + DataSize()))->Align(); ++ return ((COR_ILMETHOD_SECT*)Align(((BYTE *)this) + DataSize())); + } + + const BYTE* Data() const +@@ -373,9 +373,9 @@ struct COR_ILMETHOD_SECT + return((AsSmall()->Kind & CorILMethod_Sect_FatFormat) != 0); + } + +- const COR_ILMETHOD_SECT* Align() const ++ static const void* Align(const void* p) + { +- return((COR_ILMETHOD_SECT*) ((((UINT_PTR) this) + 3) & ~3)); ++ return((void*) ((((UINT_PTR) p) + 3) & ~3)); + } + + protected: +@@ -578,7 +578,7 @@ typedef struct tagCOR_ILMETHOD_FAT : IMAGE_COR_ILMETHOD_FAT + + const COR_ILMETHOD_SECT* GetSect() const { + if (!More()) return (0); +- return(((COR_ILMETHOD_SECT*) (GetCode() + GetCodeSize()))->Align()); ++ return(((COR_ILMETHOD_SECT*) COR_ILMETHOD_SECT::Align(GetCode() + GetCodeSize()))); + } + } COR_ILMETHOD_FAT; + +diff --git a/src/jit/bitsetasshortlong.h b/src/jit/bitsetasshortlong.h +index 17e0e3a69c..0c40283ce5 100644 +--- a/src/jit/bitsetasshortlong.h ++++ b/src/jit/bitsetasshortlong.h +@@ -346,7 +346,7 @@ public: + { + if (IsShort(env)) + { +- (size_t&)out = (size_t)out & ((size_t)gen | (size_t)in); ++ out = (BitSetShortLongRep)((size_t)out & ((size_t)gen | (size_t)in)); + } + else + { +@@ -362,7 +362,7 @@ public: + { + if (IsShort(env)) + { +- (size_t&)in = (size_t)use | ((size_t)out & ~(size_t)def); ++ in = (BitSetShortLongRep)((size_t)use | ((size_t)out & ~(size_t)def)); + } + else + { +-- +2.34.1 + diff --git a/SPECS/dotnet3.1.spec b/SPECS/dotnet3.1.spec index a3ce934..06a45e8 100644 --- a/SPECS/dotnet3.1.spec +++ b/SPECS/dotnet3.1.spec @@ -61,7 +61,7 @@ Name: dotnet3.1 Version: %{sdk_rpm_version} -Release: 3%{?dist} +Release: 4%{?dist} Summary: .NET Core CLI tools and runtime License: MIT and ASL 2.0 and BSD URL: https://github.com/dotnet/ @@ -79,10 +79,12 @@ Patch100: corefx-optflags-support.patch Patch103: corefx-39633-cgroupv2-mountpoints.patch Patch200: coreclr-27048-sysctl-deprecation.patch +Patch201: coreclr-clang13.patch # Already applied at tarball build time -#Patch201: coreclr-libunwind-fno-common.patch +#Patch202: coreclr-libunwind-fno-common.patch Patch300: core-setup-do-not-strip.patch +Patch301: core-setup-no-werror.patch Patch500: cli-telemetry-optout.patch @@ -353,11 +355,13 @@ popd pushd src/coreclr.* %patch200 -p1 -#%%patch201 -p1 +%patch201 -p1 +#%%patch202 -p1 popd pushd src/core-setup.* %patch300 -p1 +%patch301 -p1 popd pushd src/cli.* @@ -507,29 +511,11 @@ rm -rf %{buildroot}%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0 %{_libdir}/dotnet/source-built-artifacts %changelog -* Tue Jan 25 2022 Omair Majid - 3.1.416-3 -- Disable bootstrap -- Resolves: RHBZ#2031429 - -* Fri Jan 21 2022 Omair Majid - 3.1.416-2 -- Update to new release of .NET SDK 3.1.416 and Runtime 3.1.22 -- Resolves: RHBZ#2031429 - -* Tue Dec 14 2021 Omair Majid - 3.1.416-1 +* Tue Jan 25 2022 Omair Majid - 3.1.416-4 - Update to .NET SDK 3.1.416 and Runtime 3.1.22 -- Resolves: RHBZ#2031429 - -* Fri Oct 15 2021 Omair Majid - 3.1.120-2 -- Rebuild to fix version - Resolves: RHBZ#2011820 - -* Wed Oct 13 2021 Omair Majid - 3.1.120-1 -- Update to .NET SDK 3.1.120 and Runtime 3.1.20 -- Resolves: RHBZ#2011820 - -* Thu Sep 23 2021 Omair Majid - 3.1.119-2 -- Update to .NET SDK 3.1.119 and Runtime 3.1.19 -- Resolves: RHBZ#2000313 +- Resolves: RHBZ#2003077 +- Resolves: RHBZ#2031428 * Sat Aug 14 2021 Omair Majid - 3.1.118-1 - Update to .NET SDK 3.1.118 and Runtime 3.1.18