+ pass the ParmCount parameter from the ExpDef OMF record to the NewExe entry

point

git-svn-id: trunk@42641 -
This commit is contained in:
nickysn 2019-08-10 12:42:28 +00:00
parent d772890e1f
commit d69cf3a440

View File

@ -584,11 +584,13 @@ interface
FFlags: TNewExeEntryPointFlags; FFlags: TNewExeEntryPointFlags;
FSegment: Byte; FSegment: Byte;
FOffset: Word; FOffset: Word;
FParmCount: Integer;
function GetFlagsByte: Byte; function GetFlagsByte: Byte;
public public
property Flags: TNewExeEntryPointFlags read FFlags write FFlags; property Flags: TNewExeEntryPointFlags read FFlags write FFlags;
property Segment: Byte read FSegment write FSegment; property Segment: Byte read FSegment write FSegment;
property Offset: Word read FOffset write FOffset; property Offset: Word read FOffset write FOffset;
property ParmCount: Integer read FParmCount write FParmCount;
property FlagsByte: Byte read GetFlagsByte; property FlagsByte: Byte read GetFlagsByte;
end; end;
@ -3996,7 +3998,7 @@ cleanup:
function TNewExeEntryPoint.GetFlagsByte: Byte; function TNewExeEntryPoint.GetFlagsByte: Byte;
begin begin
Result:=0; Result:=Byte(ParmCount shl 3);
if neepfExported in Flags then if neepfExported in Flags then
Result:=Result or 1; Result:=Result or 1;
if neepfSingleData in Flags then if neepfSingleData in Flags then
@ -4469,6 +4471,7 @@ cleanup:
ent.Segment:=sec.MemBasePos; ent.Segment:=sec.MemBasePos;
if nesfMovable in sec.NewExeSegmentFlags then if nesfMovable in sec.NewExeSegmentFlags then
ent.Flags:=ent.Flags+[neepfMovableSegment]; ent.Flags:=ent.Flags+[neepfMovableSegment];
ent.ParmCount:=sym.ParmCount;
end; end;
end; end;
end; end;