mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 06:09:22 +02:00
+ also write the nonresident name table
git-svn-id: trunk@42630 -
This commit is contained in:
parent
d1d2f6b701
commit
7bb6b525b1
@ -670,6 +670,7 @@ interface
|
|||||||
FCurrExeMetaSec: TNewExeMetaSection;
|
FCurrExeMetaSec: TNewExeMetaSection;
|
||||||
FResourceTable: TNewExeResourceTable;
|
FResourceTable: TNewExeResourceTable;
|
||||||
FResidentNameTable: TNewExeExportNameTable;
|
FResidentNameTable: TNewExeExportNameTable;
|
||||||
|
FNonresidentNameTable: TNewExeExportNameTable;
|
||||||
FModuleReferenceTable: TNewExeModuleReferenceTable;
|
FModuleReferenceTable: TNewExeModuleReferenceTable;
|
||||||
FImportedNameTable: TNewExeImportedNameTable;
|
FImportedNameTable: TNewExeImportedNameTable;
|
||||||
FEntryTable: TNewExeEntryTable;
|
FEntryTable: TNewExeEntryTable;
|
||||||
@ -685,6 +686,7 @@ interface
|
|||||||
property CurrExeMetaSec: TNewExeMetaSection read FCurrExeMetaSec write FCurrExeMetaSec;
|
property CurrExeMetaSec: TNewExeMetaSection read FCurrExeMetaSec write FCurrExeMetaSec;
|
||||||
property ResourceTable: TNewExeResourceTable read FResourceTable;
|
property ResourceTable: TNewExeResourceTable read FResourceTable;
|
||||||
property ResidentNameTable: TNewExeExportNameTable read FResidentNameTable;
|
property ResidentNameTable: TNewExeExportNameTable read FResidentNameTable;
|
||||||
|
property NonresidentNameTable: TNewExeExportNameTable read FNonresidentNameTable;
|
||||||
property ModuleReferenceTable: TNewExeModuleReferenceTable read FModuleReferenceTable;
|
property ModuleReferenceTable: TNewExeModuleReferenceTable read FModuleReferenceTable;
|
||||||
property ImportedNameTable: TNewExeImportedNameTable read FImportedNameTable;
|
property ImportedNameTable: TNewExeImportedNameTable read FImportedNameTable;
|
||||||
property EntryTable: TNewExeEntryTable read FEntryTable;
|
property EntryTable: TNewExeEntryTable read FEntryTable;
|
||||||
@ -4322,6 +4324,8 @@ cleanup:
|
|||||||
Header.ImportedNameTableStart:=Header.ModuleReferenceTableStart+ModuleReferenceTable.Size;
|
Header.ImportedNameTableStart:=Header.ModuleReferenceTableStart+ModuleReferenceTable.Size;
|
||||||
Header.EntryTableOffset:=Header.ImportedNameTableStart+ImportedNameTable.Size;
|
Header.EntryTableOffset:=Header.ImportedNameTableStart+ImportedNameTable.Size;
|
||||||
Header.EntryTableLength:=EntryTable.Size;
|
Header.EntryTableLength:=EntryTable.Size;
|
||||||
|
Header.NonresidentNameTableStart:=Header.EntryTableOffset+Header.EntryTableLength+Length(Header.MsDosStub);
|
||||||
|
Header.NonresidentNameTableLength:=NonresidentNameTable.Size;
|
||||||
|
|
||||||
Header.WriteTo(FWriter);
|
Header.WriteTo(FWriter);
|
||||||
|
|
||||||
@ -4333,6 +4337,7 @@ cleanup:
|
|||||||
ModuleReferenceTable.WriteTo(FWriter,ImportedNameTable);
|
ModuleReferenceTable.WriteTo(FWriter,ImportedNameTable);
|
||||||
ImportedNameTable.WriteTo(FWriter);
|
ImportedNameTable.WriteTo(FWriter);
|
||||||
EntryTable.WriteTo(FWriter);
|
EntryTable.WriteTo(FWriter);
|
||||||
|
NonresidentNameTable.WriteTo(FWriter);
|
||||||
|
|
||||||
{ todo: write the rest of the file as well }
|
{ todo: write the rest of the file as well }
|
||||||
|
|
||||||
@ -4494,6 +4499,7 @@ cleanup:
|
|||||||
CurrExeMetaSec:=nemsNone;
|
CurrExeMetaSec:=nemsNone;
|
||||||
FResourceTable:=TNewExeResourceTable.Create;
|
FResourceTable:=TNewExeResourceTable.Create;
|
||||||
FResidentNameTable:=TNewExeExportNameTable.Create;
|
FResidentNameTable:=TNewExeExportNameTable.Create;
|
||||||
|
FNonresidentNameTable:=TNewExeExportNameTable.Create;
|
||||||
FModuleReferenceTable:=TNewExeModuleReferenceTable.Create;
|
FModuleReferenceTable:=TNewExeModuleReferenceTable.Create;
|
||||||
FImportedNameTable:=TNewExeImportedNameTable.Create;
|
FImportedNameTable:=TNewExeImportedNameTable.Create;
|
||||||
FEntryTable:=TNewExeEntryTable.Create;
|
FEntryTable:=TNewExeEntryTable.Create;
|
||||||
@ -4504,6 +4510,7 @@ cleanup:
|
|||||||
FEntryTable.Free;
|
FEntryTable.Free;
|
||||||
FImportedNameTable.Free;
|
FImportedNameTable.Free;
|
||||||
FModuleReferenceTable.Free;
|
FModuleReferenceTable.Free;
|
||||||
|
FNonresidentNameTable.Free;
|
||||||
FResidentNameTable.Free;
|
FResidentNameTable.Free;
|
||||||
FResourceTable.Free;
|
FResourceTable.Free;
|
||||||
FHeader.Free;
|
FHeader.Free;
|
||||||
|
Loading…
Reference in New Issue
Block a user