diff options
author | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-06-14 23:06:58 +0000 |
---|---|---|
committer | nickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2019-06-14 23:06:58 +0000 |
commit | 2e882b787d2ca90e7d053fc89a9afce4f07d95f7 (patch) | |
tree | 77ab519935469ad9a15ef4fd3a714528d090367d | |
parent | 9cb5bd46a323da79290737ce5784ff42742819de (diff) | |
download | fpc-2e882b787d2ca90e7d053fc89a9afce4f07d95f7.tar.gz |
+ dispatch the IMPDEF and EXPDEF records to the newly introduced ReadImpDef and
ReadExpDef methods (not implemented yet)
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@42232 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | compiler/ogomf.pas | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/compiler/ogomf.pas b/compiler/ogomf.pas index cff3595382..93aeb5721f 100644 --- a/compiler/ogomf.pas +++ b/compiler/ogomf.pas @@ -167,6 +167,8 @@ interface function ReadPubDef(RawRec: TOmfRawRecord; objdata:TObjData): Boolean; function ReadModEnd(RawRec: TOmfRawRecord; objdata:TObjData): Boolean; function ReadLeOrLiDataAndFixups(RawRec: TOmfRawRecord; objdata:TObjData): Boolean; + function ReadImpDef(Rec: TOmfRecord_COMENT): Boolean; + function ReadExpDef(Rec: TOmfRecord_COMENT): Boolean; function ImportOmfFixup(objdata: TObjData; objsec: TOmfObjSection; Fixup: TOmfSubRecord_FIXUP): Boolean; property LNames: TOmfOrderedNameCollection read FLNames; @@ -1841,6 +1843,18 @@ implementation Result:=True; end; + function TOmfObjInput.ReadImpDef(Rec: TOmfRecord_COMENT): Boolean; + begin + {todo: implement} + Result:=True; + end; + + function TOmfObjInput.ReadExpDef(Rec: TOmfRecord_COMENT): Boolean; + begin + {todo: implement} + Result:=True; + end; + function TOmfObjInput.ImportOmfFixup(objdata: TObjData; objsec: TOmfObjSection; Fixup: TOmfSubRecord_FIXUP): Boolean; var reloc: TOmfRelocation; @@ -2222,7 +2236,17 @@ implementation case FCOMENTRecord.CommentClass of CC_OmfExtension: begin - {todo: handle these as well...} + if Length(FCOMENTRecord.CommentString)>=1 then + begin + case Ord(FCOMENTRecord.CommentString[1]) of + CC_OmfExtension_IMPDEF: + if not ReadImpDef(FCOMENTRecord) then + exit; + CC_OmfExtension_EXPDEF: + if not ReadExpDef(FCOMENTRecord) then + exit; + end; + end; end; CC_LIBMOD: begin |