From 72349ef8376fc725f84c11fd354ed82f21747318 Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Tue, 17 Jan 2023 14:24:41 -0500 Subject: [PATCH] Update to .NET SDK 7.0.101 and Runtime 7.0.1 Resolves: RHBZ#2150150 --- .gitignore | 1 + aspnetcore-44583-ppc64le-crossgen.patch | 24 ------ dotnet7.0.spec | 35 +++----- installer-14792-mono.patch | 86 -------------------- rename-tarball | 1 + runtime-77269-mono-ppc64le-opcheckthis.patch | 23 ------ runtime-77270-ppc64le-fsharp-crash.patch | 56 ------------- runtime-77308-ppc64le-delegate.patch | 60 -------------- runtime-77682-mono-cgroup-min-memory.patch | 22 ----- runtime-mono-ppc64le-clang15.patch | 39 --------- sources | 2 +- 11 files changed, 13 insertions(+), 336 deletions(-) delete mode 100644 aspnetcore-44583-ppc64le-crossgen.patch delete mode 100644 runtime-77269-mono-ppc64le-opcheckthis.patch delete mode 100644 runtime-77270-ppc64le-fsharp-crash.patch delete mode 100644 runtime-77308-ppc64le-delegate.patch delete mode 100644 runtime-77682-mono-cgroup-min-memory.patch delete mode 100644 runtime-mono-ppc64le-clang15.patch diff --git a/.gitignore b/.gitignore index 41698f5..b04d1c1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /dotnet-s390x-prebuilts-2022-10-12.tar.gz /dotnet-ppc64le-prebuilts-2022-10-21.tar.gz /dotnet-v7.0.100.tar.gz +/dotnet-v7.0.101.tar.gz diff --git a/aspnetcore-44583-ppc64le-crossgen.patch b/aspnetcore-44583-ppc64le-crossgen.patch deleted file mode 100644 index d21fc15..0000000 --- a/aspnetcore-44583-ppc64le-crossgen.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d77f55bc7c5f6dd087113b6e93b7778d3ebcdbb4 Mon Sep 17 00:00:00 2001 -From: Sapana Khemkar -Date: Fri, 14 Oct 2022 05:44:54 +0000 -Subject: [PATCH] add ppc64le arch to crossgen2 not available list - ---- - .../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj -index c062788037..4dfa88f7d6 100644 ---- a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj -+++ b//src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj -@@ -42,8 +42,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant - - $(AllowedOutputExtensionsInSymbolsPackageBuildOutputFolder);.r2rmap - -- -- false -+ -+ false - true - - diff --git a/dotnet7.0.spec b/dotnet7.0.spec index c2e4527..06e8bbd 100644 --- a/dotnet7.0.spec +++ b/dotnet7.0.spec @@ -6,10 +6,10 @@ # 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 -%global runtime_version 7.0.0 -%global aspnetcore_runtime_version 7.0.0 -%global sdk_version 7.0.100 +%global host_version 7.0.1 +%global runtime_version 7.0.1 +%global aspnetcore_runtime_version %{runtime_version} +%global sdk_version 7.0.101 %global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|') %global templates_version %{runtime_version} #%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }') @@ -51,7 +51,7 @@ Name: dotnet7.0 Version: %{sdk_rpm_version} -Release: 1%{?dist} +Release: 2%{?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/ @@ -77,20 +77,8 @@ Source11: dotnet.sh.in # https://github.com/dotnet/installer/pull/14792 Patch1: installer-14792-mono.patch -# https://github.com/dotnet/aspnetcore/pull/44583 -Patch2: aspnetcore-44583-ppc64le-crossgen.patch -# https://github.com/dotnet/runtime/pull/77269 -Patch3: runtime-77269-mono-ppc64le-opcheckthis.patch -# https://github.com/dotnet/runtime/pull/77270 -Patch4: runtime-77270-ppc64le-fsharp-crash.patch -# https://github.com/dotnet/runtime/pull/77308 -Patch5: runtime-77308-ppc64le-delegate.patch # Disable apphost; there's no net6.0 apphost for ppc64le -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 +Patch2: roslyn-analyzers-ppc64le-apphost.patch %if 0%{?fedora} || 0%{?rhel} >= 8 @@ -413,12 +401,6 @@ popd %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 # Fix bad hardcoded path in build sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp @@ -630,7 +612,6 @@ export COMPlus_LTTng=0 %{_libdir}/dotnet/sdk/%{sdk_version} %dir %{_libdir}/dotnet/sdk-manifests %{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version} -%{_libdir}/dotnet/sdk-manifests/%{sdk_feature_band_version}-rc.1 %{_libdir}/dotnet/metadata %dir %{_libdir}/dotnet/packs @@ -640,6 +621,10 @@ export COMPlus_LTTng=0 %changelog +* Wed Jan 11 2023 Omair Majid - 7.0.101-2 +- Update to .NET SDK 7.0.101 and Runtime 7.0.1 +- Resolves: RHBZ#2150150 + * Wed Nov 09 2022 Omair Majid - 7.0.100-1 - Update to .NET 7 GA release - Resolves: RHBZ#2137944 diff --git a/installer-14792-mono.patch b/installer-14792-mono.patch index 0d47c15..2b3214a 100644 --- a/installer-14792-mono.patch +++ b/installer-14792-mono.patch @@ -23,92 +23,6 @@ to work with mono. create mode 100644 src/SourceBuild/tarball/patches/runtime/0001-source-build-support-building-with-mono-runtime.patch create mode 100644 src/SourceBuild/tarball/patches/sdk/0001-source-build-support-building-with-mono-runtime.patch -diff --git a/eng/SourceBuild.props b/eng/SourceBuild.props -index a2831d57455..9ebca97ff90 100644 ---- a/src/installer/eng/SourceBuild.props -+++ b/src/installer/eng/SourceBuild.props -@@ -11,6 +11,7 @@ - $(InnerBuildArgs) /p:IncludeNuGetPackageArchive=false - $(InnerBuildArgs) /p:IncludeAdditionalSharedFrameworks=false - $(InnerBuildArgs) /p:IncludeSharedFrameworksForBackwardsCompatibilityTests=false -+ $(InnerBuildArgs) /p:DISABLE_CROSSGEN=true - - - -diff --git a/Directory.Build.props b/Directory.Build.props -index 860785575f7..982fb7f0725 100644 ---- a/Directory.Build.props -+++ b/Directory.Build.props -@@ -24,6 +24,11 @@ - - false - -+ false -+ -+ true -+ true -+ - -diff --git a/build.sh b/build.sh -index e899d2f808c..17699c78cb7 100755 ---- a/build.sh -+++ b/build.sh -@@ -11,6 +11,7 @@ usage() { - echo " --run-smoke-test don't build; run smoke tests" - echo " --with-packages use the specified directory of previously-built packages" - echo " --with-sdk use the SDK in the specified directory for bootstrapping" -+ echo " --use-mono-runtime output uses the mono runtime" - echo "use -- to send the remaining arguments to MSBuild" - echo "" - } -@@ -65,6 +66,9 @@ while :; do - fi - shift - ;; -+ --use-mono-runtime) -+ MSBUILD_ARGUMENTS+=( "/p:SourceBuildUseMonoRuntime=true" ) -+ ;; - --) - shift - echo "Detected '--': passing remaining parameters '$@' as build.sh arguments." -diff --git a/repos/Directory.Build.props b/repos/Directory.Build.props -index e4e3060af7f..04ab89d11dc 100644 ---- a/repos/Directory.Build.props -+++ b/repos/Directory.Build.props -@@ -143,6 +143,7 @@ - $(StandardSourceBuildArgs) /p:AdditionalSourceBuiltNupkgCacheDir="$(SourceBuiltPackagesPath)" - $(StandardSourceBuildArgs) /p:ReferencePackageNupkgCacheDir="$(ReferencePackagesDir)" - $(StandardSourceBuildArgs) /p:PreviouslySourceBuiltNupkgCacheDir="$(PrebuiltSourceBuiltPackagesPath)" -+ $(StandardSourceBuildArgs) /p:SourceBuildUseMonoRuntime=$(SourceBuildUseMonoRuntime) - - $(ProjectDirectory)\build$(ShellExtension) - -diff --git a/src/aspnetcore/eng/SourceBuild.props b/src/aspnetcore/eng/SourceBuild.props -index 32108e1f..3dfbd5ef 100644 ---- a/src/aspnetcore/eng/SourceBuild.props -+++ b/src/aspnetcore/eng/SourceBuild.props -@@ -55,6 +55,7 @@ - - - $(InnerBuildArgs) /p:SourceBuildRuntimeIdentifier=$(TargetRuntimeIdentifier) -+ $(InnerBuildArgs) /p:CrossgenOutput=false - - - -diff --git a/src/runtime/eng/SourceBuild.props b/src/runtime/eng/SourceBuild.props -index c197d8afd..55c1c1d22 100644 ---- a/src/runtime/eng/SourceBuild.props -+++ b/src/runtime/eng/SourceBuild.props -@@ -41,6 +41,7 @@ - $(InnerBuildArgs) /p:EnableNgenOptimization=false - $(InnerBuildArgs) /p:EnablePackageValidation=false - $(InnerBuildArgs) /p:DisableSourceLink=false -+ $(InnerBuildArgs) /p:PrimaryRuntimeFlavor=Mono /p:RuntimeFlavor=Mono - - - diff --git a/src/sdk/eng/SourceBuild.props b/src/sdk/eng/SourceBuild.props index 61b9a913708..2107a718419 100644 --- a/src/sdk/eng/SourceBuild.props diff --git a/rename-tarball b/rename-tarball index 5bc1109..7695205 100755 --- a/rename-tarball +++ b/rename-tarball @@ -47,6 +47,7 @@ new_name=${new_name/.tar.gz} echo "Original: ${original_name}.tar.gz" echo "New name: ${new_name}.tar.gz" +rm -rf "temp-${new_name}" mkdir "temp-${new_name}" pushd "temp-${new_name}" > /dev/null tar xf "${original_path}" diff --git a/runtime-77269-mono-ppc64le-opcheckthis.patch b/runtime-77269-mono-ppc64le-opcheckthis.patch deleted file mode 100644 index a959beb..0000000 --- a/runtime-77269-mono-ppc64le-opcheckthis.patch +++ /dev/null @@ -1,23 +0,0 @@ -From f163003da28cd01866b15233116d5efd53b1a2ef Mon Sep 17 00:00:00 2001 -From: Sapana Khemkar -Date: Thu, 13 Oct 2022 07:45:23 +0000 -Subject: [PATCH] use byte load instruction in OP_CHECK_THIS instead of double - word instruction - ---- - src/runtime/src/mono/mono/mini/mini-ppc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/runtime/src/mono/mono/mini/mini-ppc.c b/src/runtime/src/mono/mono/mini/mini-ppc.c -index bc97b497af93a..a2d8c5a714e3b 100644 ---- a/src/runtime/src/mono/mono/mini/mini-ppc.c -+++ b/src/runtime/src/mono/mono/mini/mini-ppc.c -@@ -3837,7 +3837,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) - } - case OP_CHECK_THIS: - /* ensure ins->sreg1 is not NULL */ -- ppc_ldptr (code, ppc_r0, 0, ins->sreg1); -+ ppc_lbz (code, ppc_r0, 0, ins->sreg1); - break; - case OP_ARGLIST: { - long cookie_offset = cfg->sig_cookie + cfg->stack_usage; diff --git a/runtime-77270-ppc64le-fsharp-crash.patch b/runtime-77270-ppc64le-fsharp-crash.patch deleted file mode 100644 index e135b8b..0000000 --- a/runtime-77270-ppc64le-fsharp-crash.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 14749457ff716cebd043b4e41aad622f9ac89586 Mon Sep 17 00:00:00 2001 -From: Alhad Deshpande -Date: Wed, 19 Oct 2022 06:29:54 +0000 -Subject: [PATCH] Fixed FSharp crash issue - ---- - src/mono/mono/mini/mini-ppc.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/src/runtime/src/mono/mono/mini/mini-ppc.c b/src/runtime/src/mono/mono/mini/mini-ppc.c -index bc97b497af93a..3df60c6a925f6 100644 ---- a/src/runtime/src/mono/mono/mini/mini-ppc.c -+++ b/src/runtime/src/mono/mono/mini/mini-ppc.c -@@ -3782,23 +3782,11 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) - ppc_addis (code, ppc_r12, cfg->frame_reg, ppc_ha(cfg->stack_usage)); - ppc_addi (code, ppc_r12, ppc_r12, cfg->stack_usage); - } -- if (!cfg->method->save_lmf) { -- pos = 0; -- for (i = 31; i >= 13; --i) { -- if (cfg->used_int_regs & (1 << i)) { -- pos += sizeof (target_mgreg_t); -- ppc_ldptr (code, i, -pos, ppc_r12); -- } -- } -- } else { -- /* FIXME restore from MonoLMF: though this can't happen yet */ -- } - - /* Copy arguments on the stack to our argument area */ - if (call->stack_usage) { - code = emit_memcpy (code, call->stack_usage, ppc_r12, PPC_STACK_PARAM_OFFSET, ppc_sp, PPC_STACK_PARAM_OFFSET); - /* r12 was clobbered */ -- g_assert (cfg->frame_reg == ppc_sp); - if (ppc_is_imm16 (cfg->stack_usage)) { - ppc_addi (code, ppc_r12, cfg->frame_reg, cfg->stack_usage); - } else { -@@ -3809,6 +3797,18 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb) - } - } - -+ if (!cfg->method->save_lmf) { -+ pos = 0; -+ for (i = 31; i >= 13; --i) { -+ if (cfg->used_int_regs & (1 << i)) { -+ pos += sizeof (target_mgreg_t); -+ ppc_ldptr (code, i, -pos, ppc_r12); -+ } -+ } -+ } else { -+ /* FIXME restore from MonoLMF: though this can't happen yet */ -+ } -+ - ppc_mr (code, ppc_sp, ppc_r12); - mono_add_patch_info (cfg, (guint8*) code - cfg->native_code, MONO_PATCH_INFO_METHOD_JUMP, call->method); - cfg->thunk_area += THUNK_SIZE; diff --git a/runtime-77308-ppc64le-delegate.patch b/runtime-77308-ppc64le-delegate.patch deleted file mode 100644 index 4c5464a..0000000 --- a/runtime-77308-ppc64le-delegate.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/src/runtime/src/mono/mono/mini/mini-ppc.c b/src/runtime/src/mono/mono/mini/mini-ppc.c -index db669f8b5da0f..73a26c02b18aa 100644 ---- a/src/runtime/src/mono/mono/mini/mini-ppc.c -+++ b/src/runtime/src/mono/mono/mini/mini-ppc.c -@@ -470,10 +470,54 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe - return start; - } - -+/** -+ * -+ * @brief Architecture-specific delegation virtual trampoline processing -+ * -+ * @param[in] @sig - Method signature -+ * @param[in] @method - Method -+ * @param[in] @offset - Offset into vtable -+ * @param[in] @load_imt_reg - Whether to load the LMT register -+ * @returns Trampoline -+ * -+ * Return a pointer to a delegation virtual trampoline -+ */ -+ - gpointer - mono_arch_get_delegate_virtual_invoke_impl (MonoMethodSignature *sig, MonoMethod *method, int offset, gboolean load_imt_reg) - { -- return NULL; -+ guint8 *code, *start; -+ int size = 32; -+ -+ start = code = (guint8 *) mono_global_codeman_reserve (size); -+ -+ /* -+ * Replace the "this" argument with the target -+ */ -+ ppc_mr (code, ppc_r12, ppc_r3); -+ ppc_ldptr (code, ppc_r3, MONO_STRUCT_OFFSET(MonoDelegate, target), ppc_r12); -+ -+ /* -+ * Load the IMT register, if needed -+ */ -+ if (load_imt_reg) { -+ ppc_ldptr (code, MONO_ARCH_IMT_REG, MONO_STRUCT_OFFSET(MonoDelegate, method), ppc_r12); -+ } -+ -+ /* -+ * Load the vTable -+ */ -+ ppc_ldptr (code, ppc_r12, MONO_STRUCT_OFFSET(MonoObject, vtable), ppc_r3); -+ if (!ppc_is_imm16(offset)) -+ ppc_addis (code, ppc_r12, ppc_r12, ppc_ha(offset)); -+ ppc_ldptr (code, ppc_r12, offset, ppc_r12); -+ ppc_mtctr (code, ppc_r12); -+ ppc_bcctr (code, PPC_BR_ALWAYS, 0); -+ -+ mono_arch_flush_icache (start, code - start); -+ MONO_PROFILER_RAISE (jit_code_buffer, (start, code - start, MONO_PROFILER_CODE_BUFFER_DELEGATE_INVOKE, NULL)); -+ -+ return(start); - } - - gpointer diff --git a/runtime-77682-mono-cgroup-min-memory.patch b/runtime-77682-mono-cgroup-min-memory.patch deleted file mode 100644 index 7ed667f..0000000 --- a/runtime-77682-mono-cgroup-min-memory.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f78e8c273d342cbaf691c23d7cd45d2e5ebbc56d Mon Sep 17 00:00:00 2001 -From: Neale Ferguson -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: diff --git a/runtime-mono-ppc64le-clang15.patch b/runtime-mono-ppc64le-clang15.patch deleted file mode 100644 index 32bf3f9..0000000 --- a/runtime-mono-ppc64le-clang15.patch +++ /dev/null @@ -1,39 +0,0 @@ -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 diff --git a/sources b/sources index 6385442..1e57832 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (dotnet-v7.0.100.tar.gz) = 53c78ce176a57e541973bdee6b9f58413d05dfae351f21944cbd2b1dd8aafcb8374ef756ae530ad650b0d068f449db51c08d002e4a6269df3c51ff04bbbf27bb +SHA512 (dotnet-v7.0.101.tar.gz) = 2d6faac05ad79eaeab7de2a69c639122ef2e737cb2fd983e230f73766a7fab7c3051a717960e42b0c08661b02cb1693839d1c61ba4968dce0531727018a9f70c