Browse Source

+ adapted TOmfObjSymbol.AddressStr to show correct segment:offset for NewExe files as well

git-svn-id: trunk@42567 -
nickysn 6 years ago
parent
commit
2c176be2fd
1 changed files with 9 additions and 4 deletions
  1. 9 4
      compiler/ogomf.pas

+ 9 - 4
compiler/ogomf.pas

@@ -598,11 +598,16 @@ implementation
       var
         base: qword;
       begin
-        if assigned(TOmfObjSection(objsection).MZExeUnifiedLogicalSegment) then
-          base:=TOmfObjSection(objsection).MZExeUnifiedLogicalSegment.MemBasePos
+        if assigned(objsection.ExeSection) and (objsection.ExeSection is TNewExeSection) then
+          Result:=HexStr(TNewExeSection(objsection.ExeSection).MemBasePos,4)+':'+HexStr(address,4)
         else
-          base:=(address shr 4) shl 4;
-        Result:=HexStr(base shr 4,4)+':'+HexStr(address-base,4);
+          begin
+            if assigned(TOmfObjSection(objsection).MZExeUnifiedLogicalSegment) then
+              base:=TOmfObjSection(objsection).MZExeUnifiedLogicalSegment.MemBasePos
+            else
+              base:=(address shr 4) shl 4;
+            Result:=HexStr(base shr 4,4)+':'+HexStr(address-base,4);
+          end;
       end;
 
 {****************************************************************************