diff options
author | jfrijters <jfrijters> | 2015-08-27 15:15:44 +0300 |
---|---|---|
committer | jfrijters <jfrijters> | 2015-08-27 15:15:44 +0300 |
commit | d6b00edf218008ecd8cfe90bc66b9b607431428f (patch) | |
tree | 4daba3cdc49a2d997a712dd08f2d7addbc410464 | |
parent | 9d164ede04a8fb08a709f878a14d57ca4834095f (diff) |
Use uint for file position to support >2GB files. Note that PE spec says that 2GB is the maximum valid size.
-rw-r--r-- | reflect/Emit/ModuleBuilder.cs | 2 | ||||
-rw-r--r-- | reflect/Writer/Heaps.cs | 4 | ||||
-rw-r--r-- | reflect/Writer/MetadataWriter.cs | 4 | ||||
-rw-r--r-- | reflect/Writer/ModuleWriter.cs | 2 | ||||
-rw-r--r-- | reflect/Writer/TextSection.cs | 2 |
5 files changed, 7 insertions, 7 deletions
diff --git a/reflect/Emit/ModuleBuilder.cs b/reflect/Emit/ModuleBuilder.cs index 8ceea42c..571f8e24 100644 --- a/reflect/Emit/ModuleBuilder.cs +++ b/reflect/Emit/ModuleBuilder.cs @@ -1133,7 +1133,7 @@ namespace IKVM.Reflection.Emit } } - internal void WriteMetadata(MetadataWriter mw, out int guidHeapOffset) + internal void WriteMetadata(MetadataWriter mw, out uint guidHeapOffset) { mw.Write(0x424A5342); // Signature ("BSJB") mw.Write((ushort)1); // MajorVersion diff --git a/reflect/Writer/Heaps.cs b/reflect/Writer/Heaps.cs index 54beaa4a..9da3903e 100644 --- a/reflect/Writer/Heaps.cs +++ b/reflect/Writer/Heaps.cs @@ -36,7 +36,7 @@ namespace IKVM.Reflection.Writer internal void Write(MetadataWriter mw) { - int pos = mw.Position; + uint pos = mw.Position; WriteImpl(mw); Debug.Assert(mw.Position == pos + unalignedlength); int align = Length - unalignedlength; @@ -136,7 +136,7 @@ namespace IKVM.Reflection.Writer { if (table != null && table.RowCount > 0) { - int pos = mw.Position; + uint pos = mw.Position; table.Write(mw); Debug.Assert(mw.Position - pos == table.GetLength(mw)); } diff --git a/reflect/Writer/MetadataWriter.cs b/reflect/Writer/MetadataWriter.cs index 9f20571a..11a6d19c 100644 --- a/reflect/Writer/MetadataWriter.cs +++ b/reflect/Writer/MetadataWriter.cs @@ -48,9 +48,9 @@ namespace IKVM.Reflection.Writer get { return moduleBuilder; } } - internal int Position + internal uint Position { - get { return (int)stream.Position; } + get { return (uint)stream.Position; } } internal void Write(ByteBuffer bb) diff --git a/reflect/Writer/ModuleWriter.cs b/reflect/Writer/ModuleWriter.cs index 7ef9c6d6..1e880d58 100644 --- a/reflect/Writer/ModuleWriter.cs +++ b/reflect/Writer/ModuleWriter.cs @@ -313,7 +313,7 @@ namespace IKVM.Reflection.Writer } stream.Seek(text.PointerToRawData, SeekOrigin.Begin); - int guidHeapOffset; + uint guidHeapOffset; code.Write(mw, sdata.VirtualAddress, out guidHeapOffset); if (sdata.SizeOfRawData != 0) diff --git a/reflect/Writer/TextSection.cs b/reflect/Writer/TextSection.cs index fceedcf6..e71e8acd 100644 --- a/reflect/Writer/TextSection.cs +++ b/reflect/Writer/TextSection.cs @@ -275,7 +275,7 @@ namespace IKVM.Reflection.Writer } } - internal void Write(MetadataWriter mw, uint sdataRVA, out int guidHeapOffset) + internal void Write(MetadataWriter mw, uint sdataRVA, out uint guidHeapOffset) { // Now that we're ready to start writing, we need to do some fix ups moduleBuilder.TypeRef.Fixup(moduleBuilder); |