xamarin-macios/tools/linker
Alex Soto 070c271def
[Linker] Remove bundled mscorlib.xml descriptor from mmp and mtouch (#3772)
* [Linker] Remove bundled mscorlib.xml descriptor from mmp and mtouch

This fixes xamarin/xamarin-macios#3749

We currently process both mscorlib.xml descriptors[1] from the mtouch/mmp
bundle and also the one contained in mscorlib.dll as resource, we are now removing
the descriptor bundled inside mtouch and mmp in favour of the one bundled in
mscorlib.dll.

Source descriptors files for diff:

mono (master): ea4274f2eb/mcs/class/corlib/LinkerDescriptor/mscorlib.xml
XI (master): da6db5f660/tools/linker/Descriptors/mscorlib.xml
XM (master): da6db5f660/tools/mmp/linker/Descriptors/mscorlib.xml

Diffs:

Mono - XI descriptor diff: https://gist.github.com/dalexsoto/f0b1c9c66bf50edf8198063ec039a17b
Mono - XM descriptor diff: https://gist.github.com/dalexsoto/06b253a6743d366a4b9addc21a1e2c2a

[1]: https://github.com/xamarin/xamarin-macios/issues/3749#issuecomment-373770268

Also Removed mscorlib.xml files and removed unused var in makefiles
2018-05-30 17:14:49 -05:00
..
MonoTouch.Tuner [linker] Take extra care to avoid 32/64 bits specific mscorlib.dll (#3532) 2018-02-19 19:16:17 -05:00
ApplyPreserveAttribute.cs [linker] Remove static state, and put the state inside DerivedLinkContext instead. (#1657) 2017-02-10 07:45:42 +01:00
BaseProfile.cs Build mmp. 2016-04-24 14:47:26 -04:00
ChangeLog Build mmp. 2016-04-24 14:47:26 -04:00
CoreHttpMessageHandler.cs PMCS Removal (#3197) 2018-02-05 10:26:29 -05:00
CoreMarkStep.cs [static registrar] Optimize creation of delegates for blocks. (#3623) 2018-03-02 14:30:18 +01:00
CoreOptimizeGeneratedCode.cs [ObjCRuntime] BlockLiteral.GetBlockForDelegate must be optimizable because it calls Runtime.DynamicRegistrationSupported. 2018-02-15 15:58:02 +01:00
CorePreserveCode.cs Build mmp. 2016-04-24 14:47:26 -04:00
CoreRemoveAttributes.cs [mtouch/mmp] Register complete protocol information in the static registrar, and link away unneeded metadata/code. 2018-02-12 14:46:01 +01:00
CoreRemoveSecurity.cs Build mmp. 2016-04-24 14:47:26 -04:00
CoreSweepStep.cs [linker] Find linked away interfaces when resolving removed interfaces. Fixes #3513. (#3515) 2018-02-19 11:36:38 +01:00
CoreTypeMapStep.cs [mtouch] Propagate the computed value for removal of the dynamic registrar to code shared app extensions. (#3622) 2018-03-01 14:59:54 +01:00
ExceptionalSubStep.cs [linker] Remove static state, and put the state inside DerivedLinkContext instead. (#1657) 2017-02-10 07:45:42 +01:00
MarkNSObjects.cs [linker] Remove static state, and put the state inside DerivedLinkContext instead. (#1657) 2017-02-10 07:45:42 +01:00
MobileExtensions.cs [static registrar] Optimize creation of delegates for blocks. (#3623) 2018-03-02 14:30:18 +01:00
MobileMarkStep.cs [linker] Mark all TypeConverter if TypeDescriptor is used. Fixes #3372 (#3396) 2018-02-05 21:19:46 -05:00
MobileProfile.cs [runtime] integrate mono 2018-02 (#3402) 2018-04-25 13:56:37 -04:00
MobileRemoveAttributes.cs Build mmp. 2016-04-24 14:47:26 -04:00
MobileResolveMainAssemblyStep.cs Bump to mono:2017-12 (#3421) 2018-02-14 11:08:01 -05:00
MobileSweepStep.cs Merge pull request #3462 from rolfbjarne/optimized-protocol-support 2018-02-14 17:47:31 +01:00
ObjCExtensions.cs [linker] Improve inlining of IsDirectBinding check to inline both true and false values. (#3214) 2018-01-15 12:28:34 +01:00
README.linker Build mmp. 2016-04-24 14:47:26 -04:00
RemoveSelectors.cs [macos][mmp] Fix RemoveSelectors when generics are used, Fix #55693 (#2104) 2017-05-18 08:45:23 -04:00
RemoveUserResourcesSubStep.cs [mtouch][mmp] Unify user resources removal as a link step (#1026) 2016-11-01 13:11:25 -04:00

README.linker

README.linker

Q: Why some stuff is not linked out ?

A: In most case this is because:
	a) the BCL uses it internally
	b) the mono runtime depends on the type, methods, class layout


= mscorlib.dll =

System.Security.PermissionSet
	* Assembly has (3) fields of that type
	* mscorlib.xml preserve all fields from Assembly (object-internals.h)
	* code is "stubified" by the linker
System.Security.Policy.ApplicationTrust: 
	* Used as a field in AppDomainSetup;
	* Field also exists in unmanaged code (domain-internals.h);
	* mscorlib.xml preserve all fields from AppDomainSetup
	* only the default .ctor remains and is stubified by the linker
System.Security.Policy.Evidence
	* Used by AppDomain.Load[Assembly]
	* Used by Assembly.LoadWithPartialName overloads
	* code is "stubified" by the linker


= System.dll =

System.Text.RegularExpressions.*
	* Included because there is 2 regex in UriParser