Compare commits

..

No commits in common. "imports/c8s/dotnet5.0-5.0.207-2.el8" and "c8" have entirely different histories.

4 changed files with 148 additions and 43 deletions

View File

@ -1 +1 @@
ed16c6e24e11b7108bdff716ae73cfd8d82823d7 SOURCES/dotnet-v5.0.207-SDK.tar.gz 49ddbc37f561645bab32f02fe17849449b7f0977 SOURCES/dotnet-v5.0.214-SDK.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/dotnet-v5.0.207-SDK.tar.gz SOURCES/dotnet-v5.0.214-SDK.tar.gz

View File

@ -0,0 +1,79 @@
From a89c562f9389fdc2bb1356d3da782d0063951e14 Mon Sep 17 00:00:00 2001
From: Jan Vorlicek <jan.vorlicek@volny.cz>
Date: Tue, 30 Nov 2021 10:55:21 +0100
Subject: [PATCH] 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.
---
src/coreclr/src/inc/corhlpr.h | 8 ++++----
src/coreclr/src/jit/bitsetasshortlong.h | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/coreclr/src/inc/corhlpr.h b/src/coreclr/src/inc/corhlpr.h
index 450514da95c..427e8cdc0ff 100644
--- a/src/coreclr/src/inc/corhlpr.h
+++ b/src/coreclr/src/inc/corhlpr.h
@@ -336,7 +336,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
@@ -374,9 +374,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:
@@ -579,7 +579,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/coreclr/src/jit/bitsetasshortlong.h b/src/coreclr/src/jit/bitsetasshortlong.h
index 078cdc810e9..4c52819853f 100644
--- a/src/coreclr/src/jit/bitsetasshortlong.h
+++ b/src/coreclr/src/jit/bitsetasshortlong.h
@@ -345,7 +345,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
{
@@ -361,7 +361,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.33.1

View File

@ -20,10 +20,10 @@
# until that's done, disable LTO. This has to happen before setting the flags below. # until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
%global host_version 5.0.10 %global host_version 5.0.17
%global runtime_version 5.0.10 %global runtime_version 5.0.17
%global aspnetcore_runtime_version %{runtime_version} %global aspnetcore_runtime_version %{runtime_version}
%global sdk_version 5.0.207 %global sdk_version 5.0.214
%global templates_version %{runtime_version} %global templates_version %{runtime_version}
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
@ -56,12 +56,12 @@
Name: dotnet5.0 Name: dotnet5.0
Version: %{sdk_rpm_version} Version: %{sdk_rpm_version}
Release: 2%{?dist} Release: 1%{?dist}
Summary: .NET Runtime and SDK Summary: .NET Runtime and SDK
License: MIT and ASL 2.0 and BSD and LGPLv2+ and CC-BY and CC0 and MS-PL and EPL-1.0 and GPL+ and GPLv2 and ISC and OFL and zlib License: MIT and ASL 2.0 and BSD and LGPLv2+ and CC-BY and CC0 and MS-PL and EPL-1.0 and GPL+ and GPLv2 and ISC and OFL and zlib
URL: https://github.com/dotnet/ URL: https://github.com/dotnet/
# The source is generated on a Fedora box via: # The source is generated on a RHEL/Fedora box via:
# ./build-dotnet-tarball v%%{src_version}-SDK # ./build-dotnet-tarball v%%{src_version}-SDK
Source0: dotnet-v%{src_version}-SDK.tar.gz Source0: dotnet-v%{src_version}-SDK.tar.gz
Source1: check-debug-symbols.py Source1: check-debug-symbols.py
@ -69,6 +69,8 @@ Source2: dotnet.sh.in
Patch1: source-build-remove-test-references-from-patches.patch Patch1: source-build-remove-test-references-from-patches.patch
Patch100: runtime-62170-clang13.patch
# Disable telemetry by default; make it opt-in # Disable telemetry by default; make it opt-in
Patch500: sdk-telemetry-optout.patch Patch500: sdk-telemetry-optout.patch
@ -186,6 +188,8 @@ Requires: dotnet-hostfxr-5.0%{?_isa} >= %{host_rpm_version}-%{release}
# libicu is dlopen()ed # libicu is dlopen()ed
Requires: libicu%{?_isa} Requires: libicu%{?_isa}
# See src/runtime.*/src/libraries/Native/AnyOS/brotli-version.txt
Provides: bundled(brotli) = 1.0.9
%if %{use_bundled_libunwind} %if %{use_bundled_libunwind}
Provides: bundled(libunwind) = 1.3 Provides: bundled(libunwind) = 1.3
%endif %endif
@ -290,7 +294,7 @@ applications using the .NET SDK.
%dotnet_targeting_pack dotnet-apphost-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Host.%{runtime_id} %dotnet_targeting_pack dotnet-apphost-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Host.%{runtime_id}
%dotnet_targeting_pack dotnet-targeting-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Ref %dotnet_targeting_pack dotnet-targeting-pack-5.0 %{runtime_rpm_version} Microsoft.NETCore.App 5.0 Microsoft.NETCore.App.Ref
%dotnet_targeting_pack aspnetcore-targeting-pack-5.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 5.0 Microsoft.AspNetCore.App.Ref %dotnet_targeting_pack aspnetcore-targeting-pack-5.0 %{aspnetcore_runtime_rpm_version} Microsoft.AspNetCore.App 5.0 Microsoft.AspNetCore.App.Ref
%dotnet_targeting_pack netstandard-targeting-pack-2.1 %{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref #%%dotnet_targeting_pack netstandard-targeting-pack-2.1 %%{sdk_rpm_version} NETStandard.Library 2.1 NETStandard.Library.Ref
%package -n dotnet-sdk-5.0-source-built-artifacts %package -n dotnet-sdk-5.0-source-built-artifacts
@ -326,17 +330,18 @@ ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages
%endif %endif
# Fix bad hardcoded path in build # Fix bad hardcoded path in build
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime.*/src/installer/corehost/cli/hostmisc/pal.unix.cpp sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/dotnet-runtime.*/src/installer/corehost/cli/hostmisc/pal.unix.cpp
# Disable warnings # Disable warnings
sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props
%patch1 -p1 %patch1 -p1
pushd src/runtime.* pushd src/dotnet-runtime.*
%patch100 -p1
popd popd
pushd src/sdk.* pushd src/dotnet-sdk.*
%patch500 -p1 %patch500 -p1
popd popd
@ -440,26 +445,31 @@ chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{run
chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h chmod 0644 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/nethost.h
chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/singlefilehost chmod 0755 %{buildroot}/%{_libdir}/dotnet/packs/Microsoft.NETCore.App.Host.%{runtime_id}/%{runtime_version}/runtimes/%{runtime_id}/native/singlefilehost
install -dm 0755 %{buildroot}%{_sysconfdir}/profile.d/ # Provided by dotnet-host from another SRPM
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/ #install -dm 0755 %%{buildroot}%%{_sysconfdir}/profile.d/
#install dotnet.sh %%{buildroot}%%{_sysconfdir}/profile.d/
install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions # Provided by dotnet-host from another SRPM
#install -dm 0755 %%{buildroot}/%%{_datadir}/bash-completion/completions
# dynamic completion needs the file to be named the same as the base command # dynamic completion needs the file to be named the same as the base command
install src/sdk.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet #install src/dotnet-sdk.*/scripts/register-completions.bash %%{buildroot}/%%{_datadir}/bash-completion/completions/dotnet
# TODO: the zsh completion script needs to be ported to use #compdef # TODO: the zsh completion script needs to be ported to use #compdef
#install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions #install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions
#install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet #install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet
install -dm 0755 %{buildroot}%{_bindir} # Provided by dotnet-host from another SRPM
ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/ #install -dm 0755 %%{buildroot}%%{_bindir}
#ln -s ../../%%{_libdir}/dotnet/dotnet %%{buildroot}%%{_bindir}/
install -dm 0755 %{buildroot}%{_mandir}/man1/ # Provided by dotnet-host from another SRPM
find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \; #install -dm 0755 %%{buildroot}%%{_mandir}/man1/
#find -iname 'dotnet*.1' -type f -exec cp {} %%{buildroot}%%{_mandir}/man1/ \;
echo "%{_libdir}/dotnet" >> install_location # Provided by dotnet-host from another SRPM
install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet #echo "%%{_libdir}/dotnet" >> install_location
install install_location %{buildroot}%{_sysconfdir}/dotnet/ #install -dm 0755 %%{buildroot}%%{_sysconfdir}/dotnet
#install install_location %%{buildroot}%%{_sysconfdir}/dotnet/
install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts install -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/ install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
@ -470,28 +480,17 @@ install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz
echo "Testing build results for debug symbols..." echo "Testing build results for debug symbols..."
%{SOURCE1} -v %{buildroot}%{_libdir}/dotnet/ %{SOURCE1} -v %{buildroot}%{_libdir}/dotnet/
# Self-check
%check
%{buildroot}%{_libdir}/dotnet/dotnet --info %{buildroot}%{_libdir}/dotnet/dotnet --info
# Provided by dotnet-host from another SRPM
rm %{buildroot}%{_libdir}/dotnet/LICENSE.txt
rm %{buildroot}%{_libdir}/dotnet/ThirdPartyNotices.txt
rm %{buildroot}%{_libdir}/dotnet/dotnet
%files -n dotnet # Provided by netstandard-targeting-pack-2.1 from another SRPM
# empty package useful for dependencies rm -rf %{buildroot}%{_libdir}/dotnet/packs/NETStandard.Library.Ref/2.1.0
%files -n dotnet-host
%dir %{_libdir}/dotnet
%{_libdir}/dotnet/dotnet
%dir %{_libdir}/dotnet/host
%dir %{_libdir}/dotnet/host/fxr
%{_bindir}/dotnet
%license %{_libdir}/dotnet/LICENSE.txt
%license %{_libdir}/dotnet/ThirdPartyNotices.txt
%doc %{_mandir}/man1/dotnet*.1.gz
%{_sysconfdir}/profile.d/dotnet.sh
%{_sysconfdir}/dotnet
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/dotnet
%files -n dotnet-hostfxr-5.0 %files -n dotnet-hostfxr-5.0
%dir %{_libdir}/dotnet/host/fxr %dir %{_libdir}/dotnet/host/fxr
@ -522,9 +521,36 @@ echo "Testing build results for debug symbols..."
%changelog %changelog
* Fri Sep 24 2021 Omair Majid <omajid@redhat.com> - 5.0.207-2 * Thu May 05 2022 Omair Majid <omajid@redhat.com> - 5.0.214-1
- Update to .NET SDK 5.0.207 and Runtime 5.0.10 - Update to .NET SDK 5.0.214 and Runtime 5.0.17
- Resolves: RHBZ#2000319 - Resolves: RHBZ#2082258
* Thu Apr 28 2022 Omair Majid <omajid@redhat.com> - 5.0.213-2
- Update to .NET SDK 5.0.213 and Runtime 5.0.16
- Resolves: RHBZ#2080053
* Wed Mar 23 2022 Omair Majid <omajid@redhat.com> - 5.0.212-2
- Update to .NET SDK 5.0.212 and Runtime 5.0.15
- Resolves: RHBZ#2060495
* Wed Mar 23 2022 Omair Majid <omajid@redhat.com> - 5.0.211-1
- Update to .NET SDK 5.0.211 and Runtime 5.0.14
- Resolves: RHBZ#2047766
* Wed Jan 05 2022 Omair Majid <omajid@redhat.com> - 5.0.210-2
- Update to .NET SDK 5.0.210 and Runtime 5.0.13
- Resolves: RHBZ#2030737
* Thu Dec 02 2021 Omair Majid <omajid@redhat.com> - 5.0.209-2
- Bump release
- Related: RHBZ#2011058
- Related: RHBZ#2003078
* Sun Nov 21 2021 Omair Majid <omajid@redhat.com> - 5.0.209.1-1
- Update to .NET SDK 5.0.209 and Runtime 5.0.12
- Resolves: RHBZ#2024319
- Resolves: RHBZ#2011058
- Resolves: RHBZ#2003078
* Thu Aug 12 2021 Omair Majid <omajid@redhat.com> - 5.0.206-1 * Thu Aug 12 2021 Omair Majid <omajid@redhat.com> - 5.0.206-1
- Update to .NET SDK 5.0.206 and Runtime 5.0.9 - Update to .NET SDK 5.0.206 and Runtime 5.0.9