* only read the first OMF record in TOmfLibObjectWriter.closefile, since we no

longer copy the entire file there, so we parse the file only to get the module
  name, and the THEADR record should always be the first record in the OMF file.

git-svn-id: trunk@39198 -
This commit is contained in:
nickysn 2018-06-08 14:21:18 +00:00
parent cf8c5d2540
commit 188e9ff64a

View File

@ -227,17 +227,17 @@ implementation
begin
FCurrentModule.ObjData.seek(0);
RawRec:=TOmfRawRecord.Create;
repeat
RawRec.ReadFrom(FCurrentModule.ObjData);
if RawRec.RecordType=RT_THEADR then
begin
ObjHeader:=TOmfRecord_THEADR.Create;
ObjHeader.DecodeFrom(RawRec);
{ create a dictionary entry with the module name }
TOmfLibDictionaryEntry.Create(FDictionary,ModName2DictEntry(ObjHeader.ModuleName),FCurrentModuleIndex);
ObjHeader.Free;
end;
until RawRec.RecordType in [RT_MODEND,RT_MODEND32];
RawRec.ReadFrom(FCurrentModule.ObjData);
if RawRec.RecordType<>RT_THEADR then
begin
RawRec.Free;
InternalError(2018060801);
end;
ObjHeader:=TOmfRecord_THEADR.Create;
ObjHeader.DecodeFrom(RawRec);
{ create a dictionary entry with the module name }
TOmfLibDictionaryEntry.Create(FDictionary,ModName2DictEntry(ObjHeader.ModuleName),FCurrentModuleIndex);
ObjHeader.Free;
RawRec.Free;
fobjsize:=0;
end;