From: wolfgang Date: Mon, 27 Sep 2004 17:43:47 +0000 (+0000) Subject: [project @ 2004-09-27 17:43:47 by wolfgang] X-Git-Tag: Initial_conversion_from_CVS_complete~1574 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=b4639cb249f2f904eb78271d0bdedbd90ceb7216 [project @ 2004-09-27 17:43:47 by wolfgang] Mac OS X: Fix an incorrect ASSERT Merge to STABLE --- diff --git a/ghc/rts/Linker.c b/ghc/rts/Linker.c index 891cf13..7924913 100644 --- a/ghc/rts/Linker.c +++ b/ghc/rts/Linker.c @@ -3492,7 +3492,7 @@ static int relocateSection( else if(reloc->r_type == PPC_RELOC_BR24) { word = *wordPtr; - word = (word & 0x03FFFFFC) | (word & 0x02000000) ? 0xFC000000 : 0; + word = (word & 0x03FFFFFC) | ((word & 0x02000000) ? 0xFC000000 : 0); } @@ -3518,7 +3518,9 @@ static int relocateSection( if(reloc->r_pcrel) { - ASSERT(word == 0); + // In the .o file, this should be a relative jump to NULL + // and we'll change it to a jump to a relative jump to the symbol + ASSERT(-word == reloc->r_address); word = symbolAddress; jumpIsland = makeJumpIsland(oc,reloc->r_symbolnum,word); word -= ((long)image) + sect->offset + reloc->r_address;