Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/cecil.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJb Evain <jbevain@gmail.com>2017-02-21 19:34:51 +0300
committerGitHub <noreply@github.com>2017-02-21 19:34:51 +0300
commitbda6b506c84afc23ebf13687f1adbf1464e27499 (patch)
treed3208639708ca0366ae2e965873126335b83a6cb
parent7f2ea29930f3d7ea771411eff4a23c9f7c18c272 (diff)
parent2c43e7d803d818b9d3824755b62d8891a1126f39 (diff)
Merge pull request #333 from rolfbjarne/preserve-pe-timestamps
Preserve PE timestamps.
-rw-r--r--Mono.Cecil.PE/Image.cs1
-rw-r--r--Mono.Cecil.PE/ImageReader.cs3
-rw-r--r--Mono.Cecil/AssemblyWriter.cs2
-rw-r--r--Mono.Cecil/ModuleDefinition.cs2
4 files changed, 6 insertions, 2 deletions
diff --git a/Mono.Cecil.PE/Image.cs b/Mono.Cecil.PE/Image.cs
index 1ff06d7..b618053 100644
--- a/Mono.Cecil.PE/Image.cs
+++ b/Mono.Cecil.PE/Image.cs
@@ -33,6 +33,7 @@ namespace Mono.Cecil.PE {
public Section MetadataSection;
public uint EntryPointToken;
+ public uint TimeStamp;
public ModuleAttributes Attributes;
public DataDirectory Debug;
diff --git a/Mono.Cecil.PE/ImageReader.cs b/Mono.Cecil.PE/ImageReader.cs
index fc6b4fc..6115f37 100644
--- a/Mono.Cecil.PE/ImageReader.cs
+++ b/Mono.Cecil.PE/ImageReader.cs
@@ -70,10 +70,11 @@ namespace Mono.Cecil.PE {
ushort sections = ReadUInt16 ();
// TimeDateStamp 4
+ image.TimeStamp = ReadUInt32 ();
// PointerToSymbolTable 4
// NumberOfSymbols 4
// OptionalHeaderSize 2
- Advance (14);
+ Advance (10);
// Characteristics 2
ushort characteristics = ReadUInt16 ();
diff --git a/Mono.Cecil/AssemblyWriter.cs b/Mono.Cecil/AssemblyWriter.cs
index 742f0a5..ea0e665 100644
--- a/Mono.Cecil/AssemblyWriter.cs
+++ b/Mono.Cecil/AssemblyWriter.cs
@@ -866,7 +866,7 @@ namespace Mono.Cecil {
this.module = module;
this.text_map = CreateTextMap ();
this.fq_name = fq_name;
- this.time_stamp = (uint) DateTime.UtcNow.Subtract (new DateTime (1970, 1, 1)).TotalSeconds;
+ this.time_stamp = module.timestamp;
this.symbol_writer_provider = symbol_writer_provider;
if (symbol_writer == null && module.HasImage && module.Image.HasDebugTables ()) {
diff --git a/Mono.Cecil/ModuleDefinition.cs b/Mono.Cecil/ModuleDefinition.cs
index 79bbf3c..10d4716 100644
--- a/Mono.Cecil/ModuleDefinition.cs
+++ b/Mono.Cecil/ModuleDefinition.cs
@@ -260,6 +260,7 @@ namespace Mono.Cecil {
ModuleAttributes attributes;
ModuleCharacteristics characteristics;
Guid mvid;
+ internal uint timestamp;
internal AssemblyDefinition assembly;
MethodDefinition entry_point;
@@ -568,6 +569,7 @@ namespace Mono.Cecil {
this.attributes = image.Attributes;
this.characteristics = image.Characteristics;
this.file_name = image.FileName;
+ this.timestamp = image.TimeStamp;
this.reader = new MetadataReader (this);
}