[GHC] #7830: Error: operand out of range
GHC
ghc-devs at haskell.org
Sun Jun 23 12:19:44 CEST 2013
#7830: Error: operand out of range
-------------------------+--------------------------------------------------
Reporter: erikd | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.8.1
Component: Compiler | Version: 7.7
Keywords: | Os: Linux
Architecture: powerpc | Failure: Installing GHC failed
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
-------------------------+--------------------------------------------------
Comment(by erikd):
I have a rough hack work around for this but its not suitable for
commiting to git yet. Basically in the pretty-printer (it really belongs
in the codeGen and will be moved there) I rewrite:
{{{
lwz 30, .label-(1b)(31)
}}}
to
{{{
addis 30, 31, (.label-(1b))@ha
lwz 30, (.label-(1b))@l(30)
}}}
This compiles but I then get an illegal instruction error in function
`cr_str`. The call stack looks like this:
{{{
#0 0x0f3f3e24 in cr_str () from /home/erikd/Git/ghc-
upstream/rts/dist/build/libHSrts-ghc7.7.20130623.so
#1 0x0f3df490 in stg_catchzh () from /home/erikd/Git/ghc-
upstream/rts/dist/build/libHSrts-ghc7.7.20130623.so
#2 0x0f3cd01c in scheduleWaitThread () from /home/erikd/Git/ghc-
upstream/rts/dist/build/libHSrts-ghc7.7.20130623.so
#3 0x0f3c73dc in rts_evalLazyIO () from /home/erikd/Git/ghc-
upstream/rts/dist/build/libHSrts-ghc7.7.20130623.so
#4 0x0f3c9300 in hs_main () from /home/erikd/Git/ghc-
upstream/rts/dist/build/libHSrts-ghc7.7.20130623.so
#5 0x10006ae4 in main ()
}}}
and the disassembled code looks like:
{{{
0x0f3f3dec: rlwimi r1,r2,10,0,16
0x0f3f3df0: xoris r2,r27,27237
0x0f3f3df4: ori r20,r27,8293
0x0f3f3df8: xoris r20,r19,25970
0x0f3f3dfc: oris r4,r11,8448
0x0f3f3e00: .long 0xfffeae2c
0x0f3f3e04: .long 0xfffeae2c
0x0f3f3e08: .long 0xfffeae2c
0x0f3f3e0c: .long 0xfffeae2c
0x0f3f3e10: .long 0xfffeae2c
0x0f3f3e14: .long 0xfffeae2c
0x0f3f3e18: .long 0xfffeae2c
0x0f3f3e1c: .long 0xfffeae2c
0x0f3f3e20: .long 0xfffeae2c
=> 0x0f3f3e24: .long 0xfffeae20
0x0f3f3e28: .long 0xfffeae20
}}}
with the illegal instruction indicated.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7830#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list