X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FLinker.c;h=2a45aac757a89cf7a70e657b39ea77f6365540e6;hb=b5a358ee5582b139e2499d873c696eb27742f028;hp=ee7a9c9e38778e075e86cfd522706b2008196d2b;hpb=a914a2249f13e36695060084465e97c2174ab71d;p=ghc-hetmet.git diff --git a/rts/Linker.c b/rts/Linker.c index ee7a9c9..2a45aac 100644 --- a/rts/Linker.c +++ b/rts/Linker.c @@ -4690,7 +4690,12 @@ static int relocateSection( } else { - value = relocateAddress(oc, nSections, sections, reloc->r_address); + // If the relocation is not through the global offset table + // or external, then set the value to the baseValue. This + // will leave displacements into the __const section + // unchanged (as they ought to be). + + value = baseValue; } IF_DEBUG(linker, debugBelch("relocateSection: value = %p\n", (void *)value));