Browse Source

* Made address comparison 64-bit safe.
* Referencing a section is basically referencing its AT_SECTION symbol, fixed reporting in map file.

git-svn-id: trunk@24029 -

sergei 12 years ago
parent
commit
1d32b107f5
1 changed files with 7 additions and 2 deletions
  1. 7 2
      compiler/ogbase.pas

+ 7 - 2
compiler/ogbase.pas

@@ -2596,7 +2596,12 @@ implementation
         sym1:TObjSymbol absolute item1;
         sym2:TObjSymbol absolute item2;
       begin
-        result:=sym1.address-sym2.address;
+        if sym1.address>sym2.address then
+          result:=1
+        else if sym1.address<sym2.address then
+          result:=-1
+        else
+          result:=0;
       end;
 
 
@@ -3023,7 +3028,7 @@ implementation
           if assigned(exemap) then
             begin
               objsym:=objreloc.symbol;
-              if assigned(objsym) then
+              if assigned(objsym) and (objsym.typ<>AT_SECTION) then
                 exemap.Add('  References  '+objsym.name+' in '
                   +refobjsec.fullname)
               else