-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[main] Update dependencies from dotnet/linker #67701
[main] Update dependencies from dotnet/linker #67701
Conversation
…406.2 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22206.2
I'll be looking into the linker warning failure. |
…407.1 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22207.1
The GetSerializationCtor doesn't seem to be used. It's actually not in the build output since it's trimmed away. With the improved linker it produces a warning (correctly), but as it's not needed, it can be removed.
@vitek-karas latest failures look real |
…408.1 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22208.1
Thanks @lewing - I know. The fix is relatively simple, but I would rather figure out "why" first. /cc @marek-safar as this is likely related to the constant propagation change (I don't know for sure though) The failure is on Mono only.
Note: It's intentional that linker warns if there are methods in substitution XML which don't resolve. This is to protect against typos, as it would be really easy to make a typo, no failure happens anywhere, but the substitution didn't work. This probably means that the method is not used on Mono and the new linker can remove the CoreCLR probably has a hard reference to the method and thus linker has to keep it. What we need to do:
|
/cc @sbomer as my backup as I'm feeling a bit ill and it might take a while for me to figure this out. |
9065f46
to
3ae2982
Compare
3ae2982
to
dcf8462
Compare
I'll take a look to see if I can confirm the theory. |
@vitek-karas your theory is pretty much correct. The missing detail was that mono-wasm has a substitution that stubs out
So that gets inlined when building SPC for wasm and the method isn't marked. Maybe a way to fix this is to remove the wasm-specific substitution, and instead stub it out by passing a feature setting to the linker (EnableUnsafeBinaryFormatterSerialization = false) - since the substitution is effectively saying that the feature is unsupported on wasm, and it seems redundant to declare the stub in two places. But this would need to be set for the shared fx link and also when linking in the SDK. Or we could ensure that the shared fx substitutions for wasm don't contain the feature switch definition, by moving it to a separate XML file for non-wasm targets only - probably the quickest solution. Generally I think the feature switches need a mechanism to "remember" that a feature setting got baked in. We are doing optimizations based on a baked-in value but are still shipping with an XML that declares that corelib supports the feature switch - and now that we are doing more optimizations based on the setting it's causing problems. @marek-safar curious what you think. |
…411.1 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22211.1
@sbomer / @vitek-karas I think it's ok to remove this "outliner" from ILLink.Substitutions.wasm.xml. The SDK already set EnableUnsafeBinaryFormatterSerialization to false by default for every other project anyway. Another option could be to not apply substitutions during library build but I'm not convinced that's the right fix for this case. |
Same is done at SDK level
…412.1 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22212.1
…413.2 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22213.2
@marek-safar @sbomer @vitek-karas kindly asking for an update on the PR as my change depends on the newer linker version and is currently blocked. |
@marek-safar the icu test is still failing on some platforms:
runtime/src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.Icu.cs Line 212 in 47bcd1a
|
…418.2 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22218.2
…419.2 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22219.2
…ub.com:dotnet/runtime into darc-main-9714be7e-f6e4-4abc-923d-558ca47ea2b8
…420.4 Microsoft.NET.ILLink.Tasks From Version 7.0.100-1.22205.1 -> To Version 7.0.100-1.22220.4
The analyzer was kicking in producing warnings. The sgen tool is not going to be trimmed, so there's no point running the analyzer on it.
Failures are unrelated |
@marek-safar The tar issues were already fixed but unsure about the wasm failure. I filed an issue for the new runtime failure so that the area owners know about flakiness in that test: #68376. |
Possible regression (though no clue why this change would lead to these tests regressing): |
This pull request updates the following dependencies
From https://github.com/dotnet/linker