diff --git a/compiler/ogomf.pas b/compiler/ogomf.pas index 784c9090b5..753dd893e6 100644 --- a/compiler/ogomf.pas +++ b/compiler/ogomf.pas @@ -725,6 +725,7 @@ interface FSizeInFile: QWord; FRelocations: TNewExeRelocationList; function GetMinAllocSize: QWord; + function GetNewExeSegmentFlags: TNewExeSegmentFlags; public constructor create(AList:TFPHashObjectList;const AName:string);override; destructor destroy;override; @@ -740,7 +741,7 @@ interface property DataPosSectors: Word read FDataPosSectors write FDataPosSectors; property MinAllocSize: QWord read GetMinAllocSize; property SizeInFile: QWord read FSizeInFile write FSizeInFile; - property NewExeSegmentFlags: TNewExeSegmentFlags read FNewExeSegmentFlags write FNewExeSegmentFlags; + property NewExeSegmentFlags: TNewExeSegmentFlags read GetNewExeSegmentFlags write FNewExeSegmentFlags; property Relocations: TNewExeRelocationList read FRelocations; end; @@ -4361,6 +4362,15 @@ cleanup: Result:=Size-StackSize; end; + function TNewExeSection.GetNewExeSegmentFlags: TNewExeSegmentFlags; + begin + Result:=FNewExeSegmentFlags; + if Relocations.Count>0 then + Include(Result,nesfHasRelocationData) + else + Exclude(Result,nesfHasRelocationData); + end; + constructor TNewExeSection.create(AList:TFPHashObjectList;const AName:string); begin inherited create(AList, AName);