Compare commits

...

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

8 changed files with 205 additions and 90 deletions

View File

@ -1 +1 @@
4c29720e364b8d4c2cf8809085da20141b849c17 SOURCES/dotnet-v5.0.104-SDK.tar.gz
49ddbc37f561645bab32f02fe17849449b7f0977 SOURCES/dotnet-v5.0.214-SDK.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/dotnet-v5.0.104-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

@ -1,21 +0,0 @@
diff --git a/src/installer/corehost/cli/apphost/static/CMakeLists.txt b/src/installer/corehost/cli/apphost/static/CMakeLists.txt
index 85ea6ffe642..e6369f6b9ad 100644
--- a/src/installer/corehost/cli/apphost/static/CMakeLists.txt
+++ b/src/installer/corehost/cli/apphost/static/CMakeLists.txt
@@ -207,12 +207,12 @@
libhostcommon
${CORECLR_LIBRARIES}
- ${ZLIB_LIBRARIES}
- ${LIBGSS}
- ${NATIVE_LIBS_EXTRA}
-
${START_WHOLE_ARCHIVE}
${RUNTIMEINFO_LIB}
${NATIVE_LIBS}
${END_WHOLE_ARCHIVE}
+
+ ${ZLIB_LIBRARIES}
+ ${LIBGSS}
+ ${NATIVE_LIBS_EXTRA}
)

View File

@ -15,4 +15,4 @@ index de1ebb9e6..6bbf479de 100644
+
DebugHelper.HandleDebugSwitch(ref args);
new MulticoreJitActivator().TryActivateMulticoreJit();
// Capture the current timestamp to calculate the host overhead.

View File

@ -0,0 +1,28 @@
--- a/patches/runtime/0036-Add-net46-for-some-packages-to-support-Omnisharp.patch
+++ b/patches/runtime/0036-Add-net46-for-some-packages-to-support-Omnisharp.patch
@@ -58,25 +58,3 @@
<DefineConstants>$(DefineConstants);RESOURCES_EXTENSIONS</DefineConstants>
<Nullable>enable</Nullable>
</PropertyGroup>
-diff --git a/src/libraries/System.Resources.Extensions/tests/System.Resources.Extensions.Tests.csproj b/src/libraries/System.Resources.Extensions/tests/System.Resources.Extensions.Tests.csproj
-index b48848c7a45..b310496f4bc 100644
---- a/src/libraries/System.Resources.Extensions/tests/System.Resources.Extensions.Tests.csproj
-+++ b/src/libraries/System.Resources.Extensions/tests/System.Resources.Extensions.Tests.csproj
-@@ -1,6 +1,6 @@
- <Project Sdk="Microsoft.NET.Sdk">
- <PropertyGroup>
-- <TargetFrameworks>$(NetCoreAppCurrent)-Windows_NT;$(NetCoreAppCurrent)-Unix;net461</TargetFrameworks>
-+ <TargetFrameworks>$(NetCoreAppCurrent)-Windows_NT;$(NetCoreAppCurrent)-Unix;net461;net46</TargetFrameworks>
- <IncludeRemoteExecutor>true</IncludeRemoteExecutor>
- </PropertyGroup>
- <ItemGroup>
-@@ -44,4 +44,4 @@
- </ItemGroup>
- <Exec Command="%(ExecuteMethod.Command)" WorkingDirectory="$(TargetDir)" />
- </Target>
--</Project>
-\ No newline at end of file
-+</Project>
---
-2.18.0
-

View File

@ -1,13 +0,0 @@
--- a/patches/runtime/0010-Fix-singlefilehost-build-in-non-portable-mode-42415.patch
+++ b/patches/runtime/0010-Fix-singlefilehost-build-in-non-portable-mode-42415.patch
@@ -45,8 +45,8 @@
# These options are used to force every object to be included even if it's unused.
set(START_WHOLE_ARCHIVE -Wl,--whole-archive)
@@ -216,3 +221,10 @@ target_link_libraries(
- ${NATIVE_LIBS}
- ${END_WHOLE_ARCHIVE}
+ ${LIBGSS}
+ ${NATIVE_LIBS_EXTRA}
)
+
+if(NOT FEATURE_DISTRO_AGNOSTIC_SSL)

