mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 14:49:11 +02:00
+ pass the ParmCount parameter from the ExpDef OMF record to the NewExe entry
point git-svn-id: trunk@42641 -
This commit is contained in:
parent
d772890e1f
commit
d69cf3a440
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user