Update to .NET SDK 8.0.100 Preview 1 and Runtime 8.0.0 Preview 1

This commit is contained in:
Omair Majid 2023-02-22 11:11:29 -05:00
parent b52c19333d
commit ff075d8ac1
8 changed files with 89 additions and 462 deletions

View File

@ -1,6 +1,6 @@
# dotnet7.0
# dotnet8.0
This is the .NET 7.0 package for Fedora.
This is the work in progress .NET 8.0 package for Fedora.
This package is maintained by the Fedora DotNet SIG (Special Interest
Group). You can find out more about the DotNet SIG at:

View File

@ -29,10 +29,12 @@ mkdir -p "dotnet-arm64-prebuilts-$date"
pushd "dotnet-arm64-prebuilts-$date"
# Binaries can be at one of several different URLs:
wget https://dotnetcli.azureedge.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-arm64.tar.gz
#wget https://dotnetbuilds.azureedge.net/public/Sdk/$version/dotnet-sdk-$version-linux-arm64.tar.gz
# GA releases:
#wget https://dotnetcli.azureedge.net/dotnet/Sdk/$version/dotnet-sdk-$version-linux-arm64.tar.gz
# Preview releases:
wget https://dotnetbuilds.azureedge.net/public/Sdk/$version/dotnet-sdk-$version-linux-arm64.tar.gz
for archive in "$bootstrap_dir"/packages/archive/*.tar.gz; do
for archive in "$bootstrap_dir"/prereqs/packages/archive/*.tar.gz; do
mapfile -t linux_x64_packages < <(tar tf "$archive" | grep linux-x64)
for package in "${linux_x64_packages[@]}"; do

View File

@ -1,12 +1,14 @@
#!/bin/bash
# Usage:
# build-dotnet-tarball [--bootstrap] <tag-from-installer>
# build-dotnet-tarball [--bootstrap] <tag-from-dotnet>
#
# Creates a source archive from a tag (or commit) at github.com/dotnet/installer
# Creates a source archive from a tag (or commit) at
# https://github.com/dotnet/dotnet
#
# Clone dotnet/installer, check out the tag (if any), and build the
# source-tarball.
# Clone dotnet/dotnet, check out the tag, and build a source-tarball.
# Can also use a full git commit identifier instead of tag (not an
# abbreviated 8 character commit identifier though).
set -euo pipefail
IFS=$'\n\t'
@ -15,7 +17,7 @@ function print_usage {
echo "Usage:"
echo "$0 [--bootstrap] <tag-from-installer>"
echo
echo "Creates a source archive from a tag at https://github.com/dotnet/installer"
echo "Creates a source archive from a tag at https://github.com/dotnet/dotnet"
echo ""
echo " --bootstrap build a source tarball usable for bootstrapping .NET"
}
@ -23,6 +25,7 @@ function print_usage {
function clean_dotnet_cache {
rm -rf ~/.aspnet ~/.dotnet/ ~/.nuget/ ~/.local/share/NuGet ~/.templateengine
rm -rf /tmp/NuGet /tmp/NuGetScratch /tmp/.NETCore* /tmp/.NETStandard* /tmp/.dotnet /tmp/dotnet.* /tmp/clr-debug-pipe* /tmp/Razor-Server /tmp/CoreFxPipe* /tmp/VBCSCompiler /tmp/.NETFramework*
rm -rf ~/.npm/
}
function check_bootstrap_environment {
@ -116,36 +119,39 @@ if [ -f "${tarball_name}${tarball_suffix}" ]; then
fi
if [ ! -f "${unmodified_tarball_name}.tar.gz" ]; then
temp_dir=$(mktemp -d -p "$(pwd)")
temp_dir=$(mktemp -d -p "$(pwd)" -t temp-build-dotnet-tarball-XXXXXXXXXX)
pushd "${temp_dir}"
mkdir installer
pushd installer
mkdir dotnet
pushd dotnet
git init
git remote add origin https://github.com/dotnet/installer
git remote add origin https://github.com/dotnet/dotnet
git fetch --depth 1 origin "${tag}"
git checkout FETCH_HEAD
git submodule update --init --recursive
clean_dotnet_cache
mkdir -p "../${unmodified_tarball_name}"
./build.sh /p:ArcadeBuildTarball=true
./eng/pack-sources.sh -o "$(readlink -f ../../"${unmodified_tarball_name}.tar.gz")"
popd
popd
cp -a \
"${temp_dir}"/installer/artifacts/packages/Debug/Shipping/dotnet-sdk-source-7*.tar.gz \
"${unmodified_tarball_name}.tar.gz"
rm -rf "${temp_dir}"
fi
rm -rf "${tarball_name}"
tar tf "${unmodified_tarball_name}".tar.gz > .tarball_file_list
extracted_tarball_root=$(head -1 .tarball_file_list | cut -d/ -f 1)
if [[ "$extracted_tarball_root" == "."* ]]; then
echo "error: can't find main directory in the dotnet tarball"
exit 1
fi
if [[ $(grep -cv "^${extracted_tarball_root}/" .tarball_file_list) -gt 0 ]]; then
echo "error: tarball doesn't have a single main directory"
exit 1
fi
rm .tarball_file_list
mkdir -p "${unmodified_tarball_name}"
pushd "${unmodified_tarball_name}"
tar xf ../"${unmodified_tarball_name}.tar.gz"
popd
mv "${unmodified_tarball_name}" "${tarball_name}"
rm -rf "${tarball_name}"
rm -rf "${extracted_tarball_root}"
tar xf "${unmodified_tarball_name}.tar.gz"
mv "${extracted_tarball_root}" "${tarball_name}"
pushd "${tarball_name}"
@ -186,8 +192,9 @@ rm -r src/runtime/src/tests/sizeondisk/sodbench
popd
if [[ ${build_bootstrap} == true ]]; then
tar -I 'xz -9 -T 0' -cf "${tarball_name}${tarball_suffix}" "${tarball_name}"
else
tar -czf "${tarball_name}${tarball_suffix}" "${tarball_name}"
fi
# if [[ ${build_bootstrap} == true ]]; then
# tar -I 'xz -9 -T 0' -cf "${tarball_name}${tarball_suffix}" "${tarball_name}"
# else
# tar -czf "${tarball_name}${tarball_suffix}" "${tarball_name}"
# fi
tar -czf "${tarball_name}${tarball_suffix}" "${tarball_name}"

View File

@ -4,7 +4,7 @@ set -euo pipefail
set -x
fedpkg --release f36 srpm 2>&1 | tee fedpkg.output
fedpkg --release f37 srpm 2>&1 | tee fedpkg.output
srpm_name=$(grep 'Wrote: ' fedpkg.output | cut -d' ' -f 2)

View File

@ -1,4 +1,4 @@
%bcond_with bootstrap
%bcond_without 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,23 +6,23 @@
# until that's done, disable LTO. This has to happen before setting the flags below.
%define _lto_cflags %{nil}
%global dotnetver 7.0
%global dotnetver 8.0
%global host_version 7.0.2
%global runtime_version 7.0.2
%global aspnetcore_runtime_version %{runtime_version}
%global sdk_version 7.0.102
%global host_version 8.0.0-preview.1.23110.8
%global runtime_version 8.0.0-preview.1.23110.8
%global aspnetcore_runtime_version 8.0.0-preview.1.23112.2
%global sdk_version 8.0.100-preview.1.23115.1
%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 8.0.0-preview.1.23112.2
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%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}
%global host_rpm_version 8.0.0~preview.1
%global runtime_rpm_version 8.0.0~preview.1
%global aspnetcore_runtime_rpm_version 8.0.0~preview.1
%global sdk_rpm_version 8.0.100~preview.1
# upstream can update releases without revving the SDK version so these don't always match
%global upstream_tag v%{sdk_version}
%global upstream_tag v8.0.100-preview.1
%if 0%{?fedora} || 0%{?rhel} < 8
%global use_bundled_libunwind 0
@ -60,32 +60,35 @@ License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND APS
URL: https://github.com/dotnet/
%if %{with bootstrap}
%global tarball_name dotnet-%{upstream_tag}-x64-bootstrap
# The source is generated on a Fedora box via:
# ./build-dotnet-tarball --bootstrap %%{upstream_tag}
Source0: dotnet-%{upstream_tag}-x64-bootstrap.tar.xz
Source0: %{tarball_name}.tar.xz
# Generated via ./build-arm64-bootstrap-tarball
Source1: dotnet-arm64-prebuilts-2022-10-12.tar.gz
Source1: dotnet-arm64-prebuilts-2023-02-21.tar.gz
# Generated manually, same pattern as the arm64 tarball
Source2: dotnet-ppc64le-prebuilts-2022-10-21.tar.gz
#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
#Source3: dotnet-s390x-prebuilts-2022-10-12.tar.gz
%else
%global tarball_name dotnet-%{upstream_tag}
# The source is generated on a Fedora box via:
# ./build-dotnet-tarball %%{upstream_tag}
Source0: dotnet-%{upstream_tag}.tar.gz
Source0: %{tarball_name}.tar.gz
%endif
Source10: check-debug-symbols.py
Source11: dotnet.sh.in
#Source10: %%{tarball_name}-nm-dev.tgz
#Source11: %%{tarball_name}-nm-prod.tgz
Source20: check-debug-symbols.py
Source21: dotnet.sh.in
# https://github.com/dotnet/installer/pull/14792
Patch1: installer-14792-mono.patch
# Disable apphost; there's no net6.0 apphost for ppc64le
Patch2: roslyn-analyzers-ppc64le-apphost.patch
Patch1: roslyn-analyzers-ppc64le-apphost.patch
%if 0%{?fedora} || 0%{?rhel} >= 8
ExclusiveArch: aarch64 ppc64le s390x x86_64
#ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 x86_64
%else
ExclusiveArch: x86_64
%endif
@ -118,6 +121,7 @@ BuildRequires: lldb
BuildRequires: llvm
BuildRequires: lttng-ust-devel
BuildRequires: make
BuildRequires: nodejs-devel
BuildRequires: openssl-devel
BuildRequires: python3
BuildRequires: tar
@ -159,7 +163,7 @@ application to drive everything.
# code (source or build) is generally version specific. We have kept
# it around in older versions of RHEL and Fedora. But no reason to
# continue this mistake.
%if ( 0%{?fedora} && 0%{?fedora} < 38 ) || ( 0%{?rhel} && 0%{?rhel} < 8 )
%if ( 0%{?fedora} && 0%{?fedora} < 38 ) || ( 0%{?rhel} && 0%{?rhel} < 9 )
%package -n dotnet
@ -373,18 +377,18 @@ ln -s %{_libdir}/dotnet/source-built-artifacts/Private.SourceBuilt.Artifacts.*.t
rm -rf .dotnet
%ifarch aarch64
tar -x --strip-components=1 -f %{SOURCE1} -C packages/prebuilt
tar -x --strip-components=1 -f %{SOURCE1} -C prereqs/packages/prebuilt/
%endif
%ifarch ppc64le
tar -x --strip-components=1 -f %{SOURCE2} -C packages/prebuilt
tar -x --strip-components=1 -f %{SOURCE2} -C prereqs/packages/prebuilt/
%endif
%ifarch s390x
tar -x --strip-components=1 -f %{SOURCE3} -C packages/prebuilt
tar -x --strip-components=1 -f %{SOURCE3} -C prereqs/packages/prebuilt/
%endif
mkdir -p .dotnet
tar xf packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/
rm packages/prebuilt/dotnet-sdk*.tar.gz
tar xf prereqs/packages/prebuilt/dotnet-sdk*.tar.gz -C .dotnet/
rm prereqs/packages/prebuilt/dotnet-sdk*.tar.gz
boot_sdk_version=$(ls -1 .dotnet/sdk/)
sed -i -E 's|"dotnet": "[^"]+"|"dotnet" : "'$boot_sdk_version'"|' global.json
@ -407,7 +411,10 @@ popd
%endif
%autopatch -p1
# tar -x --strip-components=1 -f %%{SOURCE10}
# tar -x --strip-components=1 -f %%{SOURCE11}
%autopatch -p1 -M 999
# Fix bad hardcoded path in build
sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/runtime/src/native/corehost/hostmisc/pal.unix.cpp
@ -487,11 +494,7 @@ VERBOSE=1 ./build.sh \
/p:LogVerbosity=n \
echo \
/p:SkipPortableRuntimeBuild=true \
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE11} > dotnet.sh
sed -e 's|[@]LIBDIR[@]|%{_libdir}|g' %{SOURCE21} > dotnet.sh
%install
@ -503,11 +506,9 @@ tar xf artifacts/%{runtime_arch}/Release/dotnet-sdk-%{sdk_version}-%{runtime_id}
find %{buildroot}%{_libdir}/dotnet/ -type f -name 'testhost.x86' -delete
find %{buildroot}%{_libdir}/dotnet/ -type f -name 'vstest.console' -delete
# Install managed symbols: disabled because they don't contain sources
# but point to the paths the sources would have been at in the build
# servers. The end user experience is pretty bad atm.
# tar xf artifacts/%%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%%{runtime_id}-%%{runtime_version}.tar.gz \
# -C %%{buildroot}/%%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%%{runtime_version}/
# Install managed symbols
tar xf artifacts/%{runtime_arch}/Release/runtime/dotnet-runtime-symbols-%{runtime_id}-%{runtime_version}.tar.gz \
-C %{buildroot}/%{_libdir}/dotnet/shared/Microsoft.NETCore.App/%{runtime_version}/
# Fix executable permissions on files
find %{buildroot}%{_libdir}/dotnet/ -type f -name 'apphost' -exec chmod +x {} \;
@ -560,7 +561,7 @@ test -f %{buildroot}%{_libdir}/dotnet/sdk/%{sdk_version}/Sdks/Microsoft.NET.Sdk/
# because native binaries are stripped by rpm-build after %%install.
# So we need to do this check earlier.
echo "Testing build results for debug symbols..."
%{SOURCE10} -v %{buildroot}%{_libdir}/dotnet/
%{SOURCE20} -v %{buildroot}%{_libdir}/dotnet/
@ -617,7 +618,7 @@ export COMPlus_LTTng=0
%dir %{_libdir}/dotnet/sdk
%{_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}*
%{_libdir}/dotnet/metadata
%dir %{_libdir}/dotnet/packs
@ -627,6 +628,9 @@ export COMPlus_LTTng=0
%changelog
* Wed Feb 22 2023 Omair Majid <omajid@redhat.com> - 8.0.100~preview.1-1
- Update to .NET SDK 8.0.100 Preview 1 and Runtime 8.0.0 Preview 1
* Thu Jan 12 2023 Omair Majid <omajid@redhat.com> - 7.0.102-1
- Update to .NET SDK 7.0.102 and Runtime 7.0.2

View File

@ -1,346 +0,0 @@
Please note that the paths in this patch have been manually modified so
we can apply it against an already-built tarball.
From 9a7d07ab5a163b75a7b82cf8883d32553f34dcdb Mon Sep 17 00:00:00 2001
From: Tom Deseyn <tom.deseyn@gmail.com>
Date: Wed, 19 Oct 2022 15:21:40 +0200
Subject: [PATCH] Enabled source-building with mono runtime on any
architecture.
Adds an argument to the top-level build script to use the mono
runtime, and sets the flags needed for the different repos
to work with mono.
---
eng/SourceBuild.props | 1 +
.../tarball/content/Directory.Build.props | 5 ++
src/SourceBuild/tarball/content/build.sh | 4 ++
.../content/repos/Directory.Build.props | 1 +
...d-support-building-with-mono-runtime.patch | 24 +++++++++
...d-support-building-with-mono-runtime.patch | 24 +++++++++
...d-support-building-with-mono-runtime.patch | 51 +++++++++++++++++++
7 files changed, 110 insertions(+)
create mode 100644 src/SourceBuild/tarball/patches/aspnetcore/0002-source-build-support-building-with-mono-runtime.patch
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/src/sdk/eng/SourceBuild.props b/src/sdk/eng/SourceBuild.props
index 61b9a913708..2107a718419 100644
--- a/src/sdk/eng/SourceBuild.props
+++ b/src/sdk/eng/SourceBuild.props
@@ -8,6 +8,7 @@
<PropertyGroup>
<InnerBuildArgs>$(InnerBuildArgs) /p:Projects="$(InnerSourceBuildRepoRoot)\source-build.slnf"</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:UseSharedCompilation=false</InnerBuildArgs>
+ <InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:NativeAotSupported=false</InnerBuildArgs>
</PropertyGroup>
</Target>
diff --git a/src/sdk/src/Layout/redist/targets/BundledSdks.targets b/src/sdk/src/Layout/redist/targets/BundledSdks.targets
index 6f8b0fc3b33..64638ef1cff 100644
--- a/src/sdk/src/Layout/redist/targets/BundledSdks.targets
+++ b/src/sdk/src/Layout/redist/targets/BundledSdks.targets
@@ -5,6 +5,6 @@
<BundledSdk Include="FSharp.NET.Sdk" Version="1.0.4-bundled-0100" />
<BundledSdk Include="Microsoft.Docker.Sdk" Version="1.1.0" />
<BundledSdk Include="Microsoft.NET.ILLink.Tasks" Version="$(MicrosoftNETILLinkTasksPackageVersion)" />
- <BundledSdk Include="Microsoft.DotNet.ILCompiler" Version="$(MicrosoftDotNetILCompilerPackageVersion)" />
+ <BundledSdk Include="Microsoft.DotNet.ILCompiler" Version="$(MicrosoftDotNetILCompilerPackageVersion)" Condition="'$(NativeAotSupported)' != 'false'" />
</ItemGroup>
</Project>
diff --git a/src/sdk/src/Tasks/Common/Resources/Strings.resx b/src/sdk/src/Tasks/Common/Resources/Strings.resx
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>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>
+ <comment>{StrBegin="NETSDK1193: "}</comment>
+ </data>
</root>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
index e477f7a489b..c75990f94e2 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.cs.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Sestavení nelze optimalizovat pro kompilaci s předstihem: nebyl nalezen platný balíček modulu runtime. Buď nastavte vlastnost PublishAot na hodnotu false, nebo při publikování použijte podporovaný identifikátor modulu runtime. Při cílení na .NET 7 nebo vyšší nezapomeňte obnovit balíčky s vlastností PublishAot nastavenou na hodnotu true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: Konfigurační soubor aplikace musí obsahovat kořenový element konfigurace.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf
index d8cd9725269..2e427931dd1 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.de.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Assemblys können nicht für Ahead-of-time-Kompilierung optimiert werden: Es wurde kein gültiges Runtimepaket gefunden. Legen Sie entweder die PublishAot-Eigenschaft auf FALSE fest, oder verwenden Sie beim Veröffentlichen einen unterstützten Runtimebezeichner. Wenn Sie .NET 7 oder höher verwenden, stellen Sie sicher, dass Sie Pakete wiederherstellen, bei denen die PublishAot-Eigenschaft auf TRUE festgelegt ist.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: Die Anwendungskonfigurationsdatei muss das Stammkonfigurationselement enthalten.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf
index 4c61e20b937..cb654c521fb 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.es.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: No se pueden optimizar los ensamblados para la compilación Ahead of time: no se ha encontrado un paquete en tiempo de ejecución válido. Establezca la propiedad PublishAot en false o use un identificador de tiempo de ejecución compatible al publicar. Cuando el destino sea .NET 7 o una versión posterior, asegúrese de restaurar los paquetes con la propiedad PublishAot establecida en true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: El archivo de configuración de la aplicación debe tener el elemento de configuración raíz.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
index dfbb0391549..a97af754880 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.fr.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Impossible d'optimiser les assemblys pour la compilation Ahead of time : un package d'exécution valide n'a pas été trouvé. Définissez la propriété PublishAot sur false ou utilisez un identificateur d'exécution pris en charge lors de la publication. Lorsque vous ciblez .NET 7 ou supérieur, assurez-vous de restaurer les packages avec la propriété PublishAot définie sur true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: Le fichier de configuration de l'application doit avoir un élément de configuration racine.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf
index a768517271c..70fe2939526 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.it.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: non è possibile ottimizzare gli assembly per la compilazione Ahead Of Time perché non è stato trovato alcun pacchetto di runtime valido. Impostare la proprietà PublishAot su false oppure usare un identificatore di runtime supportato durante la pubblicazione. Quando si usa .NET 7 o versioni successive, assicurarsi di ripristinare i pacchetti con la proprietà PublishAot impostata su true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: il file di configurazione dell'applicazione deve avere un elemento di configurazione radice.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
index c3713a3bb6f..42ba79f1034 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ja.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Ahead Of Time コンパイル用にアセンブリを最適化できません: 有効なランタイム パッケージが見つかりませんでした。PublishAot プロパティを false に設定するか、公開時に、サポートされているランタイム識別子を使用してください。.NET 7 以降を対象とする場合は、必ず PublishAot プロパティを true に設定してパッケージを復元してください。</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: アプリケーション構成ファイルには、ルート構成要素が必要です。</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
index 86d77d024ad..f9695e37529 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ko.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Ahead of Time 컴파일을 위해 어셈블리를 최적화할 수 없습니다. 유효한 런타임 패키지를 찾을 수 없습니다. PublishAot 속성을 false로 설정하거나 게시할 때 지원되는 런타임 식별자를 사용하세요. .NET 7 이상을 대상으로 하는 경우 PublishAot 속성이 true로 설정된 패키지를 복원해야 합니다.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: 애플리케이션 구성 파일에는 루트 구성 요소가 있어야 합니다.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
index b954c4f64f5..0594cfc5bad 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pl.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Nie można zoptymalizować zestawów pod kątem kompilacji z wyprzedzeniem: nie znaleziono prawidłowego pakietu środowiska uruchomieniowego. Ustaw właściwość PublishAot na wartość false lub użyj obsługiwanego identyfikatora środowiska uruchomieniowego podczas publikowania. W przypadku określania wartości docelowej platformy .NET 7 lub nowszej należy przywrócić pakiety z właściwością PublishAot ustawioną na wartość true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: Plik konfiguracji aplikacji musi mieć główny element konfiguracji.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
index 4153425cfce..ae701f4dc3b 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.pt-BR.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Não é possível otimizar assemblies para compilação antecipada: um pacote de tempo de execução válido não foi encontrado. Defina a propriedade PublishAot como false ou use um identificador de tempo de execução com suporte ao publicar. Ao direcionar o .NET 7 ou superior, certifique-se de restaurar os pacotes com a propriedade PublishAot definida como true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: o arquivo de configuração do aplicativo deve ter um elemento de configuração raiz.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
index e66e13cd417..1780c0eb89b 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.ru.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: не удалось оптимизировать сборки для компиляции Ahead Of Time: не найден допустимый пакет среды выполнения. Задайте для свойства PublishAot значение false либо используйте поддерживаемый идентификатор среды выполнения при публикации. При выборе .NET 7 или более поздней версии в качестве цели восстановите пакеты со свойством PublishAot со значением true.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: В файле конфигурации приложения должен присутствовать корневой элемент конфигурации.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
index 4121fe024d6..d4ec2bbfea3 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.tr.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: Derlemeler, AOT derlemesi için iyileştirilemedi: geçerli bir çalışma zamanı paketi bulunamadı. PublishAot özelliğini false olarak ayarlayın veya yayımlarken desteklenen bir çalışma zamanı tanımlayıcısı kullanın. .NET 7 veya üzerini hedeflerken PublishAot özelliği true olarak ayarlanmış paketleri geri yüklediğinizden emin olun.</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: Uygulama yapılandırma dosyasının kök yapılandırma öğesi olmalıdır.</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
index 5bd5617ccba..77323667f98 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hans.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: 无法优化程序集以实现提前编译: 找不到有效的运行时包。将 PublishAot 属性设置为 false或在发布时使用支持的运行时标识符。面向 .NET 7 或更高版本时,请确保还原将 PublishAot 属性设置为 true 的包。</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: 应用程序配置文件必须具有根配置元素。</target>
diff --git a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
index c2e6be8b9be..ae573c7ed8b 100644
--- a/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
+++ b/src/sdk/src/Tasks/Common/Resources/xlf/Strings.zh-Hant.xlf
@@ -12,6 +12,11 @@
<target state="translated">NETSDK1183: 無法為提前編譯最佳化組件: 找不到有效的執行階段套件。請將 PublishAot 屬性設為 false或在發佈時使用支援的執行階段識別碼。以 .NET 7 或更高版本為目標時,請務必還原套件,將 PublishAot 屬性設為 true。</target>
<note>{StrBegin="NETSDK1183: "}</note>
</trans-unit>
+ <trans-unit id="AotNotSupported">
+ <source>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</source>
+ <target state="new">NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</target>
+ <note>{StrBegin="NETSDK1193: "}</note>
+ </trans-unit>
<trans-unit id="AppConfigRequiresRootConfiguration">
<source>NETSDK1070: The application configuration file must have root configuration element.</source>
<target state="translated">NETSDK1070: 應用程式組態檔必須有根組態元素。</target>
diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets
index 84b21ee0dd8..72d10f518af 100644
--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets
+++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets
@@ -178,6 +178,9 @@ Copyright (c) .NET Foundation. All rights reserved.
ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed"
FormatArguments="PublishAot"/>
+ <NETSdkError Condition="'$(PublishAot)' == 'true' and '$(PublishAotSupported)' != 'true'"
+ ResourceName="AotNotSupported" />
+
<!-- End of implicit RID resolver checks.-->
<NETSdkError Condition="'$(SelfContained)' == 'true' and '$(UseAppHost)' != 'true' and '$(_RuntimeIdentifierUsesAppHost)' == 'true'"
ResourceName="CannotUseSelfContainedWithoutAppHost" />
diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props
index 73a182102d1..b7eee4dfe3d 100644
--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props
+++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props
@@ -116,6 +116,8 @@ Copyright (c) .NET Foundation. All rights reserved.
<MSBuildCopyContentTransitively Condition="'$(MSBuildCopyContentTransitively)' == ''">true</MSBuildCopyContentTransitively>
<ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts Condition="'$(ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts)' == ''">true</ResolveAssemblyReferenceOutputUnresolvedAssemblyConflicts>
+ <PublishAotSupported>false</PublishAotSupported>
+ <PublishAotSupported Condition="Exists('$(MSBuildThisFileDirectory)../../Microsoft.DotNet.ILCompiler')">true</PublishAotSupported>
<!-- Uncomment this once https://github.com/Microsoft/visualfsharp/issues/3207 gets fixed -->
<!-- <WarningsAsErrors>$(WarningsAsErrors);NU1605</WarningsAsErrors> -->
</PropertyGroup>
@@ -151,7 +153,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.props" Condition="'$(MSBuildProjectExtension)' == '.csproj'" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.props" Condition="'$(MSBuildProjectExtension)' == '.vbproj'" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.props" Condition="'$(MSBuildProjectExtension)' == '.fsproj'" />
- <Import Project="Sdk.props" Sdk="Microsoft.DotNet.ILCompiler" />
+ <Import Project="Sdk.props" Sdk="Microsoft.DotNet.ILCompiler" Condition="'$(PublishAotSupported)' == 'true'" />
<Import Project="Sdk.props" Sdk="Microsoft.NET.ILLink.Tasks" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.PackTool.props" />
diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets
index 4311ec0ecea..1f80ab9ded0 100644
--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets
+++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.targets
@@ -1175,7 +1175,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.CSharp.targets" Condition="'$(Language)' == 'C#'" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.VisualBasic.targets" Condition="'$(Language)' == 'VB'" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.FSharp.targets" Condition="'$(Language)' == 'F#'" />
- <Import Project="$(ILCompilerTargetsPath)" Condition="'$(PublishAot)' == 'true'"/>
+ <Import Project="$(ILCompilerTargetsPath)" Condition="'$(PublishAot)' == 'true' and '$(PublishAotSupported)' == 'true'"/>
<Import Project="$(ILLinkTargetsPath)" Condition="'$(Language)' != 'C++'" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.NET.Sdk.Analyzers.targets" Condition="'$(Language)' == 'C#' or '$(Language)' == 'VB'" />
diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
index a943e6615bf..8593957f3d6 100644
--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
+++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Publish.targets
@@ -111,6 +111,8 @@ Copyright (c) .NET Foundation. All rights reserved.
'$(EnableCompressionInSingleFile)' == 'true' And
'$(SelfContained)' != 'true'"
ResourceName="CompressionInSingleFileRequiresSelfContained" />
+ <NETSdkError Condition="'$(PublishAot)' == 'true' and '$(PublishAotSupported)' != 'true'"
+ ResourceName="AotNotSupported" />
<!-- Enable warning for trying to use PublishRelease or PackRelease with a solution if env-var is not set.-->
<NETSdkWarning Condition="'$(PublishRelease)' != '' and '$(SolutionExt)' == '.sln' and '$(DOTNET_CLI_ENABLE_PUBLISH_RELEASE_FOR_SOLUTIONS)' == ''"
diff --git a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets
index 72d10f518af..84b21ee0dd8 100644
--- a/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets
+++ b/src/sdk/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.RuntimeIdentifierInference.targets
@@ -178,9 +178,6 @@ Copyright (c) .NET Foundation. All rights reserved.
ResourceName="ImplicitRuntimeIdentifierResolutionForPublishPropertyFailed"
FormatArguments="PublishAot"/>
- <NETSdkError Condition="'$(PublishAot)' == 'true' and '$(PublishAotSupported)' != 'true'"
- ResourceName="AotNotSupported" />
-
<!-- End of implicit RID resolver checks.-->
<NETSdkError Condition="'$(SelfContained)' == 'true' and '$(UseAppHost)' != 'true' and '$(_RuntimeIdentifierUsesAppHost)' == 'true'"
ResourceName="CannotUseSelfContainedWithoutAppHost" />

View File

@ -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

View File

@ -1 +0,0 @@
SHA512 (dotnet-v7.0.102.tar.gz) = d8d682a0737378333753a94885f042508c832d94cb0e6a52103ed6a88b5b31028dbc067aae7dcfd43b959e63555b20146bcc9e828873d38b79bed1fc5199b43d