瀏覽代碼

* the code for displaying a symbol address in the linker map file moved to a
method in TObjSymbol

git-svn-id: trunk@31411 -

nickysn 10 年之前
父節點
當前提交
ba1c494cd6
共有 2 個文件被更改,包括 9 次插入1 次删除
  1. 8 0
      compiler/ogbase.pas
  2. 1 1
      compiler/ogmap.pas

+ 8 - 0
compiler/ogbase.pas

@@ -192,6 +192,8 @@ interface
        function  address:aword;
        procedure SetAddress(apass:byte;aobjsec:TObjSection;abind:TAsmsymbind;atyp:Tasmsymtype);
        function  ObjData: TObjData;
+       { string representation for the linker map file }
+       function  AddressStr(AImageBase: qword): string;
      end;
 
      { Stabs is common for all targets }
@@ -749,6 +751,12 @@ implementation
         result:=(OwnerList as TObjSymbolList).Owner;
       end;
 
+
+    function TObjSymbol.AddressStr(AImageBase: qword): string;
+      begin
+        Result:='0x'+HexStr(address+Aimagebase,sizeof(pint)*2);
+      end;
+
 {****************************************************************************
                               TObjRelocation
 ****************************************************************************}

+ 1 - 1
compiler/ogmap.pas

@@ -190,7 +190,7 @@ implementation
      procedure TExeMap.AddMemoryMapSymbol(p:TObjSymbol);
        begin
          {                 0x00001e30                setup_screens }
-         Add(Space(16)+PadSpace('0x'+HexStr(p.address+Fimagebase,sizeof(pint)*2),25)+' '+p.name);
+         Add(Space(16)+PadSpace(p.AddressStr(FImageBase),25)+' '+p.name);
        end;
 
 end.