mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-03 14:58:34 +02:00
* 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:
parent
cf8c5d2540
commit
188e9ff64a
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user