diff options
author | sergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-03-28 10:44:09 +0000 |
---|---|---|
committer | sergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2013-03-28 10:44:09 +0000 |
commit | b142ee6fe8c258d5efc8302475fd641360693355 (patch) | |
tree | 0b30aae796d7eb0379de541d37eeab6ce1e2bfaa /compiler/ogbase.pas | |
parent | 2b3dcae2bc2a0a407e0bf1a58b4bed55612863fa (diff) | |
download | fpc-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.pas | 9 |
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 |