Update DIA to 17.12.0-beta1.24603.5
----
#### AI description (iteration 1)
#### PR Classification
Dependency update
#### PR Summary
This pull request updates the version of the `MicrosoftDiaSymReaderNative` dependency.
- `eng/Versions.props`: Updated `MicrosoftDiaSymReaderNativeVersion` to `17.12.0-beta1.24603.5`.
Co-authored-by: Mirroring <dnceng-mirroring@microsoft.com>
Co-authored-by: Tom McDonald <Thomas.McDonald@microsoft.com>
* Support generic fields in PersistedAssemblyBuilder
* Add the pragmas for unused fields
* Add the pragmas for unused fields 2
* Fix test for the non-generic case
* Re-use existing GetOriginalMemberIfConstructedType()
---------
Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
When AsnDecoder.ReadEncodedValue is used on a payload where
the encoded length plus the number of bytes representing the encoded
length plus the number of bytes representing the tag exceeds int.MaxValue
it erroneously reports success.
Every known caller of this method immediately follows it with a call to
a Span or Memory .Slice, which results in an ArgumentException that the
requested length exceeds the number of bytes available in the buffer.
Because AsnDecoder was extracted out of AsnReader, most AsnDecoder tests
are done indirectly as AsnReader tests, or are done in the same test class that
tests the related functionality on AsnReader. Since there's not a clear
analogue for ReadEncodedValue (that does not immediately Slice), this change
introduces a new subtree for AsnDecoder tests, only populating it with
(Try)ReadEncodedValue tests. It also adds "large length" tests for ReadSetOf
and ReadSequence, for good measure.
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
* Update dependencies from https://github.com/dotnet/hotreload-utils build 20241224.2
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 9.0.0-alpha.0.24561.2 -> To Version 9.0.0-alpha.0.24624.2
* Update dependencies from https://github.com/dotnet/hotreload-utils build 20250107.3
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 9.0.0-alpha.0.24561.2 -> To Version 9.0.0-alpha.0.25057.3
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Carlos Sánchez López <1175054+carlossanlop@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/cecil build 20241222.3
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.24620.1 -> To Version 0.11.5-alpha.24622.3
* Update dependencies from https://github.com/dotnet/cecil build 20250106.3
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.24620.1 -> To Version 0.11.5-alpha.25056.3
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/emsdk build 20241227.3
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
From Version 9.0.1-servicing.24571.2 -> To Version 9.0.1-servicing.24627.3
Dependency coherency updates
runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-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.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.linux-musl-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,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk,runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
From Version 19.1.0-alpha.1.24554.4 -> To Version 19.1.0-alpha.1.24575.1 (parent: Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
* Update dependencies from https://github.com/dotnet/emsdk build 20250107.2
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
From Version 9.0.1-servicing.24571.2 -> To Version 9.0.1-servicing.25057.2
* Update dependencies from https://github.com/dotnet/emsdk build 20250108.2
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
From Version 9.0.1-servicing.24571.2 -> To Version 9.0.2-servicing.25058.2
* Update dependencies from https://github.com/dotnet/emsdk build 20250111.2
Microsoft.SourceBuild.Intermediate.emsdk , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100 , Microsoft.NET.Workload.Emscripten.Current.Manifest-9.0.100.Transport
From Version 9.0.1-servicing.24571.2 -> To Version 9.0.2-servicing.25061.2
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/icu build 20241220.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.24572.1 -> To Version 9.0.0-rtm.24620.1
* Update dependencies from https://github.com/dotnet/icu build 20241227.2
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.24572.1 -> To Version 9.0.0-rtm.24627.2
* Update dependencies from https://github.com/dotnet/icu build 20250107.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.24572.1 -> To Version 9.0.0-rtm.25057.1
* Update dependencies from https://github.com/dotnet/icu build 20250108.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.24572.1 -> To Version 9.0.0-rtm.25058.1
* Update dependencies from https://github.com/dotnet/icu build 20250111.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.24572.1 -> To Version 9.0.0-rtm.25061.1
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.SourceBuild.Intermediate.source-build-reference-packages
From Version 9.0.0-alpha.1.24619.1 -> To Version 9.0.0-alpha.1.25060.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.CodeAnalysis.Analyzers , Microsoft.CodeAnalysis.NetAnalyzers
From Version 3.11.0-beta1.24574.2 -> To Version 3.11.0-beta1.24629.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/roslyn build 20241229.4
Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.12.0-3.24574.8 -> To Version 4.12.0-3.24629.4
* Update dependencies from https://github.com/dotnet/roslyn build 20241231.1
Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.12.0-3.24574.8 -> To Version 4.12.0-3.24631.1
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 9.0.0-prerelease.24575.3 -> To Version 9.0.0-prerelease.25057.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* [mono][aot] Fix stack state when emitting type load throw
Method compilation was continuing and we ended up failing with invalid IL.
* [mono][aot] Mark clauses as dead when replacing method code with exception throw
In the final stages of method compilation, when trying to compute clause ranges, we were asserting because the clause bblocks haven't been reached for compilation.
When marking cards for a non-array object or a an element vt in an object, it is enough to mark a card for any address within that object/vt because they are always fully scanned. Cardtable consistency checks are not accounting for this detail and it is difficult to have it implemented. Instead, when having such debug flags enabled, we use an explicit approach where every single card is being marked.
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
* Default build and revision numbers to 0 if they are -1 on MacCatalyst
* Update src/libraries/System.Private.CoreLib/src/System/Environment.OSVersion.MacCatalyst.cs
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Add three-parameter and two-parameter overloads for IsOSPlatformVersionAtLeast
* Update IsOSVersionAtLeast to handle not provided values
* Check only build and revision
* Update src/libraries/System.Private.CoreLib/src/System/OperatingSystem.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Update src/libraries/System.Private.CoreLib/src/System/OperatingSystem.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* New line
* Update tests to pass when build or revision are -1
* Add isCurrentOS to the Assert.Equal
* Unspecified build/revision components are to be treated as zeros
* Unspecified build component is to be treated as zero
* Unspecified build or revision component is to be treated as zero
* Update src/libraries/System.Private.CoreLib/src/System/OperatingSystem.cs
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Update src/libraries/System.Private.CoreLib/src/System/OperatingSystem.cs
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Normalize build component to 0 if undefined
* Add comments
* Revert normalizing build component to 0
---------
Co-authored-by: Milos Kotlar <kotlarmilos@gmail.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Fixes#109496.
We try to optimize away type handles (MethodTables) of types that are only needed due to metadata. Trying to grab type handle of such type throws. This fixes it by unconditionally generating type handles of IDynamicInterfaceCastableImplementation.
* Do not wait for finalizers on tracker host callbacks
* Apply suggestions from PR review
* Remove unnecessary try/catch
---------
Co-authored-by: Sergio Pedri <sergio0694@live.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Fix calling convention mismatch in GC callouts
Fixes#110607.
The native side expects fastcall.
Filed #110684 on the test hole. We would have caught it during x86 bringup if this had _any_ tests since this is a guaranteed stack corruption and crash.
* Change native side instead
---------
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Co-authored-by: Jeff Schwartz <jeffschw@microsoft.com>
* Do not eagerly allocate static variable space while loading the assembly in use. This avoids possible recursive loading issues found in C++/CLI codebases. Repurpose the NativeCallingManaged test to subsume this particular regression test case.
Fix#110365
* Fix testcase
* Deal with DomainAssembly instead of Assembly
---------
Co-authored-by: David Wrighton <davidwr@microsoft.com>
Co-authored-by: Jeff Schwartz <jeffschw@microsoft.com>
* Fix reporting GC fields from base types
Fixes#110836.
When we extended managed CorInfoImpl to support object stack allocation in #104411, there was one more spot that assumed valuetypes only in `GatherClassGCLayout` that we missed. This resulted in not reporting any GC pointers in base types.
* Update corinfo.h
---------
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
* Move ComWrappers AddRef to C/C++
Xaml invokes AddRef while holding a lock that it *also* holds while a GC is in progress. Managed AddRef had to synchronize with the GC that caused intermittent deadlocks with the other thread holding Xaml's lock.
This change reverts the managed AddRef implementation to match .NET Native and CoreCLR.
Fixes#110747
* Apply suggestions from code review
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
* Update src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp
* Update src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp
* Build break
* Update src/coreclr/nativeaot/Runtime/HandleTableHelpers.cpp
* Apply suggestions from code review
* Update src/coreclr/nativeaot/System.Private.CoreLib/src/System/Runtime/InteropServices/ComWrappers.NativeAot.cs
---------
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Jeff Schwartz <jeffschw@microsoft.com>
Fixes#108229.
The actual fix is the addition of an `if` check where it originally wasn't. I also fixed the other checks for consistency - positive checks are fine to cache, and negative checks against non-interface targets are also fine to cache.
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Co-authored-by: Jeff Schwartz <jeffschw@microsoft.com>
* Fix IDynamicInterfaceCastable with shared generic code
Fixes#72909.
Internal team ran into this. Turns out CsWinRT also needs this, but they're were working around instead pushing on a fix.
The big problem with this one is that we have an interface call to a default interface method that requires generic context. This means we need some kind of instantiating thunk (since callsite didn't provide generic context because it didn't know it). The normal default interface case uses an instantiating thunk that simply indexes into the interface list of `this`. We know the index of the interface (we don't know the concrete type because `T`s could be involved), but we can easily compute it at runtime from `this`.
The problem with `IDynamicInterfaceCastable` is that `this` is useless (the class doesn't know anything about the interface). So we need to get the generic context from somewhere else. In this PR, I'm using the thunkpool as "somewhere else". When we finish interface lookup and find out `IDynamicInterfaceCastable` provided a shared method, we create a thunkpool thunk that stashes away the context. We then call the "default interface method instantiating thunk" and instead of indexing into interface list of `this`, we index into interface list of whatever was stashed away. So there are two thunks before we reach the point of executing the method body.
* Finishing touches
* Regression test
---------
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Microsoft.SourceBuild.Intermediate.source-build-reference-packages
From Version 9.0.0-alpha.1.24568.3 -> To Version 9.0.0-alpha.1.24619.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/cecil build 20241209.1
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.24602.1 -> To Version 0.11.5-alpha.24609.1
* Update dependencies from https://github.com/dotnet/cecil build 20241216.1
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.24602.1 -> To Version 0.11.5-alpha.24616.1
* Update dependencies from https://github.com/dotnet/cecil build 20241220.1
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.24602.1 -> To Version 0.11.5-alpha.24620.1
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>