diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 058644afd46753..289b078fc30f48 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "9.0.0-prerelease.25113.3", + "version": "9.0.0-prerelease.25209.2", "commands": [ "xharness" ] diff --git a/.github/workflows/check-no-merge-label.yml b/.github/workflows/check-no-merge-label.yml index d503400b0e154c..a0bb075db84312 100644 --- a/.github/workflows/check-no-merge-label.yml +++ b/.github/workflows/check-no-merge-label.yml @@ -5,7 +5,7 @@ permissions: on: pull_request_target: - types: [opened, reopened, labeled, unlabeled] + types: [opened, edited, reopened, labeled, unlabeled, synchronize] branches: - 'release/**' diff --git a/.github/workflows/check-service-labels.yml b/.github/workflows/check-service-labels.yml index c158ff6f1520d6..f2e800feea5bcf 100644 --- a/.github/workflows/check-service-labels.yml +++ b/.github/workflows/check-service-labels.yml @@ -5,7 +5,7 @@ permissions: on: pull_request_target: - types: [opened, reopened, labeled, unlabeled] + types: [opened, edited, reopened, labeled, unlabeled, synchronize] branches: - 'release/**' diff --git a/NuGet.config b/NuGet.config index deafa2a01414c9..b6cfbd7189b7aa 100644 --- a/NuGet.config +++ b/NuGet.config @@ -9,10 +9,10 @@ - + - + - + https://github.com/dotnet/cecil - 8debcd23b73a27992a5fdb2229f546e453619d11 + a8336269316c42f8164fe7bf45972dd8a81e52dc - + https://github.com/dotnet/emsdk - 78be8cdf4f0bfd93018fd7a87f8282a41d041298 + 78f6f07d38e8755e573039a8aa04e131d3e59b76 - + https://github.com/dotnet/emsdk - 78be8cdf4f0bfd93018fd7a87f8282a41d041298 + 78f6f07d38e8755e573039a8aa04e131d3e59b76 - + https://github.com/dotnet/emsdk - 78be8cdf4f0bfd93018fd7a87f8282a41d041298 + 78f6f07d38e8755e573039a8aa04e131d3e59b76 @@ -92,195 +92,195 @@ - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 - + https://github.com/dotnet/llvm-project - f98a0db595fe3f28dac4594acc7114b16281d090 + 615d41dd7f8de828f0bd0b6f65f7de4864ae8d12 https://github.com/dotnet/runtime @@ -320,21 +320,21 @@ https://github.com/dotnet/runtime b030c4dfdfa1bf287f10f96006619a06bc2000ae - + https://github.com/dotnet/xharness - edc52ac68c1bf77e3b107fc8a448674a6d058d8a + 856ea5c8f3212dc11b6ce369640ea07558706588 - + https://github.com/dotnet/xharness - edc52ac68c1bf77e3b107fc8a448674a6d058d8a + 856ea5c8f3212dc11b6ce369640ea07558706588 - + https://github.com/dotnet/xharness - edc52ac68c1bf77e3b107fc8a448674a6d058d8a + 856ea5c8f3212dc11b6ce369640ea07558706588 - + https://github.com/dotnet/arcade - f33d9e642f0e68a61312164cd9e0baf4e142a999 + aa61e8c20a869bcc994f8b29eb07d927d2bec6f4 https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -352,48 +352,48 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 9d7532585ce71e30ab55f0364d3cecccaf0775d1 - + https://github.com/dotnet/hotreload-utils - fd21b154f1152569e7fa49a4e030927eccbf4aaa + 46df3d5e763fdd0e57eeafcb898a86bb955483cb - + https://github.com/dotnet/runtime-assets - 739921bd3405841c06d3f74701c9e6ccfbd19e2e + c9371153c0f06168c3344b806331a29389d1171e - + https://github.com/dotnet/roslyn 3f5cf9fbbd91f2047e988801a5142ca1cb6bab45 - + https://github.com/dotnet/roslyn 3f5cf9fbbd91f2047e988801a5142ca1cb6bab45 - + https://github.com/dotnet/roslyn 3f5cf9fbbd91f2047e988801a5142ca1cb6bab45 - + https://github.com/dotnet/roslyn-analyzers 16865ea61910500f1022ad2b96c499e5df02c228 - + https://github.com/dotnet/roslyn-analyzers 16865ea61910500f1022ad2b96c499e5df02c228 - + https://github.com/dotnet/roslyn 3f5cf9fbbd91f2047e988801a5142ca1cb6bab45 - + https://github.com/dotnet/sdk - 346d06baea1cf7113e181e779b056b955973c633 + fe6d1ced4303c33df9e0b6ceb1264fd0fbb77b7f - + https://github.com/dotnet/sdk - 346d06baea1cf7113e181e779b056b955973c633 + fe6d1ced4303c33df9e0b6ceb1264fd0fbb77b7f diff --git a/eng/Versions.props b/eng/Versions.props index 8ba353723841c2..1d2850cf8ad0b9 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,11 +1,11 @@ - 9.0.4 + 9.0.5 9 0 - 4 + 5 9.0.100 8.0.$([MSBuild]::Add($(PatchVersion),11)) 7.0.20 @@ -36,17 +36,17 @@ - 3.11.0-beta1.25123.3 - 9.0.0-preview.25123.3 + 3.11.0-beta1.25173.3 + 9.0.0-preview.25173.3 - 4.12.0-3.25124.2 - 4.12.0-3.25124.2 - 4.12.0-3.25124.2 + 4.12.0-3.25173.5 + 4.12.0-3.25173.5 + 4.12.0-3.25173.5 - 9.0.104 + 9.0.106 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 2.9.0-beta.25161.4 - 9.0.0-beta.25161.4 - 2.9.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 - 9.0.0-beta.25161.4 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 2.9.0-beta.25208.6 + 9.0.0-beta.25208.6 + 2.9.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 + 9.0.0-beta.25208.6 1.4.0 @@ -141,20 +141,20 @@ 8.0.0 8.0.0 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 - 9.0.0-beta.25113.2 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 + 9.0.0-beta.25211.3 1.0.0-prerelease.24462.2 1.0.0-prerelease.24462.2 @@ -184,10 +184,10 @@ 1.4.0 17.4.0-preview-20220707-01 - 9.0.0-prerelease.25113.3 - 9.0.0-prerelease.25113.3 - 9.0.0-prerelease.25113.3 - 9.0.0-alpha.0.25153.2 + 9.0.0-prerelease.25209.2 + 9.0.0-prerelease.25209.2 + 9.0.0-prerelease.25209.2 + 9.0.0-alpha.0.25209.2 3.12.0 4.5.0 6.0.0 @@ -215,55 +215,55 @@ 9.0.0-preview-20241010.1 - 0.11.5-alpha.25112.2 + 0.11.5-alpha.25213.4 9.0.0-rtm.24511.16 - 9.0.0-rtm.25157.1 + 9.0.0-rtm.25212.1 9.0.0-rtm.24466.4 2.4.8 9.0.0-alpha.1.24167.3 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 - 9.0.4-servicing.25157.2 - 9.0.4 + 9.0.5-servicing.25212.1 + 9.0.5 $(MicrosoftNETWorkloadEmscriptenCurrentManifest90100Version) 1.1.87-gba258badda 1.0.0-v3.14.0.5722 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 - 19.1.0-alpha.1.25113.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 + 19.1.0-alpha.1.25209.2 3.1.7 1.0.406601 - $(MicrosoftDotNetApiCompatTaskVersion) - + + 9.0.105 9.0.0-alpha.1.24175.1 $(MicrosoftNETRuntimeEmscriptenVersion) $(runtimewinx64MicrosoftNETCoreRuntimeWasmNodeTransportPackageVersion) diff --git a/eng/common/tools.ps1 b/eng/common/tools.ps1 index a46b6deb75986b..22b49e09d09b58 100644 --- a/eng/common/tools.ps1 +++ b/eng/common/tools.ps1 @@ -42,7 +42,7 @@ [bool]$useInstalledDotNetCli = if (Test-Path variable:useInstalledDotNetCli) { $useInstalledDotNetCli } else { $true } # Enable repos to use a particular version of the on-line dotnet-install scripts. -# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.ps1 +# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.ps1 [string]$dotnetInstallScriptVersion = if (Test-Path variable:dotnetInstallScriptVersion) { $dotnetInstallScriptVersion } else { 'v1' } # True to use global NuGet cache instead of restoring packages to repository-local directory. @@ -262,7 +262,7 @@ function GetDotNetInstallScript([string] $dotnetRoot) { if (!(Test-Path $installScript)) { Create-Directory $dotnetRoot $ProgressPreference = 'SilentlyContinue' # Don't display the console progress UI - it's a huge perf hit - $uri = "https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1" + $uri = "https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.ps1" Retry({ Write-Host "GET $uri" diff --git a/eng/common/tools.sh b/eng/common/tools.sh index 1159726a10fd6f..01b09b65796c17 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -54,7 +54,7 @@ warn_as_error=${warn_as_error:-true} use_installed_dotnet_cli=${use_installed_dotnet_cli:-true} # Enable repos to use a particular version of the on-line dotnet-install scripts. -# default URL: https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh +# default URL: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'} # True to use global NuGet cache instead of restoring packages to repository-local directory. @@ -295,7 +295,7 @@ function with_retries { function GetDotNetInstallScript { local root=$1 local install_script="$root/dotnet-install.sh" - local install_script_url="https://dotnet.microsoft.com/download/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" + local install_script_url="https://builds.dotnet.microsoft.com/dotnet/scripts/$dotnetInstallScriptVersion/dotnet-install.sh" if [[ ! -a "$install_script" ]]; then mkdir -p "$root" diff --git a/eng/pipelines/coreclr/templates/helix-queues-setup.yml b/eng/pipelines/coreclr/templates/helix-queues-setup.yml index 815f297ff3060f..9ccad909568543 100644 --- a/eng/pipelines/coreclr/templates/helix-queues-setup.yml +++ b/eng/pipelines/coreclr/templates/helix-queues-setup.yml @@ -34,11 +34,11 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.1200.Arm64.Open + - OSX.14.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: - - OSX.1200.Amd64.Open + - OSX.15.Amd64.Open # Android arm64 - ${{ if in(parameters.platform, 'android_arm64') }}: diff --git a/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml b/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml index 2e6ec556150b8f..bd4dec5965e21a 100644 --- a/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml +++ b/eng/pipelines/coreclr/templates/sign-diagnostic-files.yml @@ -15,12 +15,12 @@ steps: - task: EsrpCodeSigning@5 displayName: Sign Diagnostic Binaries inputs: - ConnectedServiceName: 'diagnostics-esrp-kvcertuser' - AppRegistrationClientId: '2234cdec-a13f-4bb2-aa63-04c57fd7a1f9' - AppRegistrationTenantId: '72f988bf-86f1-41af-91ab-2d7cd011db47' - AuthAKVName: 'clrdiag-esrp-id' - AuthCertName: 'dotnetesrp-diagnostics-aad-ssl-cert' - AuthSignCertName: 'dotnet-diagnostics-esrp-pki-onecert' + ConnectedServiceName: 'diagnostics-esrp-kvcertuser-pme' + AppRegistrationClientId: '22346933-af99-4e94-97d5-7fa1dcf4bba6' + AppRegistrationTenantId: '975f013f-7f24-47e8-a7d3-abc4752bf346' + AuthAKVName: 'clrdiag-esrp-pme' + AuthCertName: 'dac-dnceng-ssl-cert' + AuthSignCertName: 'dac-dnceng-esrpclient-cert' FolderPath: ${{ parameters.basePath }} Pattern: | **/mscordaccore*.dll diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml index 9794c736e2e823..0e83d79eb382d8 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml @@ -37,10 +37,9 @@ jobs: isExtraPlatforms: ${{ parameters.isExtraPlatformsBuild }} # Don't trim tests on rolling builds ${{ if eq(variables['isRollingBuild'], true) }}: - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false + buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false ${{ else }}: - # Tracking issue: https://github.com/dotnet/runtime/issues/82637 - buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=false + buildArgs: -s mono+libs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true $(_runSmokeTestsOnlyArg) /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:BuildDarwinFrameworks=true /p:IsManualOrRollingBuild=true /p:EnableAggressiveTrimming=true timeoutInMinutes: 480 # extra steps, run tests postBuildSteps: diff --git a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml index 7ce0a0c3568aac..75ad650c119d74 100644 --- a/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml +++ b/eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml @@ -25,9 +25,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -61,9 +59,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource @@ -109,9 +105,7 @@ jobs: platforms: - iossimulator_x64 - tvossimulator_x64 - # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isRollingBuild'], true) }}: - - iossimulator_arm64 + - iossimulator_arm64 variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: _HelixSource diff --git a/eng/pipelines/libraries/helix-queues-setup.yml b/eng/pipelines/libraries/helix-queues-setup.yml index d6c83bd12137da..b94b108d03f6b8 100644 --- a/eng/pipelines/libraries/helix-queues-setup.yml +++ b/eng/pipelines/libraries/helix-queues-setup.yml @@ -99,11 +99,11 @@ jobs: # iOS Simulator/Mac Catalyst arm64 - ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}: - - OSX.1200.Arm64.Open + - OSX.14.Arm64.Open # iOS/tvOS Simulator x64 & MacCatalyst x64 - ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}: - - OSX.1200.Amd64.Open + - OSX.15.Amd64.Open # iOS devices - ${{ if in(parameters.platform, 'ios_arm64') }}: diff --git a/eng/pipelines/libraries/stress/http.yml b/eng/pipelines/libraries/stress/http.yml index 3290eda51ae02f..fdfd004b96eb3e 100644 --- a/eng/pipelines/libraries/stress/http.yml +++ b/eng/pipelines/libraries/stress/http.yml @@ -8,11 +8,11 @@ pr: schedules: - cron: "0 13 * * *" # 1PM UTC => 5 AM PST displayName: HttpStress nightly run + always: true branches: include: - main - - release/8.0 - - release/9.0 + - release/*-staging variables: - template: ../variables.yml @@ -37,7 +37,7 @@ extends: DUMPS_SHARE_MOUNT_ROOT: "/dumps-share" pool: name: $(DncEngPublicBuildPool) - demands: ImageOverride -equals 1es-ubuntu-1804-open + demands: ImageOverride -equals Build.Ubuntu.2204.Amd64.Open steps: - checkout: self diff --git a/eng/pipelines/libraries/stress/ssl.yml b/eng/pipelines/libraries/stress/ssl.yml index 230a2bef377304..ed1306990e294b 100644 --- a/eng/pipelines/libraries/stress/ssl.yml +++ b/eng/pipelines/libraries/stress/ssl.yml @@ -8,11 +8,11 @@ pr: schedules: - cron: "0 13 * * *" # 1PM UTC => 5 AM PST displayName: SslStress nightly run + always: true branches: include: - main - - release/8.0 - - release/9.0 + - release/*-staging variables: - template: ../variables.yml diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index f06667f3e8e6e2..4a1010323440f3 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -1010,8 +1010,7 @@ extends: jobParameters: testGroup: innerloop nameSuffix: AllSubsets_Mono - # Tracking issue: https://github.com/dotnet/runtime/issues/82637 - buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=true /p:BuildDarwinFrameworks=true /p:EnableAggressiveTrimming=false + buildArgs: -s mono+libs+libs.tests+host+packs -c $(_BuildConfig) /p:ArchiveTests=true /p:DevTeamProvisioning=- /p:RunAOTCompilation=true /p:RunSmokeTestsOnly=true /p:BuildTestsOnHelix=true /p:EnableAdditionalTimezoneChecks=true /p:UsePortableRuntimePack=false /p:BuildDarwinFrameworks=true /p:EnableAggressiveTrimming=true timeoutInMinutes: 480 condition: >- or( @@ -1087,8 +1086,7 @@ extends: runtimeFlavor: mono platforms: - maccatalyst_x64 - - ${{ if eq(variables['isRollingBuild'], true) }}: - - maccatalyst_arm64 + - maccatalyst_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange diff --git a/eng/testing/tests.ioslike.targets b/eng/testing/tests.ioslike.targets index a59cce6c49aeea..e2e36415a31834 100644 --- a/eng/testing/tests.ioslike.targets +++ b/eng/testing/tests.ioslike.targets @@ -16,7 +16,7 @@ <_AOTBuildCommand Condition="'$(ContinuousIntegrationBuild)' != 'true'">$(_AOTBuildCommand) /p:RuntimeSrcDir=$(RepoRoot) /p:RuntimeConfig=$(Configuration) - <_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:UseNativeAOTRuntime=$(UseNativeAOTRuntime) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=true /p:Configuration=$(Configuration) /p:EnableAggressiveTrimming=$(EnableAggressiveTrimming) + <_AOTBuildCommand>$(_AOTBuildCommand) /p:XHARNESS_EXECUTION_DIR="$XHARNESS_EXECUTION_DIR" /p:RunAOTCompilation=$(RunAOTCompilation) /p:UseNativeAOTRuntime=$(UseNativeAOTRuntime) /p:TargetOS=$(TargetOS) /p:TargetArchitecture=$(TargetArchitecture) /p:MonoForceInterpreter=$(MonoForceInterpreter) /p:MonoEnableLLVM=true /p:DevTeamProvisioning=$(DevTeamProvisioning) /p:UsePortableRuntimePack=$(UsePortableRuntimePack) /p:Configuration=$(Configuration) <_AOTBuildCommand Condition="'$(NativeLib)' != ''">$(_AOTBuildCommand) /p:NativeLib=$(NativeLib) /p:BundlesResources=$(BundlesResources) /p:ForceLibraryModeGenerateAppBundle=$(ForceLibraryModeGenerateAppBundle) <_AOTBuildCommand>$(_AOTBuildCommand) @@ -77,8 +77,6 @@ - @@ -156,12 +154,6 @@ <_AppleItemsToPass Include="@(ReferenceExtraPathFiles->'%(FileName)%(Extension)')" OriginalItemName__="AppleReferenceExtraPathFiles" /> - <_AppleItemsToPass Include="@(RuntimeHostConfigurationOption)" - OriginalItemName__="_AppleUsedRuntimeHostConfigurationOption" /> - - <_AppleItemsToPass Include="@(TrimmerRootAssembly)" - OriginalItemName__="TrimmerRootAssembly" /> - - + + true true $(NoWarn);IL2103;IL2025;IL2111;IL2122 - false false - false - false false - false + + + + + false + <_DefaultValueAttributeSupport Condition="'$(OverrideDefaultValueAndDesignerHostSupport)' == 'true'">true + <_DesignerHostSupport Condition="'$(OverrideDefaultValueAndDesignerHostSupport)' == 'true'">true + + + + diff --git a/src/mono/browser/runtime/http.ts b/src/mono/browser/runtime/http.ts index 743972efd8df71..74f86f88791c4d 100644 --- a/src/mono/browser/runtime/http.ts +++ b/src/mono/browser/runtime/http.ts @@ -4,11 +4,12 @@ import BuildConfiguration from "consts:configuration"; import { wrap_as_cancelable_promise } from "./cancelable-promise"; -import { ENVIRONMENT_IS_NODE, Module, loaderHelpers, mono_assert } from "./globals"; +import { ENVIRONMENT_IS_NODE, loaderHelpers, mono_assert } from "./globals"; import { assert_js_interop } from "./invoke-js"; import { MemoryViewType, Span } from "./marshal"; import type { VoidPtr } from "./types/emscripten"; import { ControllablePromise } from "./types/internal"; +import { mono_log_debug } from "./logging"; function verifyEnvironment () { @@ -72,12 +73,11 @@ export function http_wasm_create_controller (): HttpController { return controller; } -function handle_abort_error (promise:Promise) { +function mute_unhandledrejection (promise:Promise) { promise.catch((err) => { if (err && err !== "AbortError" && err.name !== "AbortError" ) { - Module.err("Unexpected error: " + err); + mono_log_debug("http muted: " + err); } - // otherwise, it's expected }); } @@ -86,15 +86,15 @@ export function http_wasm_abort (controller: HttpController): void { try { if (!controller.isAborted) { if (controller.streamWriter) { - handle_abort_error(controller.streamWriter.abort()); + mute_unhandledrejection(controller.streamWriter.abort()); controller.isAborted = true; } if (controller.streamReader) { - handle_abort_error(controller.streamReader.cancel()); + mute_unhandledrejection(controller.streamReader.cancel()); controller.isAborted = true; } } - if (!controller.isAborted) { + if (!controller.isAborted && !controller.abortController.signal.aborted) { controller.abortController.abort("AbortError"); } } catch (err) { @@ -138,8 +138,8 @@ export function http_wasm_fetch_stream (controller: HttpController, url: string, if (BuildConfiguration === "Debug") commonAsserts(controller); const transformStream = new TransformStream(); controller.streamWriter = transformStream.writable.getWriter(); - handle_abort_error(controller.streamWriter.closed); - handle_abort_error(controller.streamWriter.ready); + mute_unhandledrejection(controller.streamWriter.closed); + mute_unhandledrejection(controller.streamWriter.ready); const fetch_promise = http_wasm_fetch(controller, url, header_names, header_values, option_names, option_values, transformStream.readable); return fetch_promise; } @@ -177,16 +177,18 @@ export function http_wasm_fetch (controller: HttpController, url: string, header } // make the fetch cancellable controller.responsePromise = wrap_as_cancelable_promise(() => { - return loaderHelpers.fetch_like(url, options); + return loaderHelpers.fetch_like(url, options).then((res: Response) => { + controller.response = res; + return null;// drop the response from the promise chain + }); }); // avoid processing headers if the fetch is canceled - controller.responsePromise.then((res: Response) => { - controller.response = res; + controller.responsePromise.then(() => { + mono_assert(controller.response, "expected response"); controller.responseHeaderNames = []; controller.responseHeaderValues = []; - if (res.headers && (res.headers).entries) { - const entries: Iterable = (res.headers).entries(); - + if (controller.response.headers && (controller.response.headers).entries) { + const entries: Iterable = (controller.response.headers).entries(); for (const pair of entries) { controller.responseHeaderNames.push(pair[0]); controller.responseHeaderValues.push(pair[1]); @@ -250,9 +252,15 @@ export function http_wasm_get_streamed_response_bytes (controller: HttpControlle // the bufferPtr is pinned by the caller const view = new Span(bufferPtr, bufferLength, MemoryViewType.Byte); return wrap_as_cancelable_promise(async () => { + await controller.responsePromise; mono_assert(controller.response, "expected response"); + if (!controller.response.body) { + // in FF when the verb is HEAD, the body is null + return 0; + } if (!controller.streamReader) { - controller.streamReader = controller.response.body!.getReader(); + controller.streamReader = controller.response.body.getReader(); + mute_unhandledrejection(controller.streamReader.closed); } if (!controller.currentStreamReaderChunk || controller.currentBufferOffset === undefined) { controller.currentStreamReaderChunk = await controller.streamReader.read(); diff --git a/src/mono/mono/component/hot_reload.c b/src/mono/mono/component/hot_reload.c index 300a46a245f92d..5ce5950556581c 100644 --- a/src/mono/mono/component/hot_reload.c +++ b/src/mono/mono/component/hot_reload.c @@ -924,9 +924,7 @@ delta_info_initialize_mutants (const MonoImage *base, const BaselineInfo *base_i g_assert (prev_table != NULL); MonoTableInfo *tbl = &delta->mutants [i]; - if (prev_table->rows_ == 0) { - /* table was empty in the baseline and it was empty in the prior generation, but now we have some rows. Use the format of the mutant table. */ - g_assert (prev_table->row_size == 0); + if (delta->delta_image->tables [i].row_size != 0 || prev_table->rows_ == 0) { tbl->row_size = delta->delta_image->tables [i].row_size; tbl->size_bitfield = delta->delta_image->tables [i].size_bitfield; } else { @@ -940,8 +938,60 @@ delta_info_initialize_mutants (const MonoImage *base, const BaselineInfo *base_i tbl->base = mono_mempool_alloc (delta->pool, tbl->row_size * rows); g_assert (table_info_get_rows (prev_table) == count->prev_gen_rows); - /* copy the old rows and zero out the new ones */ - memcpy ((char*)tbl->base, prev_table->base, count->prev_gen_rows * tbl->row_size); + /* copy the old rows and zero out the new ones */ + /* we need to copy following the new format (uncompressed one)*/ + for (guint32 j = 0 ; j < count->prev_gen_rows; j++) + { + guint32 src_offset = 0, dst_offset = 0; + guint32 dst_bitfield = tbl->size_bitfield; + guint32 src_bitfield = prev_table->size_bitfield; + const char *src_base = (char*)prev_table->base + j * prev_table->row_size; + char *dst_base = (char*)tbl->base + j * tbl->row_size; + for (guint col = 0; col < mono_metadata_table_count (dst_bitfield); ++col) { + guint32 dst_col_size = mono_metadata_table_size (dst_bitfield, col); + guint32 src_col_size = mono_metadata_table_size (src_bitfield, col); + { + const char *src = src_base + src_offset; + char *dst = dst_base + dst_offset; + + /* copy src to dst, via a temporary to adjust for size differences */ + /* FIXME: unaligned access, endianness */ + guint32 tmp; + + switch (src_col_size) { + case 1: + tmp = *(guint8*)src; + break; + case 2: + tmp = *(guint16*)src; + break; + case 4: + tmp = *(guint32*)src; + break; + default: + g_assert_not_reached (); + } + + /* FIXME: unaligned access, endianness */ + switch (dst_col_size) { + case 1: + *(guint8*)dst = (guint8)tmp; + break; + case 2: + *(guint16*)dst = (guint16)tmp; + break; + case 4: + *(guint32*)dst = tmp; + break; + default: + g_assert_not_reached (); + } + } + src_offset += src_col_size; + dst_offset += dst_col_size; + } + g_assert (dst_offset == tbl->row_size); + } memset (((char*)tbl->base) + count->prev_gen_rows * tbl->row_size, 0, count->inserted_rows * tbl->row_size); } } @@ -1386,8 +1436,8 @@ delta_info_mutate_row (MonoImage *image_dmeta, DeltaInfo *cur_delta, guint32 log /* The complication here is that we want the mutant table to look like the table in * the baseline image with respect to column widths, but the delta tables are generally coming in - * uncompressed (4-byte columns). So we have to copy one column at a time and adjust the - * widths as we go. + * uncompressed (4-byte columns). And we have already adjusted the baseline image column widths + * so we can use memcpy here. */ guint32 dst_bitfield = cur_delta->mutants [token_table].size_bitfield; @@ -1401,41 +1451,10 @@ delta_info_mutate_row (MonoImage *image_dmeta, DeltaInfo *cur_delta, guint32 log guint32 dst_col_size = mono_metadata_table_size (dst_bitfield, col); guint32 src_col_size = mono_metadata_table_size (src_bitfield, col); if ((m_SuppressedDeltaColumns [token_table] & (1 << col)) == 0) { + g_assert(src_col_size <= dst_col_size); const char *src = src_base + src_offset; char *dst = dst_base + dst_offset; - - /* copy src to dst, via a temporary to adjust for size differences */ - /* FIXME: unaligned access, endianness */ - guint32 tmp; - - switch (src_col_size) { - case 1: - tmp = *(guint8*)src; - break; - case 2: - tmp = *(guint16*)src; - break; - case 4: - tmp = *(guint32*)src; - break; - default: - g_assert_not_reached (); - } - - /* FIXME: unaligned access, endianness */ - switch (dst_col_size) { - case 1: - *(guint8*)dst = (guint8)tmp; - break; - case 2: - *(guint16*)dst = (guint16)tmp; - break; - case 4: - *(guint32*)dst = tmp; - break; - default: - g_assert_not_reached (); - } + memcpy(dst, src, src_col_size); } src_offset += src_col_size; dst_offset += dst_col_size; diff --git a/src/mono/mono/metadata/object.c b/src/mono/mono/metadata/object.c index 1c1a632a4003e7..fe952d04c25a41 100644 --- a/src/mono/mono/metadata/object.c +++ b/src/mono/mono/metadata/object.c @@ -6806,6 +6806,7 @@ mono_object_handle_isinst (MonoObjectHandle obj, MonoClass *klass, MonoError *er { error_init (error); + if (!m_class_is_inited (klass)) mono_class_init_internal (klass); diff --git a/src/mono/mono/mini/jit-icalls.c b/src/mono/mono/mini/jit-icalls.c index df7c332f8fcd4c..a62f6959f2b2b7 100644 --- a/src/mono/mono/mini/jit-icalls.c +++ b/src/mono/mono/mini/jit-icalls.c @@ -1702,7 +1702,7 @@ mono_throw_type_load (MonoClass* klass) mono_error_set_type_load_class (error, klass, "Attempting to load invalid type '%s'.", klass_name); g_free (klass_name); } - + mono_error_set_pending_exception (error); } @@ -1743,6 +1743,11 @@ mini_init_method_rgctx (MonoMethodRuntimeGenericContext *mrgctx, MonoGSharedMeth mono_method_get_context (m), m->klass); g_assert (data); + // we need a barrier before publishing data via mrgctx->infos [i] because the contents of data may not + // have been published to all cores and another thread may read zeroes or partially initialized data + // out of it, even though we have a barrier before publication of entries in mrgctx->entries below + mono_memory_barrier(); + /* The first few entries are stored inline, the rest are stored in mrgctx->entries */ if (i < ninline) mrgctx->infos [i] = data; diff --git a/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj b/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj index 2847f567f469a1..2035333122a2f0 100644 --- a/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj +++ b/src/mono/msbuild/apple/data/ProxyProjectForAOTOnHelix.proj @@ -7,7 +7,6 @@ $([MSBuild]::NormalizeDirectory($(TestRootDir), '..', 'extraFiles')) $([MSBuild]::NormalizeDirectory($(TestRootDir), '..', 'obj')) - ConfigureTrimming;_AdjustTrimmedAssembliesToBundle;$(AppleBuildDependsOn) _PublishRuntimePack;_PrepareForAppleBuildAppOnHelix;$(AppleBuildDependsOn);_AfterAppleBuildOnHelix true @@ -71,7 +70,7 @@ - + <_ExtraFiles Include="$(ExtraFilesPath)**\*" /> @@ -95,14 +94,6 @@ - - - - - - - - - - - - - - - - diff --git a/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs b/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs index e87ed3450fcd96..08ac8512665b75 100644 --- a/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/WasmSIMDTests.cs @@ -41,7 +41,6 @@ public void Build_NoAOT_ShouldNotRelink(BuildArgs buildArgs, RunHost host, strin Assert.DoesNotContain("Compiling native assets with emcc", output); RunAndTestWasmApp(buildArgs, - extraXHarnessArgs: host == RunHost.NodeJS ? "--engine-arg=--experimental-wasm-simd --engine-arg=--experimental-wasm-eh" : "", expectedExitCode: 42, test: output => { diff --git a/src/native/corehost/apphost/static/CMakeLists.txt b/src/native/corehost/apphost/static/CMakeLists.txt index 3ea4d5d043ca3a..880510d06976b1 100644 --- a/src/native/corehost/apphost/static/CMakeLists.txt +++ b/src/native/corehost/apphost/static/CMakeLists.txt @@ -25,7 +25,7 @@ include_directories(${CLR_ARTIFACTS_OBJ_DIR}) # Generated version files add_subdirectory(../../hostmisc hostmisc) configure_file(${CLR_SRC_NATIVE_DIR}/corehost/configure.h.in ${GENERATED_INCLUDE_DIR}/corehost/configure.h) -target_include_directories(hostmisc PUBLIC ${GENERATED_INCLUDE_DIR}/corehost) +target_include_directories(hostmisc_interface INTERFACE ${GENERATED_INCLUDE_DIR}/corehost) if ((NOT DEFINED CLR_CMAKE_USE_SYSTEM_RAPIDJSON) OR (NOT CLR_CMAKE_USE_SYSTEM_RAPIDJSON)) include_directories(${CLR_SRC_NATIVE_DIR}/external/) diff --git a/src/native/corehost/hostmisc/CMakeLists.txt b/src/native/corehost/hostmisc/CMakeLists.txt index f39b586590c62a..76669e902fa6ad 100644 --- a/src/native/corehost/hostmisc/CMakeLists.txt +++ b/src/native/corehost/hostmisc/CMakeLists.txt @@ -31,23 +31,34 @@ endif() # hostmisc must be an "object library" as we want to build it once # and embed the objects into static libraries we ship (like libnethost). -add_library(hostmisc OBJECT ${SOURCES}) - -target_include_directories(hostmisc PUBLIC +add_library(hostmisc_interface INTERFACE) +target_include_directories(hostmisc_interface INTERFACE ${CMAKE_CURRENT_BINARY_DIR} ${CLR_SRC_NATIVE_DIR} ${CMAKE_CURRENT_LIST_DIR}) if (MSVC) - target_sources(hostmisc PRIVATE ${HEADERS}) - target_link_libraries(hostmisc PUBLIC advapi32) + target_link_libraries(hostmisc_interface INTERFACE advapi32) endif() -target_link_libraries(hostmisc PUBLIC +target_link_libraries(hostmisc_interface INTERFACE ${CMAKE_DL_LIBS} $<$:${PTHREAD_LIB}>) if(CLR_CMAKE_TARGET_ARCH_ARM OR CLR_CMAKE_TARGET_ARCH_ARMV6) - target_link_libraries(hostmisc PUBLIC + target_link_libraries(hostmisc_interface INTERFACE $<$:${ATOMIC_SUPPORT_LIB}>) endif() + + +add_library(hostmisc STATIC ${SOURCES}) +target_link_libraries(hostmisc PUBLIC hostmisc_interface) +if (MSVC) + target_sources(hostmisc PRIVATE ${HEADERS}) +endif() + +add_library(hostmisc_public OBJECT ${SOURCES}) +target_link_libraries(hostmisc_public PUBLIC hostmisc_interface) +set_target_properties(hostmisc_public PROPERTIES INTERPROCEDURAL_OPTIMIZATION OFF) + +add_library(hostmisc::public ALIAS hostmisc_public) \ No newline at end of file diff --git a/src/native/corehost/nethost/CMakeLists.txt b/src/native/corehost/nethost/CMakeLists.txt index 38b103b7178bee..f9a3a5086ec77f 100644 --- a/src/native/corehost/nethost/CMakeLists.txt +++ b/src/native/corehost/nethost/CMakeLists.txt @@ -34,7 +34,7 @@ if (WIN32) endif(WIN32) target_link_libraries(nethost PRIVATE hostmisc fxr_resolver) -target_link_libraries(libnethost PRIVATE hostmisc fxr_resolver) +target_link_libraries(libnethost PRIVATE hostmisc::public fxr_resolver) target_compile_definitions(nethost PRIVATE FEATURE_LIBHOST NETHOST_EXPORT) target_compile_definitions(libnethost PRIVATE FEATURE_LIBHOST NETHOST_EXPORT) diff --git a/src/native/libs/System.Security.Cryptography.Native.Apple/CMakeLists.txt b/src/native/libs/System.Security.Cryptography.Native.Apple/CMakeLists.txt index 84615493f4495c..bc333326b9837e 100644 --- a/src/native/libs/System.Security.Cryptography.Native.Apple/CMakeLists.txt +++ b/src/native/libs/System.Security.Cryptography.Native.Apple/CMakeLists.txt @@ -77,9 +77,14 @@ if (NOT SWIFT_COMPILER_TARGET) endif() endif() +set(SWIFT_SDK_FLAG "") +if (CMAKE_OSX_SYSROOT) + set(SWIFT_SDK_FLAG -sdk ${CMAKE_OSX_SYSROOT}) +endif() + add_custom_command( OUTPUT pal_swiftbindings.o - COMMAND xcrun swiftc -emit-object -static -parse-as-library -enable-library-evolution -g ${SWIFT_OPTIMIZATION_FLAG} -runtime-compatibility-version none -sdk ${CMAKE_OSX_SYSROOT} -target ${SWIFT_COMPILER_TARGET} ${CMAKE_CURRENT_SOURCE_DIR}/pal_swiftbindings.swift -o pal_swiftbindings.o + COMMAND xcrun swiftc -emit-object -static -parse-as-library -enable-library-evolution -g ${SWIFT_OPTIMIZATION_FLAG} -runtime-compatibility-version none ${SWIFT_SDK_FLAG} -target ${SWIFT_COMPILER_TARGET} ${CMAKE_CURRENT_SOURCE_DIR}/pal_swiftbindings.swift -o pal_swiftbindings.o MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/pal_swiftbindings.swift COMMENT "Compiling Swift file pal_swiftbindings.swift" ) diff --git a/src/native/libs/build-native.proj b/src/native/libs/build-native.proj index 36bfccbfe07ad8..a60ddf43f4000a 100644 --- a/src/native/libs/build-native.proj +++ b/src/native/libs/build-native.proj @@ -70,7 +70,7 @@ - + - + false - - - - - diff --git a/src/tests/nativeaot/SmokeTests/TrimmingBehaviors/DeadCodeElimination.cs b/src/tests/nativeaot/SmokeTests/TrimmingBehaviors/DeadCodeElimination.cs index 0a6090f8092432..032c3a07d7dea6 100644 --- a/src/tests/nativeaot/SmokeTests/TrimmingBehaviors/DeadCodeElimination.cs +++ b/src/tests/nativeaot/SmokeTests/TrimmingBehaviors/DeadCodeElimination.cs @@ -12,6 +12,7 @@ class DeadCodeElimination public static int Run() { SanityTest.Run(); + Test110932Regression.Run(); TestInstanceMethodOptimization.Run(); TestReflectionInvokeSignatures.Run(); TestAbstractTypeNeverDerivedVirtualsOptimization.Run(); @@ -52,6 +53,34 @@ public static void Run() } } + class Test110932Regression + { + static bool s_trueConst = true; + static bool s_falseConst = false; + + interface I + { + static virtual bool GetValue() => false; + } + + class C : I + { + static bool I.GetValue() => true; + } + + public static void Run() + { + if (!Call()) + throw new Exception(); + } + static bool Call() where T : I + { + if (T.GetValue()) + return s_trueConst; + return s_falseConst; + } + } + class TestInstanceMethodOptimization { class UnreferencedType { }