You've already forked linux-packaging-mono
Imported Upstream version 4.8.0.309
Former-commit-id: 5f9c6ae75f295e057a7d2971f3a6df4656fa8850
This commit is contained in:
parent
ee1447783b
commit
94b2861243
@@ -55,6 +55,11 @@
|
||||
<type fullname="System.Diagnostics.StackFrame" />
|
||||
<type fullname="System.Diagnostics.StackTrace" />
|
||||
<type fullname="System.DivideByZeroException" />
|
||||
<!-- debugger-agent.c: create_event_list -->
|
||||
<type fullname="System.Diagnostics.DebuggerNonUserCodeAttribute"/>
|
||||
<type fullname="System.Diagnostics.DebuggerHiddenAttribute"/>
|
||||
<type fullname="System.Diagnostics.DebuggerStepThroughAttribute"/>
|
||||
|
||||
<type fullname="System.DllNotFoundException" />
|
||||
<type fullname="System.Double" preserve="fields" />
|
||||
<type fullname="System.Enum" preserve="fields">
|
||||
@@ -111,8 +116,18 @@
|
||||
<type fullname="System.String" preserve="fields">
|
||||
<method name="CreateString" />
|
||||
<method name="InternalAllocateStr" />
|
||||
<method name="FastAllocateString" />
|
||||
<method name="memcpy" />
|
||||
<method name="memset" />
|
||||
<method name="bzero" />
|
||||
<method name="bzero_aligned_1" />
|
||||
<method name="bzero_aligned_2" />
|
||||
<method name="bzero_aligned_4" />
|
||||
<method name="bzero_aligned_8" />
|
||||
<method name="memcpy_aligned_1" />
|
||||
<method name="memcpy_aligned_2" />
|
||||
<method name="memcpy_aligned_4" />
|
||||
<method name="memcpy_aligned_8" />
|
||||
</type>
|
||||
<type fullname="System.SystemException" />
|
||||
<type fullname="System.Type" preserve="fields">
|
||||
@@ -130,7 +145,9 @@
|
||||
<type fullname="System.Variant" preserve="fields" feature="com">
|
||||
<method name="Clear" />
|
||||
</type>
|
||||
<type fullname="System.Version" />
|
||||
<type fullname="System.Version">
|
||||
<method signature="System.Void .ctor(System.Int32,System.Int32,System.Int32,System.Int32)" />
|
||||
</type>
|
||||
<type fullname="System.Void" />
|
||||
<type fullname="System.__ComObject" feature="com" />
|
||||
|
||||
@@ -177,7 +194,9 @@
|
||||
</type>
|
||||
<type fullname="System.Reflection.AssemblyName" preserve="fields" />
|
||||
<type fullname="System.Reflection.ConstructorInfo" preserve="fields" />
|
||||
<type fullname="System.Reflection.CustomAttributeData" preserve="fields" />
|
||||
<type fullname="System.Reflection.CustomAttributeData" preserve="fields">
|
||||
<method signature="System.Void .ctor(System.Reflection.ConstructorInfo,System.Reflection.Assembly,System.IntPtr,System.UInt32)" />
|
||||
</type>
|
||||
<type fullname="System.Reflection.CustomAttributeNamedArgument" preserve="fields" />
|
||||
<type fullname="System.Reflection.CustomAttributeTypedArgument" preserve="fields" />
|
||||
<type fullname="System.Reflection.EventInfo" preserve="fields">
|
||||
@@ -210,6 +229,9 @@
|
||||
<method name="StaticGetterAdapterFrame" />
|
||||
</type>
|
||||
<type fullname="System.Reflection.ParameterInfo" preserve="fields" />
|
||||
<!-- reflection.c: ves_icall_get_parameter_info -->
|
||||
<type fullname="System.Reflection.MonoParameterInfo" preserve="fields" />
|
||||
|
||||
<type fullname="System.Reflection.PropertyInfo" preserve="fields" />
|
||||
<type fullname="System.Reflection.ReflectionTypeLoadException" />
|
||||
<type fullname="System.Reflection.TargetException" />
|
||||
@@ -262,6 +284,9 @@
|
||||
-->
|
||||
|
||||
<type fullname="System.Runtime.CompilerServices.InternalsVisibleToAttribute" />
|
||||
<type fullname="System.Runtime.CompilerServices.RuntimeWrappedException">
|
||||
<method signature="System.Void .ctor(System.Object)" />
|
||||
</type>
|
||||
<!-- <type fullname="System.Runtime.CompilerServices.RequiredAttributeAttribute" />
|
||||
<type fullname="System.Runtime.CompilerServices.RuntimeHelpers" />
|
||||
<type fullname="System.Runtime.CompilerServices.TypeForwardedToAttribute" /> -->
|
||||
@@ -290,12 +315,17 @@
|
||||
<type fullname="System.Runtime.Remoting.Messaging.CallContext">
|
||||
<method name="SetCurrentCallContext" />
|
||||
</type>
|
||||
<type fullname="System.Runtime.Remoting.Messaging.MonoMethodMessage" preserve="fields" />
|
||||
<type fullname="System.Runtime.Remoting.Messaging.MonoMethodMessage" preserve="fields">
|
||||
<method name="InitMessage" />
|
||||
</type>
|
||||
<type fullname="System.Runtime.Remoting.Proxies.RealProxy" preserve="fields">
|
||||
<method name="PrivateInvoke" />
|
||||
<method name="GetAppDomainTarget" />
|
||||
</type>
|
||||
<type fullname="System.Runtime.Remoting.Proxies.TransparentProxy" preserve="fields" />
|
||||
<type fullname="System.Runtime.Remoting.Proxies.TransparentProxy" preserve="fields">
|
||||
<method name="LoadRemoteFieldNew" />
|
||||
<method name="StoreRemoteField" />
|
||||
</type>
|
||||
<type fullname="System.Runtime.Remoting.RemotingServices">
|
||||
<method name="SerializeCallData" />
|
||||
<method name="DeserializeCallData" />
|
||||
@@ -317,6 +347,7 @@
|
||||
<type fullname="System.Threading.Monitor">
|
||||
<method name="Enter" />
|
||||
<method name="Exit" />
|
||||
<method name="enter_with_atomic_var" />
|
||||
</type>
|
||||
|
||||
<!--
|
||||
@@ -338,6 +369,9 @@
|
||||
<type fullname="System.Threading.WaitHandle" preserve="fields">
|
||||
<method name="set_Handle" />
|
||||
</type>
|
||||
<type fullname="System.Threading._ThreadPoolWaitCallback">
|
||||
<method name="PerformWaitCallback"/>
|
||||
</type>
|
||||
|
||||
<type fullname="System.Text.StringBuilder" preserve="fields" />
|
||||
|
||||
@@ -361,7 +395,12 @@
|
||||
|
||||
<type fullname="Mono.Interop.ComInteropProxy" feature="com" />
|
||||
<type fullname="Mono.Interop.IDispatch" feature="com" />
|
||||
<type fullname="Mono.Interop.IUnknown" feature="com" />
|
||||
<type fullname="Mono.Interop.IUnknown" feature="com"/>
|
||||
|
||||
<!-- by convention (and see #34671) -->
|
||||
<type fullname="Mono.Runtime" />
|
||||
|
||||
<type fullname="Mono.RuntimeStructs/HandleStackMark" />
|
||||
<type fullname="Mono.RuntimeStructs/MonoError" />
|
||||
</assembly>
|
||||
</linker>
|
||||
|
@@ -69,29 +69,27 @@ namespace Mono.Linker.Steps {
|
||||
protected virtual void InitializeAssembly (AssemblyDefinition assembly)
|
||||
{
|
||||
MarkAssembly (assembly);
|
||||
foreach (TypeDefinition type in assembly.MainModule.Types) {
|
||||
if (!Annotations.IsMarked (type))
|
||||
continue;
|
||||
|
||||
foreach (TypeDefinition type in assembly.MainModule.Types)
|
||||
InitializeType (type);
|
||||
}
|
||||
}
|
||||
|
||||
void InitializeType (TypeDefinition type)
|
||||
{
|
||||
if (type.HasNestedTypes) {
|
||||
foreach (var nested in type.NestedTypes)
|
||||
InitializeType (nested);
|
||||
}
|
||||
|
||||
if (!Annotations.IsMarked (type))
|
||||
return;
|
||||
|
||||
MarkType (type);
|
||||
|
||||
if (type.HasFields)
|
||||
InitializeFields (type);
|
||||
if (type.HasMethods)
|
||||
InitializeMethods (type.Methods);
|
||||
|
||||
if (type.HasNestedTypes) {
|
||||
foreach (var nested in type.NestedTypes) {
|
||||
if (Annotations.IsMarked (nested))
|
||||
InitializeType (nested);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InitializeFields (TypeDefinition type)
|
||||
@@ -520,8 +518,8 @@ namespace Mono.Linker.Steps {
|
||||
MarkFields (type, type.IsEnum);
|
||||
|
||||
if (type.HasInterfaces) {
|
||||
foreach (TypeReference iface in type.Interfaces)
|
||||
MarkType (iface);
|
||||
foreach (var iface in type.Interfaces)
|
||||
MarkType (iface.InterfaceType);
|
||||
}
|
||||
|
||||
if (type.HasMethods) {
|
||||
|
@@ -129,7 +129,7 @@ namespace Mono.Linker.Steps {
|
||||
|
||||
static FileInfo GetOriginalAssemblyFileInfo (AssemblyDefinition assembly)
|
||||
{
|
||||
return new FileInfo (assembly.MainModule.FullyQualifiedName);
|
||||
return new FileInfo (assembly.MainModule.FileName);
|
||||
}
|
||||
|
||||
static void CopyAssembly (FileInfo fi, string directory, bool symbols)
|
||||
|
@@ -174,6 +174,14 @@ namespace Mono.Linker.Steps {
|
||||
|
||||
Annotations.Mark (type);
|
||||
|
||||
if (type.IsNested) {
|
||||
var parent = type;
|
||||
while (parent.IsNested) {
|
||||
parent = parent.DeclaringType;
|
||||
Annotations.Mark (parent);
|
||||
}
|
||||
}
|
||||
|
||||
switch (preserve) {
|
||||
case TypePreserve.Nothing:
|
||||
if (!nav.HasChildren)
|
||||
|
@@ -152,7 +152,7 @@ namespace Mono.Linker.Steps {
|
||||
// at this stage reference might include things that can't be resolved
|
||||
// and if it is (resolved) it needs to be kept only if marked (#16213)
|
||||
if ((td != null) && Annotations.IsMarked (td)) {
|
||||
scope = assembly.MainModule.Import (td).Scope;
|
||||
scope = assembly.MainModule.ImportReference (td).Scope;
|
||||
if (tr.Scope != scope)
|
||||
changes = true;
|
||||
hash.Add (tr, scope);
|
||||
@@ -163,7 +163,7 @@ namespace Mono.Linker.Steps {
|
||||
var td = et.Resolve ();
|
||||
IMetadataScope scope = et.Scope;
|
||||
if ((td != null) && Annotations.IsMarked (td)) {
|
||||
scope = assembly.MainModule.Import (td).Scope;
|
||||
scope = assembly.MainModule.ImportReference (td).Scope;
|
||||
hash.Add (td, scope);
|
||||
}
|
||||
}
|
||||
|
@@ -59,8 +59,8 @@ namespace Mono.Linker.Steps {
|
||||
if (!type.HasInterfaces)
|
||||
return;
|
||||
|
||||
foreach (TypeReference @interface in type.Interfaces) {
|
||||
var iface = @interface.Resolve ();
|
||||
foreach (var @interface in type.Interfaces) {
|
||||
var iface = @interface.InterfaceType.Resolve ();
|
||||
if (iface == null || !iface.HasMethods)
|
||||
continue;
|
||||
|
||||
@@ -160,8 +160,8 @@ namespace Mono.Linker.Steps {
|
||||
if (!type.HasInterfaces)
|
||||
yield break;
|
||||
|
||||
foreach (TypeReference interface_ref in type.Interfaces) {
|
||||
TypeDefinition @interface = interface_ref.Resolve ();
|
||||
foreach (var interface_ref in type.Interfaces) {
|
||||
TypeDefinition @interface = interface_ref.InterfaceType.Resolve ();
|
||||
if (@interface == null)
|
||||
continue;
|
||||
|
||||
|
@@ -65,7 +65,7 @@ namespace Mono.Linker {
|
||||
public void CacheAssembly (AssemblyDefinition assembly)
|
||||
{
|
||||
_assemblies [assembly.Name.Name] = assembly;
|
||||
base.AddSearchDirectory (Path.GetDirectoryName (assembly.MainModule.FullyQualifiedName));
|
||||
base.AddSearchDirectory (Path.GetDirectoryName (assembly.MainModule.FileName));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -178,7 +178,7 @@ namespace Mono.Linker {
|
||||
if (_symbolReaderProvider != null) {
|
||||
var symbolReader = _symbolReaderProvider.GetSymbolReader (
|
||||
assembly.MainModule,
|
||||
assembly.MainModule.FullyQualifiedName);
|
||||
assembly.MainModule.FileName);
|
||||
|
||||
_annotations.AddSymbolReader (assembly, symbolReader);
|
||||
assembly.MainModule.ReadSymbols (symbolReader);
|
||||
|
Reference in New Issue
Block a user