+ added a getter for the NewExeSegmentFlags property, that returns the

nesfHasRelocationData flag according to whether the Relocations list is
  non-empty

git-svn-id: trunk@42746 -
This commit is contained in:
nickysn 2019-08-20 13:49:43 +00:00
parent 36b7842eb6
commit 94e22f1262

View File

@ -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);