View File

@ -1,4 +1,4 @@
%bcond_without bootstrap
%bcond_with bootstrap
# Avoid provides/requires from private libraries
%global privlibs libhostfxr
@ -20,10 +20,10 @@
# until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil}
%global host_version 5.0.4
%global runtime_version 5.0.4
%global host_version 5.0.17
%global runtime_version 5.0.17
%global aspnetcore_runtime_version %{runtime_version}
%global sdk_version 5.0.104
%global sdk_version 5.0.214
%global templates_version %{runtime_version}
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
@ -56,22 +56,20 @@
Name: dotnet5.0
Version: %{sdk_rpm_version}
Release: 2%{?dist}
Release: 1%{?dist}
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
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
Source0: dotnet-v%{src_version}-SDK.tar.gz
Source1: check-debug-symbols.py
Source2: dotnet.sh.in
Patch1: source-build-runtime-fixup-linker-order.patch
Patch1: source-build-remove-test-references-from-patches.patch
# https://github.com/dotnet/runtime/pull/42094
# Fix linker order when linking with --as-needed
Patch100: runtime-linker-order.patch
Patch100: runtime-62170-clang13.patch
# Disable telemetry by default; make it opt-in
Patch500: sdk-telemetry-optout.patch
@ -86,9 +84,9 @@ ExclusiveArch: x86_64
BuildRequires: clang
BuildRequires: cmake
BuildRequires: coreutils
%if %{without bootstrap}
BuildRequires: dotnet-build-reference-packages
BuildRequires: dotnet-sdk-5.0
%if %{without bootstrap}
BuildRequires: dotnet5.0-build-reference-packages
BuildRequires: dotnet-sdk-5.0-source-built-artifacts
%endif
BuildRequires: findutils
@ -190,6 +188,8 @@ Requires: dotnet-hostfxr-5.0%{?_isa} >= %{host_rpm_version}-%{release}
# libicu is dlopen()ed
Requires: libicu%{?_isa}
# See src/runtime.*/src/libraries/Native/AnyOS/brotli-version.txt
Provides: bundled(brotli) = 1.0.9
%if %{use_bundled_libunwind}
Provides: bundled(libunwind) = 1.3
%endif
@ -294,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-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 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
@ -324,7 +324,6 @@ rm -rf packages/source-built
%endif
%if %{without bootstrap}
sed -i -e 's|5.0.100-preview1-014459|5.0.103|' global.json
mkdir -p packages/archive
ln -s %{_libdir}/dotnet/source-built-artifacts/*.tar.gz packages/archive/
ln -s %{_libdir}/dotnet/reference-packages/Private.SourceBuild.ReferencePackages*.tar.gz packages/archive
@ -359,9 +358,9 @@ find -iname 'nuget.config' -exec echo {}: \; -exec cat {} \; -exec echo \;
%build
cat /etc/os-release
cp -a %{_libdir}/dotnet previously-built-dotnet
%if %{without bootstrap}
# We need to create a copy because we will mutate this
cp -a %{_libdir}/dotnet previously-built-dotnet
%endif
%if 0%{?fedora} > 32 || 0%{?rhel} > 8
@ -403,8 +402,8 @@ unset LDFLAGS
#%%endif
VERBOSE=1 ./build.sh \
%if %{without bootstrap}
--with-sdk previously-built-dotnet \
%if %{without bootstrap}
%endif
-- \
/v:n \
@ -446,29 +445,34 @@ 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 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/
install dotnet.sh %{buildroot}%{_sysconfdir}/profile.d/
# Provided by dotnet-host from another SRPM
#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
install src/dotnet-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
#install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions
#install src/cli/scripts/register-completions.zsh %%{buildroot}/%%{_datadir}/zsh/site-functions/_dotnet
install -dm 0755 %{buildroot}%{_bindir}
ln -s ../../%{_libdir}/dotnet/dotnet %{buildroot}%{_bindir}/
# Provided by dotnet-host from another SRPM
#install -dm 0755 %%{buildroot}%%{_bindir}
#ln -s ../../%%{_libdir}/dotnet/dotnet %%{buildroot}%%{_bindir}/
install -dm 0755 %{buildroot}%{_mandir}/man1/
find -iname 'dotnet*.1' -type f -exec cp {} %{buildroot}%{_mandir}/man1/ \;
# Provided by dotnet-host from another SRPM
#install -dm 0755 %%{buildroot}%%{_mandir}/man1/
#find -iname 'dotnet*.1' -type f -exec cp {} %%{buildroot}%%{_mandir}/man1/ \;
echo "%{_libdir}/dotnet" >> install_location
install -dm 0755 %{buildroot}%{_sysconfdir}/dotnet
install install_location %{buildroot}%{_sysconfdir}/dotnet/
# Provided by dotnet-host from another SRPM
#echo "%%{_libdir}/dotnet" >> install_location
#install -dm 0755 %%{buildroot}%%{_sysconfdir}/dotnet
#install install_location %%{buildroot}%%{_sysconfdir}/dotnet/
#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 -dm 0755 %{buildroot}%{_libdir}/dotnet/source-built-artifacts
install artifacts/%{runtime_arch}/Release/Private.SourceBuilt.Artifacts.*.tar.gz %{buildroot}/%{_libdir}/dotnet/source-built-artifacts/
# Check debug symbols in all elf objects. This is not in %%check
# because native binaries are stripped by rpm-build after %%install.
@ -476,28 +480,17 @@ install install_location %{buildroot}%{_sysconfdir}/dotnet/
echo "Testing build results for debug symbols..."
%{SOURCE1} -v %{buildroot}%{_libdir}/dotnet/
%check
# Self-check
%{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
# empty package useful for dependencies
# Provided by netstandard-targeting-pack-2.1 from another SRPM
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
%dir %{_libdir}/dotnet/host/fxr
@ -522,15 +515,64 @@ echo "Testing build results for debug symbols..."
%{_libdir}/dotnet/sdk/%{sdk_version}
%dir %{_libdir}/dotnet/packs
#%%files -n dotnet-sdk-5.0-source-built-artifacts
#%%dir %%{_libdir}/dotnet
#%%{_libdir}/dotnet/source-built-artifacts
%files -n dotnet-sdk-5.0-source-built-artifacts
%dir %{_libdir}/dotnet
%{_libdir}/dotnet/source-built-artifacts
%changelog
* Tue Mar 09 2021 Omair Majid <omajid@redhat.com> - 5.0.104-2
- Update to .NET SDK 5.0.104 and Runtime 5.0.4
- Resolves: RHBZ#1934241
* Thu May 05 2022 Omair Majid <omajid@redhat.com> - 5.0.214-1
- Update to .NET SDK 5.0.214 and Runtime 5.0.17
- 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
- Update to .NET SDK 5.0.206 and Runtime 5.0.9
- Resolves: RHBZ#1990940
* Tue Aug 10 2021 Omair Majid <omajid@redhat.com> - 5.0.205-1
- Update to .NET SDK 5.0.205 and Runtime 5.0.8
- Resolves: RHBZ#1985445
* Fri Jun 11 2021 Omair Majid <omajid@redhat.com> - 5.0.204-1
- Update to .NET SDK 5.0.204 and Runtime 5.0.7
- Resolves: RHBZ#1966164
- Resolves: RHBZ#1966996
* Fri Jun 11 2021 Omair Majid <omajid@redhat.com> - 5.0.203-1
- Update to .NET SDK 5.0.203 and Runtime 5.0.6
- Resolves: RHBZ#1954327
* Thu Apr 22 2021 Omair Majid <omajid@redhat.com> - 5.0.202-2
- Update to .NET SDK 5.0.202 and Runtime 5.0.5
- Create -source-built-artifacts subpackage
- Resolves: RHBZ#1947600
* Wed Feb 10 2021 Omair Majid <omajid@redhat.com> - 5.0.103-2
- Update to .NET SDK 5.0.103 and Runtime 5.0.3