#4034: GHC 6.12.2 fails to build on PowerPC / MacOS X Leopard
------------------------+---------------------------------------------------
Reporter: PHO | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 6.12.2 | Keywords:
Os: MacOS X | Testcase:
Architecture: powerpc | Failure: Building GHC failed
------------------------+---------------------------------------------------
Comment(by PHO):
Here is the assembly code that caused a SegFault:
{{{
0x012a42c4 <s1ht_info+0>: lis r31,298
0x012a42c8 <s1ht_info+4>: addi r31,r31,16880
0x012a42cc <s1ht_info+8>: stw r31,0(r22)
0x012a42d0 <s1ht_info+12>: andi. r31,r14,3
0x012a42d4 <s1ht_info+16>: cmpwi r31,0
0x012a42d8 <s1ht_info+20>: bne- 0x12a42e8 <s1ht_info+36>
0x012a42dc <s1ht_info+24>: lwz r31,0(r14) ; CRASHES HERE
0x012a42e0 <s1ht_info+28>: mtctr r31
0x012a42e4 <s1ht_info+32>: bctr
0x012a42e8 <s1ht_info+36>: b 0x12a41f0 <s1wl_info>
0x012a42ec <s1ht_info+40>: .long 0xc
}}}
SegFault occurs at s1ht_info+24 trying to load a word pointed by r14 (STG
R1 register) but the value of r14 is zero.
The corresponding C-- code is:
{{{
s1ht_ret()
{ has static closure: False update_frame: <none>
type: 0
desc: 0
tag: 34
stack: [Nothing]
srt: (ghczm6zi12zi2_UniqFM_lookUp_srt,0,1)
}
c1Mq:
I32[Sp + 0] = s1wl_info;
if (R1 & 3 != 0) goto c1Mt;
jump I32[R1] (); /* CRASHES HERE */
c1Mt: jump s1wl_info ();
}
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4034#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs