summaryrefslogtreecommitdiff
path: root/compiler/ogbase.pas
diff options
context:
space:
mode:
authorsergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-03-28 10:44:09 +0000
committersergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2>2013-03-28 10:44:09 +0000
commitb142ee6fe8c258d5efc8302475fd641360693355 (patch)
tree0b30aae796d7eb0379de541d37eeab6ce1e2bfaa /compiler/ogbase.pas
parent2b3dcae2bc2a0a407e0bf1a58b4bed55612863fa (diff)
downloadfpc-b142ee6fe8c258d5efc8302475fd641360693355.tar.gz
* Made address comparison 64-bit safe.
* Referencing a section is basically referencing its AT_SECTION symbol, fixed reporting in map file. git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@24029 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/ogbase.pas')
-rw-r--r--compiler/ogbase.pas9
1 files changed, 7 insertions, 2 deletions
diff --git a/compiler/ogbase.pas b/compiler/ogbase.pas
index bb226fb567..242a884403 100644
--- a/compiler/ogbase.pas
+++ b/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