summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-06-14 23:06:58 +0000
committernickysn <nickysn@3ad0048d-3df7-0310-abae-a5850022a9f2>2019-06-14 23:06:58 +0000
commit2e882b787d2ca90e7d053fc89a9afce4f07d95f7 (patch)
tree77ab519935469ad9a15ef4fd3a714528d090367d
parent9cb5bd46a323da79290737ce5784ff42742819de (diff)
downloadfpc-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.pas26
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