Repository navigation
[release/5.0] Leftover Utf8String defines are causing ILLinker warnings - #41680
Merged
Merged
Conversation
The CreateRuntimeRootILLinkDescriptorFile task, which generates most of S.P.CoreLib's ILLink.Descriptor file for coreclr, doesn't respect #ifdefs. So even though FEATURE_UTF8STRING is disabled in the release/5.0 branch, it is still generating entries for Char8 and Utf8String. But since these managed types do not exist, the ILLinker is raising warnings. To fix this, comment the DEFINE_CLASS entries out of the header file. Fix dotnet#41654
eerhardt
requested review from
GrabYourPitchforks,
ericstj,
jkotas and
vitek-karas
September 1, 2020 16:43
Collaborator
|
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
jkotas
approved these changes
Sep 1, 2020
jeffschwMSFT
approved these changes
Sep 1, 2020
jeffschwMSFT
left a comment
Member
There was a problem hiding this comment.
Approved. Please merge once you we have confidence on ci
Member
|
Approved for RC1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The CreateRuntimeRootILLinkDescriptorFile task, which generates most of S.P.CoreLib's ILLink.Descriptor file for coreclr, doesn't respect #ifdefs. So even though FEATURE_UTF8STRING is disabled in the release/5.0 branch, it is still generating entries for Char8 and Utf8String. But since these managed types do not exist in the release/5.0 branch, the ILLinker is raising warnings.
To fix this, comment the DEFINE_CLASS entries out of the header file.
Fix #41654
Customer Impact
This fixes #41654. If anyone tries to link a coreclr application (console, asp.net, winforms, etc) they are getting warnings that they cannot fix.
Testing
I verified that linking with the new System.Private.CoreLib is no longer producing warnings by default.
Risk
Low - I commented out code that is already behind a
#ifdefthat is turned off.Notes
I chose to go the surgical route of removing these from the .h file instead of the full blown route of removing the all the
FEATURE_UTF8STRINGcode because it is a safer change to make at this point in 5.0.