platform/upstream/dotnet/runtime.git
2 years ago[mono] Avoid calling mono_metadata_type_hash () on the container class in mono_generi...
github-actions[bot] [Tue, 12 Jul 2022 17:55:23 +0000 (12:55 -0500)]
[mono] Avoid calling mono_metadata_type_hash () on the container class in mono_generic_class_hash (). (#71764)

If a class inherits from a generic instance instantiated with itself, then its possible
for mono_generic_class_hash () to be called while the container class is not fully
initialized yet, i.e. byval_arg.type is 0. This would cause the generic class to change
its hash.

Fixes https://github.com/dotnet/runtime/issues/71424.

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
2 years agoBackport 71436 (#71731)
Thays Grazia [Tue, 12 Jul 2022 17:55:10 +0000 (14:55 -0300)]
Backport 71436 (#71731)

2 years agoformat correctly chuncked response with Content-Length header (#69016) (#70744)
Miha Zupan [Tue, 12 Jul 2022 17:52:18 +0000 (10:52 -0700)]
format correctly chuncked response with Content-Length header (#69016) (#70744)

Co-authored-by: Badre BSAILA <54767641+pedrobsaila@users.noreply.github.com>
2 years agoRemove GeneratePackageOnBuild missed on branding PR (#71743)
Carlos Sanchez [Thu, 7 Jul 2022 18:26:33 +0000 (11:26 -0700)]
Remove GeneratePackageOnBuild missed on branding PR (#71743)

2 years agoUpdate branding to 6.0.8 (#71668)
Matt Mitchell [Wed, 6 Jul 2022 14:30:11 +0000 (07:30 -0700)]
Update branding to 6.0.8 (#71668)

2 years agoRevert Arcade update & Workload Manifest change (#71110)
William Godbe [Wed, 22 Jun 2022 09:50:04 +0000 (02:50 -0700)]
Revert Arcade update & Workload Manifest change (#71110)

* Revert "[release/6.0] Update dependencies from dotnet/arcade dotnet/llvm-project (#68871)"

This reverts commit 3e0c89b69f70690579d2f1c0a04577a674ef1cf6.

* Revert "Update workloads with Arcade improvements (#71046)"

This reverts commit cd19e8bf35d18cef6f30d896313cbeb1be2a06dd.

* Update global.json

2 years agoUpdate workloads with Arcade improvements (#71046)
Jacques Eloff [Tue, 21 Jun 2022 17:56:18 +0000 (10:56 -0700)]
Update workloads with Arcade improvements (#71046)

2 years ago[tests] Extend partial disablement of SkippingHiddenFiles (#65280) (#70763)
Dan Moseley [Mon, 20 Jun 2022 15:52:06 +0000 (09:52 -0600)]
[tests] Extend partial disablement of SkippingHiddenFiles (#65280) (#70763)

Co-authored-by: Mitchell Hwang <16830051+mdh1418@users.noreply.github.com>
2 years ago[release/6.0] Update dependencies from dotnet/arcade dotnet/llvm-project (#68871)
dotnet-maestro[bot] [Fri, 17 Jun 2022 01:11:42 +0000 (18:11 -0700)]
[release/6.0] Update dependencies from dotnet/arcade dotnet/llvm-project (#68871)

* Update dependencies from https://github.com/dotnet/arcade build 20220504.3

Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
 From Version 2.5.1-beta.22161.1 -> To Version 2.5.1-beta.22254.3

* Update dependencies from https://github.com/dotnet/arcade build 20220511.7

Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
 From Version 2.5.1-beta.22161.1 -> To Version 2.5.1-beta.22261.7

* Update dependencies from https://github.com/dotnet/llvm-project build 20220513.3

runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.21416.1 -> To Version 11.1.0-alpha.1.22263.3

* Update dependencies from https://github.com/dotnet/arcade build 20220614.7

Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 6.0.0-beta.22161.1 -> To Version 6.0.0-beta.22314.7

* Use VS preview pools for Windows build jobs, and remove Windows version number from queue name

* Revert "Use VS preview pools for Windows build jobs, and remove Windows version number from queue name"

This reverts commit 5478426a751b299afd19f81e15abf033f699d76c.

* Update dependencies from https://github.com/dotnet/llvm-project build 20220616.1

runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.21416.1 -> To Version 11.1.0-alpha.1.22316.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: carlossanlop <1175054+carlossanlop@users.noreply.github.com>
2 years agoFix Assembly.LoadFrom resolver (#70537)
github-actions[bot] [Wed, 15 Jun 2022 02:45:48 +0000 (20:45 -0600)]
Fix Assembly.LoadFrom resolver (#70537)

Path.GetFullPath fails on empty path. Check for empty requestor path earlier.

Fixes #67802

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2 years agoMerge pull request #70741 from vseanreesermsft/internal-merge-6.0-2022-06-14-1031
Matt Mitchell [Tue, 14 Jun 2022 18:06:49 +0000 (11:06 -0700)]
Merge pull request #70741 from vseanreesermsft/internal-merge-6.0-2022-06-14-1031

Merging internal commits for release/6.0

2 years agoMerge commit '7cca709db2944a09b4db6ca7b20c457ff260fb5a' into internal-merge-6.0-2022...
Sean Reeser [Tue, 14 Jun 2022 17:31:57 +0000 (10:31 -0700)]
Merge commit '7cca709db2944a09b4db6ca7b20c457ff260fb5a' into internal-merge-6.0-2022-06-14-1031

2 years agoAdd Fedora 37 RID (#65392)
Omair Majid [Tue, 14 Jun 2022 04:18:36 +0000 (00:18 -0400)]
Add Fedora 37 RID (#65392)

Fedora 37 has now started development, and the distribution now
identifies itself as Fedora 37 instead of Fedora 36:
https://fedorapeople.org/groups/schedule/f-37/f-37-key-tasks.html

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoFix async handle leak when sync RandomAccess read/write on async handle fails (#69956...
Stephen Toub [Tue, 14 Jun 2022 02:51:11 +0000 (22:51 -0400)]
Fix async handle leak when sync RandomAccess read/write on async handle fails (#69956) (#70591)

* Fix async handle leak when sync RandomAccess read/write on async handle fails

* Use UnsafeAllocateNativeOverlapped in GetNativeOverlappedForAsyncHandle

This isn't invoking user code and it's entirely for synchronous operations; there's no reason it needs to capture ExecutionContext.

2 years agoDo not add x86 host to PATH on 64-bit machines (#70299)
github-actions[bot] [Mon, 13 Jun 2022 18:11:09 +0000 (11:11 -0700)]
Do not add x86 host to PATH on 64-bit machines (#70299)

Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
2 years ago[6.0] Modify thread pool thread counting to be a bit more defensive (#70479)
Koundinya Veluri [Sat, 11 Jun 2022 02:33:24 +0000 (19:33 -0700)]
[6.0] Modify thread pool thread counting to be a bit more defensive (#70479)

* [6.0] Modify thread pool thread counting to be a bit more defensive

- Port of https://github.com/dotnet/runtime/pull/70478 to 6.0
- An unexpected underflow in one or more thread counts can lead to a large number of threads to be created continually
- Prevented underflows in changes to thread counts, such that following an unexpected underflow, subsequent paired increments and decrements would avoid repeating the underflow
- Verified by creating an unexpected underflow in the debugger

* Address feedback

2 years ago[release/6.0][iOS] Grab the default timezone using native API (#70288)
Steve Pfister [Fri, 10 Jun 2022 23:20:59 +0000 (19:20 -0400)]
[release/6.0][iOS] Grab the default timezone using native API (#70288)

Backport of https://github.com/dotnet/runtime/pull/70149

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years agoSwitch the ClientPre Helix queues to Client (#70570)
Manish Godse [Fri, 10 Jun 2022 21:11:49 +0000 (14:11 -0700)]
Switch the ClientPre Helix queues to Client (#70570)

2 years agoJIT: Abandon loop search if we are about to walk off end of the bbNext chain (#69525)
github-actions[bot] [Thu, 9 Jun 2022 23:15:50 +0000 (16:15 -0700)]
JIT: Abandon loop search if we are about to walk off end of the bbNext chain (#69525)

In #69323 the 6.0.4 jit caused an AV because it walked off the end of the
bbNext chain during `optFindNaturalLoops`.

Analysis of a customer-provided dump showed that `MakeCompactAndFindExits`
might fail to find an expected loop block and so walk the entire bbNext chain
and then fall off the end. Details from the dump suggested that this happened
because a prior call to `MakeCompactAndFindExits` had moved most but not all of
a loop's blocks later in bbNext order, leaving that loop's bottom block earlier
in the bbNext chain then it's top. This ordering was unexpected.

I cannot repro this failure. The customer was using PGO and it's likely that
earlier PGO-driven block reordering contributed to this problem by interleaving
the blocks from two loops. We can recover the root method PGO schema from the
dump, but applying this is insufficient to cause the problem. This method does
quite a bit of inlining so it's likely that some inlinee PGO data must also be
a contributing factor.

At any rate, we can guard against this case easily enough, and simply abandon
recognition of any loop where we fail to find an expected loop block during
the bbNext chain walk.

Co-authored-by: Andy Ayers <andya@microsoft.com>
2 years ago[Release/6.0] JIT: fix interaction of GDV and boxing (#60355) (#69630)
Andy Ayers [Thu, 9 Jun 2022 23:14:09 +0000 (16:14 -0700)]
[Release/6.0] JIT: fix interaction of GDV and boxing (#60355) (#69630)

* JIT: fix interaction of GDV and boxing (#60355)

In #56126 we disabled GDV if the object being boxed came from a call with a
hidden return buffer pointer.

Fix this and enable GDV for these cases by inserting the box allocation statements
before the call.

* add test case

2 years agoFix address adjustment in bundle unmap for macos universal binaries (#69689)
github-actions[bot] [Thu, 9 Jun 2022 23:12:36 +0000 (16:12 -0700)]
Fix address adjustment in bundle unmap for macos universal binaries (#69689)

Co-authored-by: vsadov <8218165+VSadov@users.noreply.github.com>
2 years agoFix singlefile on OSX ARM64 (#68845) (#69930)
Vladimir Sadov [Thu, 9 Jun 2022 23:11:03 +0000 (16:11 -0700)]
Fix singlefile on OSX ARM64 (#68845) (#69930)

* Same alignment in the bundle on OSX as on Linux

* Extra VA gap between section in casse we run from sf bundle

* Rename prevSectionEnd -> prevSectionEndAligned and make it aligned.

* Suppress assert for now on OSX

2 years ago[release/6.0] Host error message updates (#70059)
Elinor Fung [Thu, 9 Jun 2022 23:09:22 +0000 (16:09 -0700)]
[release/6.0] Host error message updates (#70059)

* Update error messages for framework and SDK resolution failure

Partial backport of #67022

* Update error message for runtime not found

Backport of #67564

2 years agoOpenSslX509ChainProcessor: ignore NotSignatureValid on last element. (#70343)
Tom Deseyn [Thu, 9 Jun 2022 23:06:02 +0000 (01:06 +0200)]
OpenSslX509ChainProcessor: ignore NotSignatureValid on last element. (#70343)

2 years agoUpdate branding to 6.0.7 (#70372)
vseanreesermsft [Wed, 8 Jun 2022 20:35:41 +0000 (13:35 -0700)]
Update branding to 6.0.7 (#70372)

* Update branding to 6.0.7

* Remove GeneratePackageOnBuild from all projects which added it in 6.0.6

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 17 May 2022 16:50:32 +0000 (16:50 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] add RID for Alpine 3.16 (#68925)
github-actions[bot] [Tue, 17 May 2022 16:33:54 +0000 (09:33 -0700)]
[release/6.0] add RID for Alpine 3.16 (#68925)

* add RID for Alpine 3.16

* fix packaging

Co-authored-by: wfurt <tweinfurt@yahoo.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 22:22:20 +0000 (22:22 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Add windows runtime packs as a workload (#69393)
Steve Pfister [Mon, 16 May 2022 22:11:47 +0000 (18:11 -0400)]
[release/6.0] Add windows runtime packs as a workload (#69393)

Backport of https://github.com/dotnet/runtime/pull/68981

At certain points in time internally, the sdk will rev its version and insert into VS. It's at this point the sdk version will be ahead of the runtime version as we have not published anything into nuget. In MAUI and WinUI scenarios, this creates a bit of a pickle as the sdk will try to download a new version of the windows runtime pack, but it will not be available.

To get around this limitation, we are introducing a workload that will be inserted into VS where you can optionally install Windows runtime packs.

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years ago[release/6.0] Restore FP pairs when unwinding in ARM64 (#69359)
Juan Hoyos [Mon, 16 May 2022 22:09:18 +0000 (15:09 -0700)]
[release/6.0] Restore FP pairs when unwinding in ARM64 (#69359)

* Add regression test
* Restore FP pairs when unwinding in ARM64
* Disable windows arm64 version of the test

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 19:46:44 +0000 (19:46 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Docker fixes for the enterprise linux testing pipeline (#68913)
Alexander Köplinger [Mon, 16 May 2022 19:35:56 +0000 (21:35 +0200)]
[release/6.0] Docker fixes for the enterprise linux testing pipeline (#68913)

* attempt to fix up EnterpriseTests (#65981)

* attemp to fix up EnterpriseTests

* fix text

* increase timoeout on build step

* fix temeout

* add jobs

* update job

* fix formating

* fix name

* update server check

* restore original resolver before tests

* fix path

* experiment

(cherry picked from commit 9174037cc6b58de847c9c88b7dcceef2b4fda440)

* upgrade docker to get clang9 to prevent coreclr crashes (#68311)

(cherry picked from commit edb9c498889b85ba2be015afca2f2cc73c30355c)

* Use Docker images from mcr.microsoft.com in EnterpriseTests (#68875)

We started getting warnings in the build about using images from docker directly, see https://docs.opensource.microsoft.com/tools/nuget_security_analysis/container_registry_analysis/

The image from dotnet-buildtools-prereqs-docker can be used instead.

(cherry picked from commit bafae1b8e6f1c6ce9798acf013b015a60def3381)

Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
2 years ago[release/6.0] Detect the default locale name during startup on Apple platforms (...
github-actions[bot] [Mon, 16 May 2022 19:32:52 +0000 (12:32 -0700)]
[release/6.0] Detect the default locale name during startup on Apple platforms (#68934)

* Detect the default locale name during startup on Apple platforms

This change adds a function to lookup the current NSLocale and extract the language + country code to load into ICU by default.  Previously, we would defer to uloc_getDefault in ICU, which would return a value we would ignore (en_US_POSIX) and result in falling back to invariant mode.

Fixes https://github.com/dotnet/runtime/issues/68321

* Link in foundation and address feedback

* Link in foundation in coreclr

* Check LANG env variable first

* Defer to icu first, since it's looking for LANG and certain values.

* #ifdef not #if

* PR feedback

* Remove redundant string replace

* pal_locale.m needs to be in a different location than upstream

* cmake tweak to make sure foundation gets linked in

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 18:33:41 +0000 (18:33 +0000)]
Merge in 'release/6.0' changes

2 years agoFix memory leak at AssemblyLoadContext unload (#69334)
github-actions[bot] [Mon, 16 May 2022 18:19:04 +0000 (11:19 -0700)]
Fix memory leak at AssemblyLoadContext unload (#69334)

I have found there was a small memory leak when unloading
AssemblyLoadContext. A customer had a quite extreme testing case that
ran millions of iterations of creating an AssemblyLoadContext, loading
some assemblies into it and then unloading it. After 80 million
iterations on their machine with 8GB memory, the testing app was getting
out of memory.

Using PerfView, I was able to locate the source of the leak. It was a
missing destruction of the Module::m_pJitInlinerTrackingMap.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 18:07:43 +0000 (18:07 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Prevent debugger deadlock with code versioning logic (#68367)
Juan Hoyos [Mon, 16 May 2022 17:51:43 +0000 (10:51 -0700)]
[release/6.0] Prevent debugger deadlock with code versioning logic (#68367)

* Release lock to prevent deadlock with code versioning logic when tracing a stub

* Update debugger.cpp

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 14 May 2022 04:05:15 +0000 (04:05 +0000)]
Merge in 'release/6.0' changes

2 years agoMinimal version of #67150 (#68876)
John Salem [Sat, 14 May 2022 03:52:35 +0000 (20:52 -0700)]
Minimal version of #67150 (#68876)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 14 May 2022 00:51:06 +0000 (00:51 +0000)]
Merge in 'release/6.0' changes

2 years agoJIT: fix scalability issue in redundant branch optimizer (#68972)
github-actions[bot] [Sat, 14 May 2022 00:36:21 +0000 (17:36 -0700)]
JIT: fix scalability issue in redundant branch optimizer (#68972)

In methods with long skinny dominator trees and lots of redundant branches
the jit can spend too much time trying to optimize the branches.

Place a limit on the number of redundant branches with matching VNs that
the jit will consider for a given branch.

Fixes #66067.

Co-authored-by: Andy Ayers <andya@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 13 May 2022 07:15:29 +0000 (07:15 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Deadlock mitigation for debugging (#69121)
David Mason [Fri, 13 May 2022 07:01:13 +0000 (00:01 -0700)]
[release/6.0] Deadlock mitigation for debugging (#69121)

* WIP

* add logging

Update ceemain.cpp

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 10 May 2022 22:41:52 +0000 (22:41 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge pull request #69151 from vseanreesermsft/internal-merge-6.0-2022-05-10-1208
Carlos Sanchez [Tue, 10 May 2022 22:27:55 +0000 (15:27 -0700)]
Merge pull request #69151 from vseanreesermsft/internal-merge-6.0-2022-05-10-1208

Merging internal commits for release/6.0

2 years agoMerge commit '70ae3df4a6f3c92fb6b315afc405edd10ff38579' into internal-merge-6.0-2022...
Sean Reeser [Tue, 10 May 2022 19:09:10 +0000 (12:09 -0700)]
Merge commit '70ae3df4a6f3c92fb6b315afc405edd10ff38579' into internal-merge-6.0-2022-05-10-1208

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 5 May 2022 22:08:25 +0000 (22:08 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [mono] Preserve FirstChanceExceptionEventArgs ctor (#68265)
github-actions[bot] [Thu, 5 May 2022 21:57:05 +0000 (14:57 -0700)]
[release/6.0] [mono] Preserve FirstChanceExceptionEventArgs ctor (#68265)

* [mono] Preserve FirstChanceExceptionEventArgs ctor

The runtime is creating the exception so we need to preserve it.
See https://github.com/xamarin/xamarin-android/issues/6626

* PR feedback: use DynamicDependencyAttribute instead

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 5 May 2022 17:51:45 +0000 (17:51 +0000)]
Merge in 'release/6.0' changes

2 years agoFix passing too small args for PUTARG_STK on macOS arm64 ABI (#68113)
Jakob Botsch Nielsen [Thu, 5 May 2022 17:44:03 +0000 (19:44 +0200)]
Fix passing too small args for PUTARG_STK on macOS arm64 ABI (#68113)

Backport of #68108

2 years ago[release/6.0] Do not reset assigned interval twice (#68327)
github-actions[bot] [Thu, 5 May 2022 17:41:33 +0000 (10:41 -0700)]
[release/6.0] Do not reset assigned interval twice (#68327)

* Do not reset the assignedInterval again

* Add test case

Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
2 years ago[release/6.0] Fix JIT using too wide indirections when returning small structs (...
github-actions[bot] [Thu, 5 May 2022 17:41:05 +0000 (10:41 -0700)]
[release/6.0] Fix JIT using too wide indirections when returning small structs (#68379)

* Fix JIT using too wide indirections when returning small structs

Fix #58874
Fix #64802
Fix #68157

* Add test

* Run jit-format

* Do not leak in case of merged tests

* Small test nit

* Another test nit

* Final test nit

* Make test compile

Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
2 years ago[release/6.0] Unloadability bugs fixes (#68674)
Jan Vorlicek [Thu, 5 May 2022 17:39:44 +0000 (19:39 +0200)]
[release/6.0] Unloadability bugs fixes (#68674)

* [Release/6.0] Port unloadability fixes

This change ports two unloadability fixes for issues found by a
customer.
* #68550 that adds reference between native
`LoaderAllocator`s of two collectible `AssemblyLoadContexts` when one of
them is used to resolve assembly using the other one. This reference
ensures that the one that provides the resolved `Assembly` isn't
collected before the one that uses it.
* #68336 that adds a missing lock around `m_LoaderAllocatorReferences`
iteration during assembly load context destruction.

* Remove breaking change part

The change in main has added an exception in case a collectible
`Assembly` is resolved into a non-collectible `AssemblyLoadContext`.
Although that is incorrect, there are cases when it would work. So the
added exception is a breaking change that I think we likely don't want
to get into 6.0

2 years ago[release/6.0] Fixed the yp_spin_count_unit to be a factor of the original_spin_count_...
Mukund Raghav Sharma (Moko) [Thu, 5 May 2022 17:38:07 +0000 (10:38 -0700)]
[release/6.0] Fixed the yp_spin_count_unit to be a factor of the original_spin_count_unit rather than a continually increasing value  (#68881)

* Fixed the yp_spin_count_unit to be a factor of the original_spin_count_unit rather than a continually increasing value

* Fixed type of the spin counts

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 5 May 2022 00:56:40 +0000 (00:56 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Disable ZipFile_Unix.UnixCreateSetsPermissionsInExternalAttributes...
Carlos Sanchez [Thu, 5 May 2022 00:44:25 +0000 (17:44 -0700)]
[release/6.0] Disable ZipFile_Unix.UnixCreateSetsPermissionsInExternalAttributes (#68867)

Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 4 May 2022 20:25:23 +0000 (20:25 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] JIT: fix bug where a gc struct is not zero initialized (#68050)
Andy Ayers [Wed, 4 May 2022 20:12:23 +0000 (13:12 -0700)]
[release/6.0] JIT: fix bug where a gc struct is not zero initialized (#68050)

Port of #67825 to release/6.0.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 4 May 2022 19:51:10 +0000 (19:51 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix in-process decoding of DateTime in EventSource (#68352)
github-actions[bot] [Wed, 4 May 2022 19:37:54 +0000 (12:37 -0700)]
[release/6.0] Fix in-process decoding of DateTime in EventSource (#68352)

* Fix in-process decoding of DateTime in EventSource

* Update eventlistener test to validate DateTime is correctly decoded in-process

* Use UTC time everywhere

Co-authored-by: John Salem <josalem@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 4 May 2022 17:56:59 +0000 (17:56 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] add support for parsing Unified TLS hello (#68425)
Tomas Weinfurt [Wed, 4 May 2022 17:44:36 +0000 (10:44 -0700)]
[release/6.0] add support for parsing Unified TLS hello (#68425)

* add support for parsing Unified TLS hello

* feedback from review

* update comment

2 years ago[release/6.0] Handle parameterless ctors in structs in STJ's ReflectionEmitMemberAcce...
Egor Bogatov [Wed, 4 May 2022 17:43:47 +0000 (19:43 +0200)]
[release/6.0] Handle parameterless ctors in structs in STJ's ReflectionEmitMemberAccessor (#67901)

* [release/6.0] backport #62989 "Handle parameterless ctors in structs in STJ's ReflectionEmitMemberAccessor"

* Add explicit parameterless constructors in the tests

* Update ConstructorTests.ParameterMatching.cs

* address feedback

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 4 May 2022 02:42:20 +0000 (02:42 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Use x64 directory if running x64 process on arm64 apphost (#68583)
Elinor Fung [Wed, 4 May 2022 02:29:11 +0000 (19:29 -0700)]
[release/6.0] Use x64 directory if running x64 process on arm64 apphost (#68583)

* Use x64 directory if running x64 process on arm64 apphost

Backport of #59890

* Fix is_emulating_x64 on Windows (#68671)

Co-authored-by: Mateo Torres-Ruiz <mateoatr@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 4 May 2022 00:03:06 +0000 (00:03 +0000)]
Merge in 'release/6.0' changes

2 years agoDisable profiler multiple test against JIT and GC stress runs (#68501)
Tom McDonald [Tue, 3 May 2022 23:50:19 +0000 (19:50 -0400)]
Disable profiler multiple test against JIT and GC stress runs (#68501)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 3 May 2022 23:37:20 +0000 (23:37 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 3 May 2022 23:36:39 +0000 (23:36 +0000)]
Merge in 'release/6.0' changes

2 years ago[Release/6.0] Backport test fixes (#68332)
Radek Zikmund [Tue, 3 May 2022 23:34:22 +0000 (16:34 -0700)]
[Release/6.0] Backport test fixes (#68332)

* Resolve System.Net.Security.Tests.LoggingTest SkipTestException failure (#65322)

* improve Tls12 detection on Windows7 (#67935)

* disable Tls 1.0 and 1.1 tests on new Windows (#68083)

* Don't throw from RemoteExecutor on SkipTestExceptions (#65105)

* update SSL tests to deal better with disabled protocols (#65120)

* update SSL tests to deal better with disabled protocols

* Improve detection of Null encryption on Windows

* update expectation for Mismatched protocols

* update detection

* wrap win32 exception

* update ProtocolMismatchData sets

* remove debug print

* final cleanup

* generate mismatch data

* avoid SslProtocols.Default

Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
2 years ago[release/6.0] Fix the logic for regions detection (#67995)
github-actions[bot] [Tue, 3 May 2022 23:31:53 +0000 (16:31 -0700)]
[release/6.0] Fix the logic for regions detection (#67995)

* Fix the logic for regions detection

* Fix region check name on .NET 6

Co-authored-by: Andrew Au <andrewau@microsoft.com>
Co-authored-by: Juan Sebastian Hoyos Ayala <juan.hoyos@microsoft.com>
2 years agoAdd single-file debugging to DBI (#67934)
Mike McLaughlin [Tue, 3 May 2022 23:31:22 +0000 (18:31 -0500)]
Add single-file debugging to DBI (#67934)

Add new CoreCLRCreateCordbObjectEx2 API that takes the DAC module path instead of
assuming the DAC module is in the same directory as DBI.

2 years ago[release/6.0] Don't cache commandline in coreclr diagnostics server (#63356)
github-actions[bot] [Tue, 3 May 2022 23:25:28 +0000 (16:25 -0700)]
[release/6.0] Don't cache commandline in coreclr diagnostics server (#63356)

* Don't cache commandline in coreclr diagnostics server

* Validate behavior of ProcessInfo command before and after suspension point (#63382)

This only applies to CoreCLR Unix processes.

* Apply feedback to prevent rare race

* Add InterlockedCompareExchange to ensure we only leak once if ever

Co-authored-by: John Salem <josalem@microsoft.com>
2 years agoUpdate branding to 6.0.6 (#68825)
vseanreesermsft [Tue, 3 May 2022 23:24:53 +0000 (16:24 -0700)]
Update branding to 6.0.6 (#68825)

* Update branding to 6.0.6

* Reset GeneratePackageOnBuild in OOB packages.

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 16:47:07 +0000 (16:47 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix cancel in PipeReader.ReadAtLeastAsync (#66870)
github-actions[bot] [Wed, 13 Apr 2022 16:36:31 +0000 (09:36 -0700)]
[release/6.0] Fix cancel in PipeReader.ReadAtLeastAsync (#66870)

* Fix cancel in PipeReader.ReadAtLeastAsync

* Add missing GeneratePackageOnBuild and bump version

Co-authored-by: Brennan <brecon@microsoft.com>
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoEnsure serializer reflection-dependency sentinel is accurate (#67104)
Eirik Tsarpalis [Wed, 13 Apr 2022 16:33:23 +0000 (17:33 +0100)]
Ensure serializer reflection-dependency sentinel is accurate (#67104)

* Ensure serializer reflection-dependency sentinel is accurate

* update servicing version

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 16:04:32 +0000 (16:04 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 16:01:15 +0000 (16:01 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Disable test Runtime_56953 (#67604)
Bruce Forstall [Wed, 13 Apr 2022 16:00:10 +0000 (09:00 -0700)]
[release/6.0] Disable test Runtime_56953 (#67604)

This avoids a JIT assert in jitstress test runs.

We don't intend to fix the underlying issues in release/6.0 branch.

Tracking: https://github.com/dotnet/runtime/issues/67603

2 years agoUpgrading the version of Package Validation used in the repo to reduce Build flakines...
Jose Perez Rodriguez [Wed, 13 Apr 2022 15:57:39 +0000 (08:57 -0700)]
Upgrading the version of Package Validation used in the repo to reduce Build flakiness when loading Roslyn (#66635)

* Upgrading the version of Package Validation used in the repo to reduce Build flakiness when loading Roslyn

* remove workaround

Co-authored-by: Dan Moseley <danmose@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 15:55:32 +0000 (15:55 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [Mono] Fix uninitialized vtable bug (#67759)
github-actions[bot] [Wed, 13 Apr 2022 15:55:05 +0000 (08:55 -0700)]
[release/6.0] [Mono] Fix uninitialized vtable bug (#67759)

* Add functional test

* Fix vtable setup

* Add suggested code changes

* Improve arguments ordering

Co-authored-by: Simon Rozsival <simon@rozsival.com>
2 years ago[wasm] Bundle net472 dependencies for MonoAOTCompiler task (#67757)
github-actions[bot] [Wed, 13 Apr 2022 15:54:04 +0000 (08:54 -0700)]
[wasm] Bundle net472 dependencies for MonoAOTCompiler task (#67757)

.. same as what we do for WasmAppBuilder, and MonoTargets.

Without this, it would work if msbuild/VS happened to load the expected
System.Reflection.Metadata assembly before loading the task. But break
when it didn't. And that breakage happens with 7.0*p3 with VS 17.2 .

msbuild, and VS break with:
```
The "MonoAOTCompiler" task failed unexpectedly.System.IO.FileNotFoundException: Could not load file or assembly 'System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
    The system cannot find the file specified.File name: 'System.Reflection.Metadata, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
        at MonoAOTCompiler.FilterAssemblies(IEnumerable`1 assemblies)
        at MonoAOTCompiler.ExecuteInternal()
        at MonoAOTCompiler.Execute()
        at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
        at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()

    WRN: Assembly binding logging is turned OFF.To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.Note: There is some performance penalty associ ated with assembly bind failure logging.To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
```

These are the files bundled for net472 now:

```
tasks/net472/Microsoft.Bcl.AsyncInterfaces.dll
tasks/net472/Microsoft.Build.dll
tasks/net472/Microsoft.Build.Framework.dll
tasks/net472/Microsoft.Build.Tasks.Core.dll
tasks/net472/Microsoft.Build.Utilities.Core.dll
tasks/net472/Microsoft.NET.StringTools.dll
tasks/net472/Microsoft.VisualStudio.Setup.Configuration.Interop.dll
tasks/net472/MonoAOTCompiler.dll
tasks/net472/MonoAOTCompiler.dll.config
tasks/net472/System.Buffers.dll
tasks/net472/System.Collections.Immutable.dll
tasks/net472/System.Configuration.ConfigurationManager.dll
tasks/net472/System.Memory.dll
tasks/net472/System.Numerics.Vectors.dll
tasks/net472/System.Reflection.Metadata.dll
tasks/net472/System.Resources.Extensions.dll
tasks/net472/System.Runtime.CompilerServices.Unsafe.dll
tasks/net472/System.Security.AccessControl.dll
tasks/net472/System.Security.Permissions.dll
tasks/net472/System.Security.Principal.Windows.dll
tasks/net472/System.Text.Encodings.Web.dll
tasks/net472/System.Text.Json.dll
tasks/net472/System.Threading.Tasks.Dataflow.dll
tasks/net472/System.Threading.Tasks.Extensions.dll
tasks/net472/System.ValueTuple.dll
```

Issue: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1520454

Co-authored-by: Ankit Jain <radical@gmail.com>
2 years agoAdd arm64 cross-arch msi installers (#67265)
github-actions[bot] [Wed, 13 Apr 2022 15:50:45 +0000 (08:50 -0700)]
Add arm64 cross-arch msi installers (#67265)

Expanding architecture support

Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
2 years agoAdd a --aot-lazy-assembly-load command line option to load assemblies… (#67024) ...
Aleksey Kliger (λgeek) [Wed, 13 Apr 2022 15:49:03 +0000 (11:49 -0400)]
Add a --aot-lazy-assembly-load command line option to load assemblies… (#67024) (#67103)

* Add a --aot-lazy-assembly-load command line option to load assemblies referenced by AOT images lazily.

Note that this requires the assemblies used at AOT time to exactly match
the assemblies loaded at runtime, otherwise the runtime will abort
when it loads the mismatching reference.

* Handle the options added by options.h in mono_jit_parse_options ().

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
2 years agoAdd additional trace to HttpConnectionPool (#66958)
Natalia Kondratyeva [Wed, 13 Apr 2022 15:48:34 +0000 (17:48 +0200)]
Add additional trace to HttpConnectionPool (#66958)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 15:47:56 +0000 (15:47 +0000)]
Merge in 'release/6.0' changes

2 years agoFix unaligned UTF16 string read in collect tracing EventPipe command. (#66828)
Johan Lorensson [Wed, 13 Apr 2022 15:43:47 +0000 (17:43 +0200)]
Fix unaligned UTF16 string read in collect tracing EventPipe command. (#66828)

Collect tracing 2 EventPipe command triggers an unaligned UTF16 string
read that could cause a SIGBUS on platforms not supporting unalinged
reads of UTF16 strings (so far only seen on 32-bit ARM Linux CI machine).

On CoreCLR this could even cause a unalinged int read due to
optimizations used in UTF8Encoding::GetByteCount.

2 years agoFix macOS ARM64 stack overflow detection (#66612)
github-actions[bot] [Wed, 13 Apr 2022 15:43:18 +0000 (08:43 -0700)]
Fix macOS ARM64 stack overflow detection (#66612)

We were incorrectly using exception_data_type_t instead of mach_exception_data_type_t
in the PAL due to a missing change when we have added support for ARM64 macOS.

The wrong type was 32 bit and it caused the address of a hardware exception to have
the upper 32 bits cut off. That prevented us from detecting stack overflow correctly.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoMerged PR 21350: [MSRC 69437] Apply MaxResponseHeadersLength limit for trailing headers
Miha Zupan [Wed, 13 Apr 2022 15:36:55 +0000 (15:36 +0000)]
Merged PR 21350: [MSRC 69437] Apply MaxResponseHeadersLength limit for trailing headers

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 15:36:33 +0000 (15:36 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Add dynamic shim for SSL_CTX_set_options and SSL_set_options (#67145)
github-actions[bot] [Wed, 13 Apr 2022 15:35:53 +0000 (08:35 -0700)]
[release/6.0] Add dynamic shim for SSL_CTX_set_options and SSL_set_options (#67145)

* Add dynamic shim for SSL_CTX_set_options

This works around ABI breaking change made between OpenSSL 1.1 and 3.0 where argument type and return type was changed from unsigned long to uint64_t, which caused issues on arm32 architectures with OpenSSL 3.0 installed.

* Fix typo

* Update src/native/libs/System.Security.Cryptography.Native/pal_ssl.c

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
* Update src/native/libs/System.Security.Cryptography.Native/pal_ssl.c

Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
* Code review feedback

Co-authored-by: Radek Zikmund <r.zikmund.rz@gmail.com>
Co-authored-by: Radek Zikmund <32671551+rzikm@users.noreply.github.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
2 years ago[release/6.0] Fix DNS cancellation deadlock (#67291)
github-actions[bot] [Wed, 13 Apr 2022 15:34:50 +0000 (08:34 -0700)]
[release/6.0] Fix DNS cancellation deadlock (#67291)

* tests

* remove lock

* comments, outerloop

* use Volatile.Write

* test comments

* SafeHandle to avoid use-after-free race condition

* use NativeMemory APIs

* Disable DnsGetHostEntry_PostCancelledToken_Throws on Win7

* Fix compilation

Co-authored-by: Anton Firszov <antonfir@gmail.com>
Co-authored-by: Radek Zikmund <radekzikmund@microsoft.com>
2 years agoAvoid issuing connection attempts for already cancelled requests (#66992) (#67226)
Miha Zupan [Wed, 13 Apr 2022 15:31:54 +0000 (17:31 +0200)]
Avoid issuing connection attempts for already cancelled requests (#66992) (#67226)

* Avoid issuing connection attempts for already canceled requests

* Cancelled => Canceled

* Guard SocketsHttpHandler tests under SocketsHttpHandler.IsSupported

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Apr 2022 15:31:40 +0000 (15:31 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Load R2R images on osx-arm64 according to Apple's guidelines (#67438)
Jonathan Giannuzzi [Wed, 13 Apr 2022 15:24:01 +0000 (16:24 +0100)]
[release/6.0] Load R2R images on osx-arm64 according to Apple's guidelines (#67438)

* Fix Compiler::impImportNewObjArray on osx-arm64

* Reject R2R images containing calls to CORINFO_HELP_NEW_MDARR

* Load R2R images on osx-arm64 according to Apple's guidelines

2 years ago[release/6.0] Ignore non-X509 certificates in SignedCms (#67462)
Jeremy Barton [Wed, 13 Apr 2022 15:23:24 +0000 (08:23 -0700)]
[release/6.0] Ignore non-X509 certificates in SignedCms  (#67462)

* Ignore non-X509 certificates in SignedCms

This allows for AttributeCertificateV1/AttributeCertificateV2/OtherCertificate
entries in the SignedCms without causing a decode error.  That data is not presented
to callers via the SignedCms object, but the behavior is consistent with SignedCms on
.NET Framework and its underlying WinCryptMsg counterpart.

* Add packaging changes for servicing

2 years ago[release/6.0] Fix loop cloning of array of struct with array field (#67496)
Bruce Forstall [Wed, 13 Apr 2022 15:20:55 +0000 (08:20 -0700)]
[release/6.0] Fix loop cloning of array of struct with array field (#67496)

Loop cloning needs to parse what morph creates from GT_INDEX nodes
to determine if there are array accesses with bounds checks that
could potentially be optimized. For jagged array access, this can
be a "comma chain" of bounds checks and array element address expressions.
For a case where an array of structs had a struct field, such as
`ValueTuple<int[], int>[]`, cloning was confusing the expression
`a[i].Item1[j]` for the jagged array access `a[i][j]`.

The fix here is to keep track of the type of the `GT_INDEX` node that is
being morphed, in the `GT_BOUNDS_CHECK` node that is created for it.
(This is the only thing cloning parses, to avoid the need to parse
the very complex trees morph can create.) This type is then checked
when parsing the "comma chain" trees. If a non-`TYP_REF` is found (such
as a `TYP_STRUCT` in the above example), no more levels of array indexing
are considered. (`TYP_REF` is what an array object would have, for a jagged
array.)

Fixes #66254.

2 years ago[release/6.0] [AOT] Don't set the 'CorrectedSynthesize' flag in the objc_imageinfo...
github-actions[bot] [Wed, 13 Apr 2022 15:19:31 +0000 (08:19 -0700)]
[release/6.0] [AOT] Don't set the 'CorrectedSynthesize' flag in the objc_imageinfo section. (#67534)

* [AOT] Don't set the 'CorrectedSynthesize' flag in the objc_imageinfo section.

According to Apple's headers, it's not used anymore, and ignored.

However, with Xcode 13.3, it seems Apple has re-used this value for something
else, and it's causing warnings in the linker:

> ld: warning: '[...]/arm64/Xamarin.iOS.dll.o' was built with class_ro_t pointer signing enabled, but previous .o files were not

Fixes https://github.com/mono/mono/issues/21450.

Ref: https://opensource.apple.com/source/objc4/objc4-818.2/runtime/objc-abi.h.auto.html

* Don't set the 'CorrectedSynthesize' flag when using LLVM either.

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>