add PIC relocations for x86_64, and use a simpler hack in place of x86_64_high_symbol()
authorSimon Marlow <simonmar@microsoft.com>
Thu, 18 Oct 2007 12:52:20 +0000 (12:52 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Thu, 18 Oct 2007 12:52:20 +0000 (12:52 +0000)
commit2fc88e736892981b8b2b46661ac11f14dc351bc8
tree20b7f56a38a53b43066327bc57df8405b870d998
parent8a95a7ebce828828aba12c1dbb7bad067e3535e9
add PIC relocations for x86_64, and use a simpler hack in place of x86_64_high_symbol()
This is Wolfgang Thaller's patch sent to cvs-ghc recently, with extra
commentary by me.  It turns out that this patch is not just a cleanup,
it is also necessary for GHCi to work on x86_64 with shared libraries,
because previously lookupSymbol() was creating jump-table entries for
all symbols looked up that resolved outside 2Gb, whereas Wolfgang's
version only generates jump-table entries for 32-bit symbol references
in object code that we load.
rts/Linker.c