mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-01 22:50:18 +02:00
* fixed MemBasePos calculation for segments that go beyond the previous segment base
git-svn-id: trunk@31421 -
This commit is contained in:
parent
2c05bcc28f
commit
2467cb34c2
@ -2104,13 +2104,9 @@ implementation
|
||||
for i:=0 to ExeUnifiedLogicalSegments.Count-1 do
|
||||
begin
|
||||
UniSeg:=TMZExeUnifiedLogicalSegment(ExeUnifiedLogicalSegments[i]);
|
||||
if (UniSeg.PrimaryGroup<>'') or (UniSeg.IsStack) then
|
||||
lastbase:=(UniSeg.MemPos shr 4) shl 4
|
||||
else
|
||||
begin
|
||||
while ((UniSeg.MemPos+UniSeg.Size-1)-lastbase)>$ffff do
|
||||
Inc(lastbase,$10000);
|
||||
end;
|
||||
if (UniSeg.PrimaryGroup<>'') or (UniSeg.IsStack) or
|
||||
(((UniSeg.MemPos+UniSeg.Size-1)-lastbase)>$ffff) then
|
||||
lastbase:=(UniSeg.MemPos shr 4) shl 4;
|
||||
UniSeg.MemBasePos:=lastbase;
|
||||
end;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user