Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@@ -49,8 +49,10 @@ net_4_5_dirs := \
mono-symbolicate \
linker-analyzer
build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr linker
build_SUBDIRS = resgen gacutil security culevel cil-stringreplacer commoncryptogenerator resx2sr linker cil-strip
monodroid_tools_SUBDIRS = cil-strip linker-analyzer mkbundle mdoc mono-symbolicate
monodroid_SUBDIRS = nunit-lite
monotouch_SUBDIRS = nunit-lite
net_4_5_SUBDIRS = gacutil
net_4_x_SUBDIRS = gacutil
net_4_5_PARALLEL_SUBDIRS = $(net_4_5_dirs)

View File

@@ -40,6 +40,7 @@ public class Program
public bool ShowHelp { get; set; }
public bool Verbose { get; set; }
public List<string> ResourcesStrings { get; }
public string ILFile { get; set; }
public CmdOptions ()
{
@@ -54,10 +55,12 @@ public class Program
var p = new OptionSet () {
{ "r|resourcestrings=", "File with string resource in key=value format",
v => options.ResourcesStrings.Add (v) },
{ "h|help", "Display available options",
{ "h|help", "Display available options",
v => options.ShowHelp = v != null },
{ "v|verbose", "Use verbose output",
v => options.Verbose = v != null },
{ "v|verbose", "Use verbose output",
v => options.Verbose = v != null },
{ "ilreplace=", "File with IL code to be used instead",
v => options.ILFile = v },
};
List<string> extra;
@@ -100,6 +103,24 @@ public class Program
static void RewriteAssembly (string assemblyLocation, Dictionary<string, string> resourcesStrings, CmdOptions options)
{
var methods = new Dictionary<string, MethodBody> (StringComparer.Ordinal);
if (options.ILFile != null) {
var rp = new ReaderParameters {
InMemory = true
};
using (var module = ModuleDefinition.ReadModule (options.ILFile,rp)) {
foreach (var type in module.GetTypes ()) {
foreach (var method in type.Methods) {
if (!method.HasBody)
continue;
methods.Add (method.FullName, method.Body);
}
}
}
}
var readerParameters = new ReaderParameters {
ReadSymbols = true,
ReadWrite = true,
@@ -113,6 +134,33 @@ public class Program
if (!method.HasBody)
continue;
MethodBody newBody;
if (methods.TryGetValue (method.FullName, out newBody)) {
var mbody = method.Body;
mbody.Instructions.Clear ();
foreach (var instr in newBody.Instructions) {
switch (instr.OpCode.OperandType) {
case OperandType.InlineType:
var tr = (TypeReference)instr.Operand;
foreach (var t in method.GenericParameters) {
if (tr.FullName == t.FullName) {
instr.Operand = t;
break;
}
}
break;
}
mbody.Instructions.Add (instr);
}
method.Body.Variables.Clear ();
foreach (var variable in newBody.Variables) {
mbody.Variables.Add (variable);
}
}
foreach (var instr in method.Body.Instructions) {
if (instr.OpCode != OpCodes.Ldstr)
continue;

View File

@@ -39,14 +39,14 @@ namespace LinkerAnalyzer.Core
{
Console.WriteLine ("Loading dependency tree from: {0}", filename);
using (var fileStream = File.OpenRead (filename))
using (var zipStream = new GZipStream (fileStream, CompressionMode.Decompress)) {
try {
try {
using (var fileStream = File.OpenRead (filename))
using (var zipStream = new GZipStream (fileStream, CompressionMode.Decompress)) {
Load (zipStream);
} catch (Exception) {
Console.WriteLine ("Unable to open and read the dependecies.");
Environment.Exit (1);
}
} catch (Exception) {
Console.WriteLine ("Unable to open and read the dependecies.");
Environment.Exit (1);
}
}

View File

@@ -1,33 +1,36 @@
../../../external/linker/linker/Mono.Linker/Pipeline.cs
../../../external/linker/linker/Mono.Linker/AssemblyInfo.cs
../../../external/linker/linker/Mono.Linker/AssemblyResolver.cs
../../../external/linker/linker/Mono.Linker/TypePreserve.cs
../../../external/linker/linker/Mono.Linker/TypeReferenceExtensions.cs
../../../external/linker/linker/Mono.Linker/Annotations.cs
../../../external/linker/linker/Mono.Linker/LinkContext.cs
../../../external/linker/linker/Mono.Linker/AssemblyAction.cs
../../../external/linker/linker/Mono.Linker/Driver.cs
../../../external/linker/linker/Mono.Linker/I18nAssemblies.cs
../../../external/linker/linker/Mono.Linker/ILogger.cs
../../../external/linker/linker/Mono.Linker/ConsoleLogger.cs
../../../external/linker/linker/Mono.Linker/MethodAction.cs
../../../external/linker/linker/Mono.Linker/XApiReader.cs
../../../external/linker/linker/Mono.Linker/IXApiVisitor.cs
../../../external/linker/linker/Mono.Linker/LoadException.cs
../../../external/linker/linker/Mono.Linker/MarkException.cs
../../../external/linker/linker/Mono.Linker/MethodReferenceExtensions.cs
../../../external/linker/linker/Mono.Linker.Steps/BaseStep.cs
../../../external/linker/linker/Mono.Linker.Steps/LoadReferencesStep.cs
../../../external/linker/linker/Mono.Linker.Steps/LoadI18nAssemblies.cs
../../../external/linker/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
../../../external/linker/linker/Mono.Linker.Steps/SweepStep.cs
../../../external/linker/linker/Mono.Linker.Steps/RegenerateGuidStep.cs
../../../external/linker/linker/Mono.Linker.Steps/ResolveFromXApiStep.cs
../../../external/linker/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs
../../../external/linker/linker/Mono.Linker.Steps/ResolveStep.cs
../../../external/linker/linker/Mono.Linker.Steps/CleanStep.cs
../../../external/linker/linker/Mono.Linker.Steps/MarkStep.cs
../../../external/linker/linker/Mono.Linker.Steps/BlacklistStep.cs
../../../external/linker/linker/Mono.Linker.Steps/OutputStep.cs
../../../external/linker/linker/Mono.Linker.Steps/TypeMapStep.cs
../../../external/linker/linker/Mono.Linker.Steps/IStep.cs
../../../external/linker/linker/Linker/Pipeline.cs
../../../external/linker/linker/Linker/AssemblyInfo.cs
../../../external/linker/linker/Linker/AssemblyResolver.cs
../../../external/linker/linker/Linker/TypePreserve.cs
../../../external/linker/linker/Linker/TypeReferenceExtensions.cs
../../../external/linker/linker/Linker/Annotations.cs
../../../external/linker/linker/Linker/LinkContext.cs
../../../external/linker/linker/Linker/AssemblyAction.cs
../../../external/linker/linker/Linker/Driver.cs
../../../external/linker/linker/Linker/I18nAssemblies.cs
../../../external/linker/linker/Linker/ILogger.cs
../../../external/linker/linker/Linker/ConsoleLogger.cs
../../../external/linker/linker/Linker/MethodAction.cs
../../../external/linker/linker/Linker/XApiReader.cs
../../../external/linker/linker/Linker/IXApiVisitor.cs
../../../external/linker/linker/Linker/LoadException.cs
../../../external/linker/linker/Linker/MarkException.cs
../../../external/linker/linker/Linker/MethodReferenceExtensions.cs
../../../external/linker/linker/Linker/MarkingHelpers.cs
../../../external/linker/linker/Linker/Tracer.cs
../../../external/linker/linker/Linker.Steps/BaseStep.cs
../../../external/linker/linker/Linker.Steps/LoadReferencesStep.cs
../../../external/linker/linker/Linker.Steps/LoadI18nAssemblies.cs
../../../external/linker/linker/Linker.Steps/ResolveFromXmlStep.cs
../../../external/linker/linker/Linker.Steps/SweepStep.cs
../../../external/linker/linker/Linker.Steps/RegenerateGuidStep.cs
../../../external/linker/linker/Linker.Steps/ResolveFromXApiStep.cs
../../../external/linker/linker/Linker.Steps/ResolveFromAssemblyStep.cs
../../../external/linker/linker/Linker.Steps/ResolveStep.cs
../../../external/linker/linker/Linker.Steps/CleanStep.cs
../../../external/linker/linker/Linker.Steps/MarkStep.cs
../../../external/linker/linker/Linker.Steps/BlacklistStep.cs
../../../external/linker/linker/Linker.Steps/OutputStep.cs
../../../external/linker/linker/Linker.Steps/TypeMapStep.cs
../../../external/linker/linker/Linker.Steps/IStep.cs
../../../external/linker/linker/Linker.Steps/AddBypassNGenStep.cs

View File

@@ -10,6 +10,7 @@
X11_MODE=%X11_MODE%
MWF_MODE=%MWF_MODE%
COCOASHARP_MODE=%COCOASHARP_MODE%
MONO_ARGS=%MONO_ARGS%
PWD=`pwd`
# Fetch the path relative to the launch point where this shell script exists.
@@ -33,19 +34,24 @@ fi
cd "$APP_PATH/Contents/Resources"
mono4_path=/usr/local/bin/mono
mono5_path=/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono
if [ "$X11_MODE" -eq "1" ]; then
open-x11 "$APP_NAME"
# rcruzs00
# El Capitan FIX: `which` wont work (system-integrity-protection)
# elif: Keep compatibility with previous code
elif [ -f /usr/local/bin/mono ]; then
elif [ -f "$mono4_path" ]; then
DIR=$(cd "$(dirname "$0")"; pwd)
/usr/local/bin/mono $DIR/../Resources/"$ASSEMBLY"
"$mono4_path" $MONO_ARGS $DIR/../Resources/"$ASSEMBLY"
elif [ -f "$mono5_path" ]; then
DIR=$(cd "$(dirname "$0")"; pwd)
"$mono5_path" $MONO_ARGS $DIR/../Resources/"$ASSEMBLY"
else
if [ ! -d "./bin" ]; then mkdir bin ; fi
if [ -f "./bin/$APP_NAME" ]; then rm -f "./bin/$APP_NAME" ; fi
ln -s `which mono` "./bin/$APP_NAME"
"./bin/$APP_NAME" "$ASSEMBLY"
"./bin/$APP_NAME" $MONO_ARGS "$ASSEMBLY"
fi

View File

@@ -112,23 +112,33 @@ namespace Mac {
script = script.Replace ("%MWF_MODE%", "0");
script = script.Replace ("%COCOASHARP_MODE%", "0");
script = script.Replace ("%X11_MODE%", "0");
script = script.Replace ("%MONO_ARGS%", "");
break;
case 1:
script = script.Replace ("%MWF_MODE%", "1");
script = script.Replace ("%COCOASHARP_MODE%", "0");
script = script.Replace ("%X11_MODE%", "0");
// no WinForms support in 64-bit Mono - pass --arch=32 to the mono executable
// see XplatUICarbon.Initialize():
// WARNING: The Carbon driver has not been ported to 64bits, and very few parts
// of Windows.Forms will work properly, or at all
script = script.Replace ("%MONO_ARGS%", "--arch=32");
break;
case 2:
script = script.Replace ("%MWF_MODE%", "0");
script = script.Replace ("%COCOASHARP_MODE%", "1");
script = script.Replace ("%X11_MODE%", "0");
script = script.Replace ("%MONO_ARGS%", "");
break;
case 3:
script = script.Replace ("%MWF_MODE%", "0");
script = script.Replace ("%COCOASHARP_MODE%", "0");
script = script.Replace ("%X11_MODE%", "1");
script = script.Replace ("%MONO_ARGS%", "");
break;
}
data = Encoding.ASCII.GetBytes (script);
writer.Write (data, 0, data.Length);
writer.Close ();

File diff suppressed because it is too large Load Diff

View File

@@ -2,4 +2,6 @@ void mono_mkbundle_init ()
{
install_dll_config_files ();
mono_register_bundled_assemblies(bundled);
install_aot_modules ();
}

View File

@@ -13,7 +13,13 @@ for f in $source_files ; do
'
for f in `cat $f` ; do
case $f in
\#*) ;;
\#*) ;;
*)
# some lines in .sources may contain quick syntax to exclude files i.e.:
# ../dir/*.cs:File1.cs,File2.cs (include everything except File1.cs and File2.cs)
# let's drop that ":files" suffix
for line in `echo $f | cut -d \: -f 1` ; do
echo $line
done
esac
done

View File

@@ -14,7 +14,7 @@ include ../../build/executable.make
#run-test-local: run-sqlsharp-test
run-sqlsharp-test: $(PROGRAM)
$(TEST_RUNTIME) $(PROGRAM) -A $(PROGRAM) $(ARGS)
$(TEST_RUNTIME) $(TEST_RUNTIME_FLAGS) $(PROGRAM) -A $(PROGRAM) $(ARGS)
run: $(PROGRAM)
$(RUNTIME) $(RUNTIME_FLAGS) $(PROGRAM) $(ARGS)

View File

@@ -1903,4 +1903,3 @@ namespace Mono.Data.SqlSharp {
}
}
}

View File

@@ -79,6 +79,8 @@ install-frameworks:
$(INSTALL_DATA) frameworks/net_4.6.2.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.6.2/RedistList/FrameworkList.xml
$(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList
$(INSTALL_DATA) frameworks/net_4.7.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7/RedistList/FrameworkList.xml
$(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7.1/RedistList
$(INSTALL_DATA) frameworks/net_4.7.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.7.1/RedistList/FrameworkList.xml
install-pcl-targets:
$(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)
@@ -187,6 +189,7 @@ EXTRA_DISTFILES = \
frameworks/net_4.6.1.xml \
frameworks/net_4.6.2.xml \
frameworks/net_4.7.xml \
frameworks/net_4.7.1.xml \
targets/Microsoft.WebApplication.targets \
$(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportBefore.props \
$(NUGET_BUILDTASKS_REPO_DIR)/src/Microsoft.NuGet.Build.Tasks/ImportBeforeAfter/Microsoft.NuGet.ImportAfter.targets \

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<FileList Name=".NET Framework 4.7.1" TargetFrameworkDirectory="..\..\..\..\4.7.1-api">
</FileList>