xamarin-macios/tools/linker
Rolf Bjarne Kvinge 77b8b61639
[tools] Make sure to finish the P/Invoke generator output before running the static registrar. Fixes #15190. (#15214)
Otherwise the P/Invoke generator leaves partial results in the static
registrar class, essentially saying things like "we've processed CoreMidi, no
need to add an #include for this framework", and then we'd generate the static
registrar code and that code would lack the #include for CoreMidi.

Finishing the P/Invoke generator output will clear out any state stored in the
static registrar.

Also fix a few other issues to make the generated P/Invoke wrapper code work,
and add a test.

Fixes https://github.com/xamarin/xamarin-macios/issues/15190.
2022-06-09 07:38:45 +02:00
..
MonoTouch.Tuner [tools] Make sure to finish the P/Invoke generator output before running the static registrar. Fixes #15190. (#15214) 2022-06-09 07:38:45 +02:00
ApplyPreserveAttribute.cs Fixes for .NET 6 linker (#11739) 2021-06-14 20:10:29 -04:00
BaseProfile.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
ChangeLog Build mmp. 2016-04-24 14:47:26 -04:00
CoreHttpMessageHandler.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
CoreMarkStep.cs [linker] Fix infinite queue found with nullability PR (#8337) 2020-04-10 10:59:01 -04:00
CoreOptimizeGeneratedCode.cs [tools] Remove XAMCORE_4_0 condition in linker source. (#14091) 2022-02-08 10:38:49 +01:00
CorePreserveCode.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
CoreRemoveAttributes.cs [linker] Always create the [Core]RemoveAttributes steps, and instead detect if it should be active using the LinkContext field. 2020-05-07 15:51:38 +02:00
CoreRemoveSecurity.cs [linker] Always create the CoreRemoveSecurity step, and instead detect if it should be active using the LinkContext field. 2020-05-07 15:51:38 +02:00
CoreSweepStep.cs [linker] Find linked away interfaces when resolving removed interfaces. Fixes #3513. (#3515) (#3524) 2018-02-19 15:24:40 +01:00
CoreTypeMapStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
CustomSymbolWriter.cs [mtouch] Use a custom symbol writer to ensure only pdb file names are written to assemblies. 2019-02-13 14:59:34 +01:00
ExceptionalSubStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
MarkNSObjects.cs [linker] Preserve the NativeHandle constructor now. 2021-11-26 14:25:21 +01:00
MobileApplyPreserveAttribute.cs [dotnet-linker] Add ApplyPreserveAttribute into the pipeline. (#9529) 2020-08-27 18:30:19 +02:00
MobileExtensions.cs [tools] Remove XAMCORE_4_0 condition in linker source. (#14091) 2022-02-08 10:38:49 +01:00
MobileMarkStep.cs [linker] Remove code to deal with ExportedTypes (#8632) 2020-05-21 08:44:48 -04:00
MobileProfile.cs [mtouch] Make 'MonoTouch.Dialog-1' and 'MonoTouch.NUnitLite' SDK assemblies, not product assemblies. Fixes #12862. (#12919) 2021-10-04 19:14:34 +02:00
MobileRemoveAttributes.cs [linker] Remove internal [NullablePublicOnly] attribute from apps (#8568) 2020-05-11 19:39:43 -04:00
MobileResolveMainAssemblyStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
MobileSweepStep.cs [linker] Remove code to deal with ExportedTypes (#8632) 2020-05-21 08:44:48 -04:00
ObjCExtensions.cs Add MetalPerformanceShadersGraph Bindings (#14303) 2022-05-10 10:52:22 +02:00
README.linker Build mmp. 2016-04-24 14:47:26 -04:00
RegistrarRemovalTrackingStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
RemoveRejectedTypesStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
RemoveSelectors.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
RemoveUserResourcesSubStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02:00
ScanTypeReferenceStep.cs Fix some whitespace issues in various files. (#12399) 2021-08-11 10:06:46 +02: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