Fixes Issue #20262 for CoreCLR 5.0 (#25926) (#25988)
authorBrian Sullivan <briansul@microsoft.com>
Wed, 7 Aug 2019 16:15:43 +0000 (09:15 -0700)
committerWilliam Godbe <wigodbe@microsoft.com>
Wed, 7 Aug 2019 16:15:43 +0000 (09:15 -0700)
commitb1efbdd7b6498cb92e1fce6927691764a1f06b55
treea580e0ef5a98b45b56db1aeb70d894eecc360d33
parentb4a56b0339ff1eea904e1b8d3f89507552529d3b
Fixes Issue #20262 for CoreCLR 5.0 (#25926) (#25988)

Disassembler:  ildasm/dasm.cpp

 In the CoreCLR with reference assemblies and redirection it is more difficult to determine if
 a particular Assembly is the System assembly, like mscorlib.dll is for the Desktop CLR.
 In the CoreCLR runtimes, the System assembly can be System.Private.CoreLib.dll, System.Runtime.dll
 or netstandard.dll and in the future a different Assembly name could be used.
 We now determine the identity of the System assembly by querying if the Assembly defines the
 well known type System.Object as that type must be defined by the System assembly
 If this type is defined then we will output the ".mscorlib" directive to indicate that this
 assembly is the System assembly.

Assembler:  ilasm/assembler.cpp

 In Assembler:GetBaseAsmRef() add a check for System.Private.CoreLib as the System or Base assembly.
src/ilasm/assembler.cpp
src/ildasm/dasm.cpp