From 1e1016775ef6d6d979f5959b1c3d5d320fcff4d4 Mon Sep 17 00:00:00 2001 From: Marek Safar Date: Mon, 13 Feb 2017 12:35:38 +0100 Subject: [PATCH] Cecil update --- external/cecil | 2 +- mcs/class/Makefile | 10 ++++++++-- mcs/tools/cil-stringreplacer/Makefile | 4 ++++ .../cil-stringreplacer/cil-stringreplacer.cs | 17 +++++------------ .../mono-symbolicate.exe.sources | 9 +-------- 5 files changed, 19 insertions(+), 23 deletions(-) diff --git a/external/cecil b/external/cecil index f7733aca622..cb70cbe67af 160000 --- a/external/cecil +++ b/external/cecil @@ -1 +1 @@ -Subproject commit f7733aca6228f21cb06a0e4ebd58ca973643c4a6 +Subproject commit cb70cbe67af98fcae2a35c97f86a6bbf04d05aa8 diff --git a/mcs/class/Makefile b/mcs/class/Makefile index a7ed8bb8144..fa9e99d722d 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -2,6 +2,12 @@ thisdir = class pcl_facade_dirs := Facades +-include ../build/config.make + +ifdef MCS_MODE +MCS_MODE_dirs := Mono.Cecil.Mdb +endif + # The minimal set of csc dependencies basic_SUBDIRS := \ corlib \ @@ -14,6 +20,7 @@ basic_SUBDIRS := \ System.Xml.Linq \ System.Runtime.InteropServices.RuntimeInformation \ Mono.Cecil \ + $(MCS_MODE_dirs) \ ../tools/cil-stringreplacer # resgen is corlib specific so we need to wait until corlib is build @@ -33,12 +40,11 @@ build_SUBDIRS := \ System.Runtime.InteropServices.RuntimeInformation \ System.IO.Compression \ Mono.Cecil \ + $(MCS_MODE_dirs) \ Mono.CompilerServices.SymbolWriter \ PEAPI \ ../tools/cil-stringreplacer --include ../build/config.make - ifdef MCS_MODE basic_PARALLEL_SUBDIRS := ../mcs build_PARALLEL_SUBDIRS := ../mcs diff --git a/mcs/tools/cil-stringreplacer/Makefile b/mcs/tools/cil-stringreplacer/Makefile index a6708e2d371..aad8dad1b09 100644 --- a/mcs/tools/cil-stringreplacer/Makefile +++ b/mcs/tools/cil-stringreplacer/Makefile @@ -7,4 +7,8 @@ NO_INSTALL = yes LIB_REFS = System Mono.Cecil +ifdef MCS_MODE +LIB_REFS += Mono.Cecil.Mdb +endif + include ../../build/executable.make diff --git a/mcs/tools/cil-stringreplacer/cil-stringreplacer.cs b/mcs/tools/cil-stringreplacer/cil-stringreplacer.cs index 81da9380e8a..3226b3911d9 100644 --- a/mcs/tools/cil-stringreplacer/cil-stringreplacer.cs +++ b/mcs/tools/cil-stringreplacer/cil-stringreplacer.cs @@ -100,17 +100,12 @@ public class Program static void RewriteAssembly (string assemblyLocation, Dictionary resourcesStrings, CmdOptions options) { - var debugSymbols = Path.ChangeExtension (assemblyLocation, "pdb"); - var useDebugSymbols = File.Exists (debugSymbols); - var readerParameters = new ReaderParameters { + ReadSymbols = true, ReadWrite = true, + SymbolReaderProvider = new DefaultSymbolReaderProvider (false) }; - if (useDebugSymbols) { - readerParameters.SymbolReaderProvider = new PortablePdbReaderProvider (); - } - using (var assembly = AssemblyDefinition.ReadAssembly (assemblyLocation, readerParameters)) { foreach (var module in assembly.Modules) { foreach (var type in module.GetTypes ()) { @@ -135,11 +130,9 @@ public class Program } } - var writerParameters = new WriterParameters (); - - if (useDebugSymbols) { - writerParameters.SymbolWriterProvider = new PortablePdbWriterProvider (); - } + var writerParameters = new WriterParameters () { + WriteSymbols = assembly.MainModule.HasSymbols + }; assembly.Write (writerParameters); } diff --git a/mcs/tools/mono-symbolicate/mono-symbolicate.exe.sources b/mcs/tools/mono-symbolicate/mono-symbolicate.exe.sources index da336168f90..8e08e43950d 100644 --- a/mcs/tools/mono-symbolicate/mono-symbolicate.exe.sources +++ b/mcs/tools/mono-symbolicate/mono-symbolicate.exe.sources @@ -100,11 +100,4 @@ Logger.cs ../../../external/cecil/symbols/mdb/Mono.Cecil.Mdb/MdbWriter.cs ../../../external/cecil/symbols/mdb/Mono.CompilerServices.SymbolWriter/*.cs ../../../external/cecil/symbols/pdb/Microsoft.Cci.Pdb/*.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/ISymUnmanagedDocumentWriter.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/ISymUnmanagedWriter2.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/ModuleMetadata.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/PdbHelper.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/PdbReader.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/PdbWriter.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/SymDocumentWriter.cs -../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/SymWriter.cs +../../../external/cecil/symbols/pdb/Mono.Cecil.Pdb/*.cs -- 2.25.1