From 189cba817e7a9a650b9f25a4feac66f40e02e3f2 Mon Sep 17 00:00:00 2001 From: nickysn Date: Wed, 30 May 2018 13:52:34 +0000 Subject: [PATCH] + added method TOmfSubRecord_THREAD.ApplyTo, which applies the data in the current thread subrecord to a TOmfThreads object git-svn-id: trunk@39148 - --- compiler/omfbase.pas | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/compiler/omfbase.pas b/compiler/omfbase.pas index 58f255987c..f47990276a 100644 --- a/compiler/omfbase.pas +++ b/compiler/omfbase.pas @@ -616,6 +616,8 @@ interface function ReadAt(RawRecord: TOmfRawRecord; Offset: Integer): Integer; function WriteAt(RawRecord: TOmfRawRecord; Offset: Integer): Integer; + procedure ApplyTo(AThreads: TOmfThreads); + property ThreadNumber: TOmfFixupThread read FThreadNumber write FThreadNumber; property ThreadType: TOmfThreadType read FThreadType write FThreadType; property TargetMethod: TOmfFixupTargetMethod read FTargetMethod write FTargetMethod; @@ -2376,6 +2378,26 @@ implementation Result:=Offset; end; + procedure TOmfSubRecord_THREAD.ApplyTo(AThreads: TOmfThreads); + begin + case ThreadType of + ttFrame: + begin + AThreads.FrameThread[ThreadNumber].Datum:=Datum; + AThreads.FrameThread[ThreadNumber].FrameMethod:=FrameMethod; + AThreads.FrameThread[ThreadNumber].Initialized:=True; + end; + ttTarget: + begin + AThreads.TargetThread[ThreadNumber].Datum:=Datum; + AThreads.TargetThread[ThreadNumber].TargetMethod:=TargetMethod; + AThreads.TargetThread[ThreadNumber].Initialized:=True; + end; + else + internalerror(2018053001); + end; + end; + { TOmfSubRecord_FIXUP } function TOmfSubRecord_FIXUP.GetDataRecordOffset: Integer;