[commit: ghc] : Fix #4867, ghci displays negative floats incorrectly (a914a22)
Simon Marlow
marlowsd at gmail.com
Wed Mar 2 16:46:02 CET 2011
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch :
http://hackage.haskell.org/trac/ghc/changeset/a914a2249f13e36695060084465e97c2174ab71d
>---------------------------------------------------------------
commit a914a2249f13e36695060084465e97c2174ab71d
Author: gwright at antiope.com <unknown>
Date: Wed Feb 9 22:24:23 2011 +0000
Fix #4867, ghci displays negative floats incorrectly
This patch fixes the erroneous relocations that caused
the bug in ticket #4867. External addresses and global
offset table entries were relocated correctly, but all other
relocations were incorrectly calculated. This caused, for
example, bad references to constants stored in the __const
section of the __TEXT segment.
This bug only affected OS X on 64-bit platforms.
>---------------------------------------------------------------
rts/Linker.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/rts/Linker.c b/rts/Linker.c
index 70aae3b..ee7a9c9 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -4690,9 +4690,7 @@ static int relocateSection(
}
else
{
- value = sections[reloc->r_symbolnum-1].offset
- - sections[reloc->r_symbolnum-1].addr
- + (uint64_t) image;
+ value = relocateAddress(oc, nSections, sections, reloc->r_address);
}
IF_DEBUG(linker, debugBelch("relocateSection: value = %p\n", (void *)value));
More information about the Cvs-ghc
mailing list