
#7814: panic in PPC NCG --------------------------------+------------------------------------------- Reporter: heisenbug | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: powerpc Failure: Building GHC failed | Blockedby: Blocking: | Related: --------------------------------+------------------------------------------- Comment(by heisenbug): {{{ $ diff -u good bad --- good 2013-04-05 15:40:25.296498000 +0200 +++ bad 2013-04-05 15:40:34.172566000 +0200 @@ -15,11 +15,11 @@ if ((Sp + -12) < SpLim) goto cj; else goto cl; cj: R1 = _cc::P32; call (I32[BaseReg - 12])(R1) args: 4, res: 0, upd: 4; - cl: I32[Sp - 8] = stg_upd_frame_info; + cl: I32[Sp - 8] = I32[PicBaseReg + .LC_stg_upd_frame_info-.LCTOC1]; P32[Sp - 4] = _cc::P32; _cf::P32 = I32[_cc::P32 + 8]; if (_cf::P32 & 3 != 0) goto co; else goto cn; - cn: I32[Sp - 12] = block_ce_info; + cn: I32[Sp - 12] = I32[PicBaseReg + .LC_block_ce_info-.LCTOC1]; R1 = _cf::P32; Sp = Sp - 12; call (I32[_cf::P32])(R1) returns to ce, args: 4, res: 4, upd: 12; @@ -28,7 +28,7 @@ goto co; co: R1 = I32[_cf::P32 & (-4) + 4]; Sp = Sp - 8; - call stg_ap_0_fast(R1) args: 12, res: 0, upd: 12; + call (I32[PicBaseReg + .LC_stg_ap_0_fast-.LCTOC1])(R1) args: 12, res: 0, upd: 12; } } }}} The problem seems to be the !PicBaseReg. Above 'good' is without "-fPIC -dynamic" and 'bad' with them. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7814#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler