Update to .NET 7 GA release

Resolves: RHBZ#2137944
This commit is contained in:
Omair Majid 2022-11-09 19:26:30 -05:00
parent cef8de8e79
commit c070504d30
12 changed files with 112 additions and 531 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@
/dotnet-arm64-prebuilts-2022-10-12.tar.gz
/dotnet-s390x-prebuilts-2022-10-12.tar.gz
/dotnet-ppc64le-prebuilts-2022-10-21.tar.gz
/dotnet-v7.0.100.tar.gz

View File

@ -141,10 +141,7 @@ fi
rm -rf "${tarball_name}"
mkdir -p "${unmodified_tarball_name}"
pushd "${unmodified_tarball_name}"
tar xf ../"${unmodified_tarball_name}.tar.gz"
popd
tar xf "${unmodified_tarball_name}.tar.gz"
mv "${unmodified_tarball_name}" "${tarball_name}"
pushd "${tarball_name}"
@ -178,12 +175,6 @@ rm -r src/runtime/src/tests/JIT/Performance/CodeQuality/Bytemark/
# https://github.com/NuGet/Home/issues/11094
rm -r src/nuget-client/test/EndToEnd
# https://github.com/Humanizr/sample-aspnetmvc/issues/1
rm -r src/source-build-externals/src/humanizer/samples/
# https://github.com/dotnet/source-build/issues/3018
rm -r src/source-build-externals/src/application-insights/WEB/Test/Web/FunctionalTests/TestApps
# https://github.com/microsoft/ApplicationInsights-dotnet/issues/2670
rm -r src/source-build-externals/src/application-insights/LOGGING/test/Shared/CustomTelemetryChannel.cs

View File

@ -1,4 +1,4 @@
%bcond_without bootstrap
%bcond_with bootstrap
# LTO triggers a compilation error for a source level issue. Given that LTO should not
# change the validity of any given source and the nature of the error (undefined enum), I
@ -6,22 +6,21 @@
# until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil}
%global host_version 7.0.0-rc.2.22472.3
%global runtime_version 7.0.0-rc.2.22472.3
%global aspnetcore_runtime_version 7.0.0-rc.2.22476.2
%global sdk_version 7.0.100-rc.2.22511.1
%global host_version 7.0.0
%global runtime_version 7.0.0
%global aspnetcore_runtime_version 7.0.0
%global sdk_version 7.0.100
%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|')
%global templates_version 7.0.0-rc.2.22476.2
%global templates_version %{runtime_version}
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%global host_rpm_version 7.0.0
%global runtime_rpm_version 7.0.0
%global aspnetcore_runtime_rpm_version 7.0.0
%global sdk_rpm_version 7.0.100
%global host_rpm_version %{host_version}
%global runtime_rpm_version %{runtime_version}
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global sdk_rpm_version %{sdk_version}
# upstream can update releases without revving the SDK version so these don't always match
#%%global upstream_tag v%%{sdk_version}
%global upstream_tag v7.0.100-rc.2.22477.23
%global upstream_tag v%{sdk_version}
%if 0%{?fedora} || 0%{?rhel} < 8
%global use_bundled_libunwind 0
@ -33,9 +32,6 @@
%global use_bundled_libunwind 1
%endif
%ifarch x86_64
%global runtime_arch x64
%endif
%ifarch aarch64
%global runtime_arch arm64
%endif
@ -45,6 +41,9 @@
%ifarch s390x
%global runtime_arch s390x
%endif
%ifarch x86_64
%global runtime_arch x64
%endif
%global mono_archs s390x ppc64le
@ -52,13 +51,13 @@
Name: dotnet7.0
Version: %{sdk_rpm_version}
Release: 0.5.rc2%{?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/
%if %{with bootstrap}
# The source is generated on a Fedora box via:
# The source is generated on a RHEL box via:
# ./build-dotnet-tarball --bootstrap %%{upstream_tag}
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz
# Generated via ./build-arm64-bootstrap-tarball
@ -68,7 +67,7 @@ Source2: dotnet-ppc64le-prebuilts-2022-10-21.tar.gz
# Generated manually, same pattern as the arm64 tarball
Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz
%else
# The source is generated on a Fedora box via:
# The source is generated on a RHEL box via:
# ./build-dotnet-tarball %%{upstream_tag}
Source0: dotnet-%{upstream_tag}.tar.gz
%endif
@ -76,27 +75,22 @@ Source0: dotnet-%{upstream_tag}.tar.gz
Source10: check-debug-symbols.py
Source11: dotnet.sh.in
# https://github.com/dotnet/runtime/pull/76916
Patch1: runtime-76916-mono-s390x-opcheckthis.patch
# https://github.com/microsoft/vstest/pull/4028
Patch2: vstest-4028-ppc64le.patch
# https://github.com/microsoft/vstest/pull/4066
Patch3: vstest-4066-s390x-ppc64le.patch
# https://github.com/dotnet/installer/pull/14631
Patch4: installer-14631-ppc64le.patch
# https://github.com/dotnet/installer/pull/14792
Patch5: installer-14792-mono.patch
Patch1: installer-14792-mono.patch
# https://github.com/dotnet/aspnetcore/pull/44583
Patch6: aspnetcore-44583-ppc64le-crossgen.patch
Patch2: aspnetcore-44583-ppc64le-crossgen.patch
# https://github.com/dotnet/runtime/pull/77269
Patch7: runtime-77269-mono-ppc64le-opcheckthis.patch
Patch3: runtime-77269-mono-ppc64le-opcheckthis.patch
# https://github.com/dotnet/runtime/pull/77270
Patch8: runtime-77270-ppc64le-fsharp-crash.patch
Patch4: runtime-77270-ppc64le-fsharp-crash.patch
# https://github.com/dotnet/runtime/pull/77308
Patch9: runtime-77308-ppc64le-delegate.patch
Patch5: runtime-77308-ppc64le-delegate.patch
# Disable apphost; there's no net6.0 apphost for ppc64le
Patch10: roslyn-analyzers-ppc64le-apphost.patch
Patch6: roslyn-analyzers-ppc64le-apphost.patch
# https://github.com/dotnet/runtime/pull/77682
Patch7: runtime-77682-mono-cgroup-min-memory.patch
# TODO upstream this fix
Patch8: runtime-mono-ppc64le-clang15.patch
%if 0%{?fedora} || 0%{?rhel} >= 8
@ -425,8 +419,6 @@ popd
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
# Fix bad hardcoded path in build
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp
@ -493,11 +485,6 @@ export COMPlus_LTTng=0
export OPENSSL_ENABLE_SHA1_SIGNATURES=1
%endif
%if 0%{?rhel}
# See https://github.com/dotnet/source-build/issues/2991
export DOTNET_NUGET_SIGNATURE_VERIFICATION=false
%endif
VERBOSE=1 ./build.sh \
%if %{without bootstrap}
--with-sdk previously-built-dotnet \
@ -653,6 +640,10 @@ export COMPlus_LTTng=0
%changelog
* Wed Nov 09 2022 Omair Majid <omajid@redhat.com> - 7.0.100-1
- Update to .NET 7 GA release
- Resolves: RHBZ#2137944
* Tue Oct 25 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.5.rc2
- Add lldb as a build dependency
- Related: RHBZ#2134641

View File

@ -1,98 +0,0 @@
From 564e481e39511d214d0d26dd902022decd0d93ea Mon Sep 17 00:00:00 2001
From: Swapnali911 <Swapnali.Pawar1@ibm.com>
Date: Fri, 30 Sep 2022 05:07:55 -0400
Subject: [PATCH] Adding ppc64le arch for source build
---
Directory.Build.props | 1 +
src/SourceBuild/tarball/content/Directory.Build.props | 1 +
src/redist/targets/Crossgen.targets | 4 ++--
src/redist/targets/GenerateBundledVersions.targets | 9 ++++++---
4 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 61cc6ff6746..860785575f7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,6 +19,7 @@
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Platform>
+ <Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == ''">x64</Platform>
<UseStableVersions Condition="'$(UseStableVersions)' == ''">false</UseStableVersions>
diff --git a/src/installer/Directory.Build.props b/src/installer/Directory.Build.props
index 15c9d27b734..b87eeccca0d 100644
--- a/src/installer/Directory.Build.props
+++ b/src/installer/Directory.Build.props
@@ -11,6 +11,7 @@
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Architecture>
+ <Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == ''">x64</Architecture>
</PropertyGroup>
<PropertyGroup Condition="'$(PgoInstrument)' == 'true'">
diff --git a/src/installer/src/redist/targets/Crossgen.targets b/src/installer/src/redist/targets/Crossgen.targets
index c7a7642e4eb..da7d186a152 100644
--- a/src/installer/src/redist/targets/Crossgen.targets
+++ b/src/installer/src/redist/targets/Crossgen.targets
@@ -1,7 +1,7 @@
<Project>
- <!-- Crossgen is currently not supported on the s390x architecture. -->
+ <!-- Crossgen is currently not supported on the s390x, ppc64le architecture as using mono instead of CoreCLR. -->
<Target Name="CrossgenLayout"
- Condition="'$(DISABLE_CROSSGEN)' == '' AND '$(Architecture)' != 's390x'"
+ Condition="'$(DISABLE_CROSSGEN)' == '' AND '$(Architecture)' != 's390x' AND '$(Architecture)' != 'ppc64le'"
DependsOnTargets="SetSdkBrandingInfo">
<PropertyGroup>
diff --git a/src/installer/src/redist/targets/GenerateBundledVersions.targets b/src/installer/src/redist/targets/GenerateBundledVersions.targets
index d1bee676355..58d1abfa720 100644
--- a/src/installer/src/redist/targets/GenerateBundledVersions.targets
+++ b/src/installer/src/redist/targets/GenerateBundledVersions.targets
@@ -168,6 +168,7 @@
linux-bionic-arm64;
linux-bionic-x64;
linux-bionic-x86;
+ linux-ppc64le;
"/>
<Net70RuntimePackRids Include="
@@ -176,6 +177,7 @@
linux-bionic-arm64;
linux-bionic-x64;
linux-bionic-x86;
+ linux-ppc64le;
" />
<NetCoreAppHostRids Include="
@@ -254,7 +256,8 @@
<AspNetCore31RuntimePackRids Include="@(AspNetCore30RuntimePackRids)" />
<AspNetCore50RuntimePackRids Include="@(AspNetCore31RuntimePackRids);linux-musl-arm;win-arm64" />
- <AspNetCoreRuntimePackRids Include="@(AspNetCore50RuntimePackRids);osx-arm64;linux-s390x" />
+ <AspNetCore60RuntimePackRids Include="@(AspNetCore50RuntimePackRids);osx-arm64;linux-s390x" />
+ <AspNetCore70RuntimePackRids Include="@(AspNetCore60RuntimePackRids);linux-ppc64le" />
<WindowsDesktop30RuntimePackRids Include="win-x64;win-x86" />
<WindowsDesktop31RuntimePackRids Include="@(WindowsDesktop30RuntimePackRids)" />
@@ -444,7 +447,7 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetingPackName="Microsoft.AspNetCore.App.Ref"
TargetingPackVersion="$(MicrosoftAspNetCoreAppRefPackageVersion)"
RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**"
- RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')"
+ RuntimePackRuntimeIdentifiers="@(AspNetCore70RuntimePackRids, '%3B')"
RuntimePackExcludedRuntimeIdentifiers="android"
/>
@@ -569,7 +572,7 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetingPackName="Microsoft.AspNetCore.App.Ref"
TargetingPackVersion="$(_AspNet60TargetingPackVersion)"
RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**"
- RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')"
+ RuntimePackRuntimeIdentifiers="@(AspNetCore60RuntimePackRids, '%3B')"
/>
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref"

View File

@ -102,9 +102,9 @@ index c197d8afd..55c1c1d22 100644
--- a/src/runtime/eng/SourceBuild.props
+++ b/src/runtime/eng/SourceBuild.props
@@ -41,6 +41,7 @@
<InnerBuildArgs>$(InnerBuildArgs) /p:BuildDebPackage=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:EnableNgenOptimization=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:EnablePackageValidation=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:DisableSourceLink=false</InnerBuildArgs>
+ <InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:PrimaryRuntimeFlavor=Mono /p:RuntimeFlavor=Mono</InnerBuildArgs>
</PropertyGroup>
</Target>
@ -138,8 +138,8 @@ index a347c736df5..426cb6aa96d 100644
--- a/src/sdk/src/Tasks/Common/Resources/Strings.resx
+++ b/src/sdk/src/Tasks/Common/Resources/Strings.resx
@@ -875,4 +875,8 @@ You may need to build the project on another operating system or architecture, o
<value>NETSDK1191: A runtime identifier for the property '{0}' couldn't be inferred. Specify a rid explicitly.</value>
<comment>{StrBegin="NETSDK1191: "}</comment>
<value>NETSDK1192: Targeting .NET 7.0 or higher in Visual Studio 2022 17.3 is not supported.</value>
<comment>{StrBegin="NETSDK1192: "}</comment>
</data>
+ <data name="AotNotSupported" xml:space="preserve">
+ <value>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</value>

View File

@ -1,21 +1,18 @@
---
inspections:
# We ship an empty dotnet package that installs the latest SDK, but
# also a newer SDK when we have that
emptyrpm: off
# We patch upstream a lot, no need to reject patches
patches: off
# We patch upstream a lot, no need to reject patches
patches: off
badfuncs:
allowed:
# The Mono runtime (used on s390x, for example), uses inet_addr for
# debugging (such as sending the control flow graph to a remote process).
# See runtime/src/mono/mono/mini/cfgdump.c. This isn't part of any
# standard networking facility; networking APIs are implemneted/used in
# libSystem*so.
/usr/lib64/dotnet/shared/Microsoft.NETCore.App/*/libcoreclr.so:
- inet_addr
allowed:
# The Mono runtime (used on s390x, for example), uses inet_addr for
# debugging (such as sending the control flow graph to a remote process).
# See runtime/src/mono/mono/mini/cfgdump.c. This isn't part of any
# standard networking facility; networking APIs are implemented/used in
# libSystem*so.
/usr/lib64/dotnet/shared/Microsoft.NETCore.App/*/libcoreclr.so:
- inet_addr
runpath:
# Upstream explicitly sets $ORIGIN/netcoredeps as an RPATH
# See https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md
allowed_origin_paths:
- /netcoredeps
# Upstream explicitly sets $ORIGIN/netcoredeps as an RPATH
# See https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md
allowed_origin_paths:
- /netcoredeps

View File

@ -1,28 +0,0 @@
From 7b46eae144e3a6a430155e824fc33e3f38fab427 Mon Sep 17 00:00:00 2001
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Wed, 12 Oct 2022 09:53:09 +0200
Subject: [PATCH] [mono][s390x] Fix wrong implementation of OP_CHECK_THIS
* Only access a single byte in memory for OP_CHECK_THIS
* Remove unnecessary ltgr instruction
* Fixes https://github.com/dotnet/runtime/issues/76915
---
src/mono/mono/mini/mini-s390x.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/runtime/src/mono/mono/mini/mini-s390x.c b/src/runtime/src/mono/mono/mini/mini-s390x.c
index 7c7a936ed9701..26e6ba1d32a3b 100644
--- a/src/runtime/src/mono/mono/mini/mini-s390x.c
+++ b/src/runtime/src/mono/mono/mini/mini-s390x.c
@@ -3594,8 +3594,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
break;
case OP_CHECK_THIS: {
/* ensure ins->sreg1 is not NULL */
- s390_lg (code, s390_r0, 0, ins->sreg1, 0);
- s390_ltgr (code, s390_r0, s390_r0);
+ s390_llgc (code, s390_r0, 0, ins->sreg1, 0);
}
break;
case OP_ARGLIST: {

View File

@ -0,0 +1,22 @@
From f78e8c273d342cbaf691c23d7cd45d2e5ebbc56d Mon Sep 17 00:00:00 2001
From: Neale Ferguson <neale@sinenomine.net>
Date: Mon, 31 Oct 2022 15:06:04 +0000
Subject: [PATCH] Correct minimum memory size value from 200MB to 20MB
---
src/mono/mono/utils/memfuncs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/runtime/src/mono/mono/utils/memfuncs.c b/src/runtime/src/mono/mono/utils/memfuncs.c
index 885c21ae3d8fb..a38dcec17b1b6 100644
--- a/src/runtime/src/mono/mono/utils/memfuncs.c
+++ b/src/runtime/src/mono/mono/utils/memfuncs.c
@@ -70,7 +70,7 @@
__d [__i] = NULL; \
} while (0)
-#define MINMEMSZ 209715200 /* Minimum restricted memory size */
+#define MINMEMSZ 20971520 /* Minimum restricted memory size - 20MB */
/**
* mono_gc_bzero_aligned:

View File

@ -0,0 +1,39 @@
diff --git a/src/runtime/src/mono/mono/mini/mini-ppc.c b/src/runtime/src/mono/mono/mini/mini-ppc.c
index bc97b497af9..cc5e5ccc0e6 100644
--- a/src/runtime/src/mono/mono/mini/mini-ppc.c
+++ b/src/runtime/src/mono/mono/mini/mini-ppc.c
@@ -2733,7 +2733,7 @@ handle_thunk (MonoCompile *cfg, guchar *code, const guchar *target)
cfg->arch.thunks = cfg->thunks;
cfg->arch.thunks_size = cfg->thunk_area;
#ifdef THUNK_ADDR_ALIGNMENT
- cfg->arch.thunks = ALIGN_TO(cfg->arch.thunks, THUNK_ADDR_ALIGNMENT);
+ cfg->arch.thunks = (guint8 *)ALIGN_TO(cfg->arch.thunks, THUNK_ADDR_ALIGNMENT);
#endif
}
thunks = cfg->arch.thunks;
@@ -5886,7 +5886,7 @@ host_mgreg_t*
mono_arch_context_get_int_reg_address (MonoContext *ctx, int reg)
{
if (reg == ppc_r1)
- return (host_mgreg_t)(gsize)MONO_CONTEXT_GET_SP (ctx);
+ return (host_mgreg_t *)(gsize)&ctx->sc_sp;
return &ctx->regs [reg];
}
diff --git a/src/runtime/src/mono/mono/mini/tramp-ppc.c b/src/runtime/src/mono/mono/mini/tramp-ppc.c
index 59bcb275a48..e0bc7f8eca4 100644
--- a/src/runtime/src/mono/mono/mini/tramp-ppc.c
+++ b/src/runtime/src/mono/mono/mini/tramp-ppc.c
@@ -672,10 +672,10 @@ mono_arch_get_call_target (guint8 *code)
}
#if defined(TARGET_POWERPC64) && !defined(PPC_USES_FUNCTION_DESCRIPTOR)
else if (((guint32*)(code - 32)) [0] >> 26 == 15) {
- guint8 *thunk = GET_MEMORY_SLOT_THUNK_ADDRESS((guint32*)(code - 32));
+ guint8 *thunk = (guint8 *)GET_MEMORY_SLOT_THUNK_ADDRESS((guint32*)(code - 32));
return thunk;
} else if (((guint32*)(code - 4)) [0] >> 26 == 15) {
- guint8 *thunk = GET_MEMORY_SLOT_THUNK_ADDRESS((guint32*)(code - 4));
+ guint8 *thunk = (guint8 *)GET_MEMORY_SLOT_THUNK_ADDRESS((guint32*)(code - 4));
return thunk;
}
#endif

View File

@ -1,4 +1 @@
SHA512 (dotnet-v7.0.100-rc.2.22477.23-x64-bootstrap.tar.xz) = c6e99e9df70731858102f41b3332cb378c6bd82e6aeb41a4f86e395c80dd2d26de5647a1f799285db4f96dacb36081a6eea76c0be712eccce740dc755575cf92
SHA512 (dotnet-arm64-prebuilts-2022-10-12.tar.gz) = 00f2202d7e2831f4f5da9fa02238b35d5ad340efd8ecd7c8d5c69206236f3de374772275c629de0f16ded93b2368e4b357927173ff7046cef145a966ea6e5c0d
SHA512 (dotnet-ppc64le-prebuilts-2022-10-21.tar.gz) = cc4c91a43cd6abedf3acc548e9ea4b6917e6afdfe2e43d595166ce78e3efb9c05345c45f10e4f4909d6383e6f8f2e825b260ec643991eaf04a469b55b9782066
SHA512 (dotnet-s390x-prebuilts-2022-10-12.tar.gz) = e19a989cafcf7e9a7be3381202653e9f9b9954b81ff2babcef494b5d06b8babf1996b74bd1f08dee90c6feffcf5130becbf7bfb59457d5b6926a6cf5d0e4a504
SHA512 (dotnet-v7.0.100.tar.gz) = 53c78ce176a57e541973bdee6b9f58413d05dfae351f21944cbd2b1dd8aafcb8374ef756ae530ad650b0d068f449db51c08d002e4a6269df3c51ff04bbbf27bb

View File

@ -1,294 +0,0 @@
From 96591cb1ac589021b9f31854a13f8fe3dd565f25 Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Tue, 27 Sep 2022 13:08:43 +0530
Subject: [PATCH 1/4] add support for ppc64le processor architecture
---
src/Microsoft.TestPlatform.ObjectModel/Architecture.cs | 3 ++-
.../Interfaces/System/PlatformArchitecture.cs | 1 +
.../netcore/System/PlatformEnvironment.cs | 1 +
.../netcore/System/ProcessHelper.cs | 1 +
.../Hosting/DefaultTestHostManager.cs | 1 +
src/vstest.console/TestPlatformHelpers/TestRequestManager.cs | 2 ++
.../Processors/PlatformArgumentProcessorTests.cs | 4 ++--
7 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
index 6c9b9bcde5..7879358840 100644
--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
@@ -11,5 +11,6 @@ public enum Architecture
ARM,
AnyCPU,
ARM64,
- S390x
+ S390x,
+ PPC64le
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
index b1d477c7d3..aa81ca0ffc 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
@@ -13,4 +13,5 @@ public enum PlatformArchitecture
ARM,
ARM64,
S390x,
+ PPC64le,
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
index 10d4a61570..14d1234ef6 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
@@ -28,6 +28,7 @@ public PlatformArchitecture Architecture
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
+ (Architecture)6 => PlatformArchitecture.PPC64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
index 6cf4b0f91b..d1e31bb0f6 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
@@ -41,6 +41,7 @@ public PlatformArchitecture GetCurrentProcessArchitecture()
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
+ (Architecture)6 => PlatformArchitecture.PPC64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
index 2eca302b43..54fa36e344 100644
--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
@@ -274,6 +274,7 @@ private static string GetTestHostName(Architecture architecture, Framework targe
PlatformArchitecture.ARM => Architecture.ARM,
PlatformArchitecture.ARM64 => Architecture.ARM64,
PlatformArchitecture.S390x => Architecture.S390x,
+ PlatformArchitecture.PPC64le => Architecture.PPC64le,
_ => throw new NotSupportedException(),
};
diff --git a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
index 642e36bb9e..c7a0f93927 100644
--- a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
+++ b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
@@ -841,6 +841,8 @@ static Architecture TranslateToArchitecture(PlatformArchitecture targetArchitect
return Architecture.ARM64;
case PlatformArchitecture.S390x:
return Architecture.S390x;
+ case PlatformArchitecture.PPC64le:
+ return Architecture.PPC64le;
default:
EqtTrace.Error($"TestRequestManager.TranslateToArchitecture: Unhandled architecture '{targetArchitecture}'.");
break;
diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
index 207e4590fd..472688248d 100644
--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
+++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("foo"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
"foo");
}
@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("AnyCPU"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
"AnyCPU");
}
From 750b193e964a446dad5fc5927b745861eb19a9a9 Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Wed, 28 Sep 2022 11:06:08 +0530
Subject: [PATCH 2/4] change enum name from PPC64le to Ppc64le to match with
System.Runtime.InteropServices.Architecture enum name
---
src/Microsoft.TestPlatform.ObjectModel/Architecture.cs | 2 +-
.../Interfaces/System/PlatformArchitecture.cs | 2 +-
.../netcore/System/PlatformEnvironment.cs | 2 +-
.../netcore/System/ProcessHelper.cs | 2 +-
.../Hosting/DefaultTestHostManager.cs | 2 +-
src/vstest.console/TestPlatformHelpers/TestRequestManager.cs | 4 ++--
.../Processors/PlatformArgumentProcessorTests.cs | 4 ++--
7 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
index 7879358840..f3d59e7ae4 100644
--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
@@ -12,5 +12,5 @@ public enum Architecture
AnyCPU,
ARM64,
S390x,
- PPC64le
+ Ppc64le
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
index aa81ca0ffc..907ec721dd 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
@@ -13,5 +13,5 @@ public enum PlatformArchitecture
ARM,
ARM64,
S390x,
- PPC64le,
+ Ppc64le,
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
index 14d1234ef6..f2163db898 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
@@ -28,7 +28,7 @@ public PlatformArchitecture Architecture
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
- (Architecture)6 => PlatformArchitecture.PPC64le,
+ (Architecture)8 => PlatformArchitecture.Ppc64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
index d1e31bb0f6..d2d048e355 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
@@ -41,7 +41,7 @@ public PlatformArchitecture GetCurrentProcessArchitecture()
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
- (Architecture)6 => PlatformArchitecture.PPC64le,
+ (Architecture)8 => PlatformArchitecture.Ppc64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
index 54fa36e344..02001d23ab 100644
--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
@@ -274,7 +274,7 @@ private static string GetTestHostName(Architecture architecture, Framework targe
PlatformArchitecture.ARM => Architecture.ARM,
PlatformArchitecture.ARM64 => Architecture.ARM64,
PlatformArchitecture.S390x => Architecture.S390x,
- PlatformArchitecture.PPC64le => Architecture.PPC64le,
+ PlatformArchitecture.Ppc64le => Architecture.Ppc64le,
_ => throw new NotSupportedException(),
};
diff --git a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
index c7a0f93927..25cca0ca07 100644
--- a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
+++ b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
@@ -841,8 +841,8 @@ static Architecture TranslateToArchitecture(PlatformArchitecture targetArchitect
return Architecture.ARM64;
case PlatformArchitecture.S390x:
return Architecture.S390x;
- case PlatformArchitecture.PPC64le:
- return Architecture.PPC64le;
+ case PlatformArchitecture.Ppc64le:
+ return Architecture.Ppc64le;
default:
EqtTrace.Error($"TestRequestManager.TranslateToArchitecture: Unhandled architecture '{targetArchitecture}'.");
break;
diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
index 472688248d..f33166ae6c 100644
--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
+++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("foo"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
"foo");
}
@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("AnyCPU"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
"AnyCPU");
}
From 4d97db82c39caf0aa6ca7bd3f47f1c3714aa6f2c Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Wed, 28 Sep 2022 17:58:27 +0530
Subject: [PATCH 3/4] add defination of enum
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.Ppc64le
and Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Ppc64le in
Microsoft.TestPlatform.ObjectModel and
/Microsoft.TestPlatform.PlatformAbstractions PublicAPI.Shipped.txt file.
---
.../PublicAPI/PublicAPI.Shipped.txt | 1 +
.../PublicAPI/PublicAPI.Shipped.txt | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
index 9df7e09b00..5d69e70774 100644
--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
@@ -113,6 +113,7 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.ARM = 3 -> Microsof
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.ARM64 = 5 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Default = 0 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.S390x = 6 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
+Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Ppc64le = 7 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.X64 = 2 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.X86 = 1 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.AttachmentSet
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
index 696ed76517..8f0f763f94 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
@@ -67,6 +67,7 @@ Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.ARM = 2 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.ARM64 = 3 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.S390x = 4 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
+Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.Ppc64le = 5 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.X64 = 1 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.X86 = 0 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyExtensions
From 389b923569be952cfa6875af209e70d9490bfd73 Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Wed, 28 Sep 2022 19:45:55 +0530
Subject: [PATCH 4/4] corrected typo in ppc64le arch name
---
.../Processors/PlatformArgumentProcessorTests.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
index f33166ae6c..b452b48408 100644
--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
+++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("foo"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, Ppc64le.",
"foo");
}
@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("AnyCPU"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, Ppc64le.",
"AnyCPU");
}

View File

@ -1,37 +0,0 @@
From 7ea33be2e1949d9c63ff58b59deb5b1a84105aae Mon Sep 17 00:00:00 2001
From: Giridhar Trivedi <giridhar.trivedi@ibm.com>
Date: Wed, 12 Oct 2022 14:14:40 +0200
Subject: [PATCH] Fix Invalid target architecture 'S390x' error
In commit 3ae5c4aef823 ("Add support for s390x processor architecture")
support for S390x architecture was provided for .NET6. This is broken
in .NET7. Add missing case statements to fix this for S390x and also
Power architectures.
---
.../Hosting/DotnetTestHostManager.cs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
index b4fa53776f..deadfcb684 100644
--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
@@ -536,6 +536,10 @@ PlatformArchitecture TranslateToPlatformArchitecture(Architecture targetArchitec
return PlatformArchitecture.ARM;
case Architecture.ARM64:
return PlatformArchitecture.ARM64;
+ case Architecture.S390x:
+ return PlatformArchitecture.S390x;
+ case Architecture.Ppc64le:
+ return PlatformArchitecture.Ppc64le;
case Architecture.AnyCPU:
case Architecture.Default:
default:
@@ -552,6 +556,8 @@ static bool IsSameArchitecture(Architecture targetArchitecture, PlatformArchitec
Architecture.X64 => platformAchitecture == PlatformArchitecture.X64,
Architecture.ARM => platformAchitecture == PlatformArchitecture.ARM,
Architecture.ARM64 => platformAchitecture == PlatformArchitecture.ARM64,
+ Architecture.S390x => platformAchitecture == PlatformArchitecture.S390x,
+ Architecture.Ppc64le => platformAchitecture == PlatformArchitecture.Ppc64le,
_ => throw new TestPlatformException($"Invalid target architecture '{targetArchitecture}'"),
};