Failure building HEAD in libraries/base/Data/ByteString.hs
Simon Marlow
simonmarhaskell at gmail.com
Tue May 9 04:20:30 EDT 2006
Often I find these are the result of gcc inlining something, or using
its built-in primitives. We already pass -fno-builtin to gcc on x86.
Don - are there any C functions being inlined in ByteString? If so, it
might be a good idea to turn off the inlining.
Cheers,
Simon
Donald Bruce Stewart wrote:
> There's been a few changes since then, perhaps try again with last
> night's snapshot?
>
> dons:
>
>>Hmm! Very interesting. Register spill classes, eh? SimonM?
>>
>>-- Don
>>
>>rfh:
>>
>>> I get the following error when trying to bootstrap the
>>> 6.5.20060506 snapshot from hc files (registerised):
>>>
>>> gcc -x c Data/ByteString.hc -o Data/ByteString.raw_s -S -O
>>> -fno-defer-pop -fomi
>>>
>>> t-frame-pointer -mdynamic-no-pic
>>> -DDONT_WANT_WIN32_DLL_SUPPORT -mdynamic-no-pi
>>>
>>> c -D__GLASGOW_HASKELL__=605 -O -mdynamic-no-pic
>>> -I/Users/rfh/haskell/mac/ghc-6.
>>>
>>> 5.20060506/includes
>>> -I/Users/rfh/haskell/mac/ghc-6.5.20060506/libraries/base/inc
>>>
>>> lude
>>> -I/Users/rfh/haskell/mac/ghc-6.5.20060506/libraries/unix/inc
>>> lude -I/Users/r
>>>
>>> fh/haskell/mac/ghc-6.5.20060506/libraries/parsec/include
>>> -I. `echo | sed '
>>>
>>> s/^$/-DSTOLEN_X86_REGS=4/'`
>>>
>>> Data/ByteString.hc: In function
>>> 'DataziByteString_zdwccall_entry':
>>>
>>> Data/ByteString.hc:8631: error: unable to find a register to
>>> spill in class 'DIR
>>>
>>> EG'
>>>
>>> Data/ByteString.hc:8631: error: this is the insn:
>>>
>>> (insn 22 45 23 0 (parallel [
>>>
>>> (set (reg:SI 2 cx [64])
>>>
>>> (unspec:SI [
>>>
>>> (mem:BLK (reg:SI 1 dx [orig:66 _cdHE
>>> ] [66]) [0 A8])
>>>
>>> (reg:QI 0 ax [68])
>>>
>>> (const_int 1 [0x1])
>>>
>>> (reg:SI 2 cx [67])
>>>
>>> ] 20))
>>>
>>> (use (reg:SI 19 dirflag))
>>>
>>> (clobber (reg:SI 1 dx [orig:66 _cdHE ] [66]))
>>>
>>> (clobber (reg:CC 17 flags))
>>>
>>> ]) 479 {*strlenqi_1} (insn_list:REG_DEP_TRUE 18
>>> (insn_list:REG_DEP_TRUE
>>>
>>> 19 (insn_list:REG_DEP_TRUE 20 (insn_list:REG_DEP_TRUE 21
>>> (nil)))))
>>>
>>> (expr_list:REG_UNUSED (reg:CC 17 flags)
>>>
>>> (expr_list:REG_UNUSED (reg:SI 1 dx [orig:66 _cdHE ]
>>> [66])
>>>
>>> (expr_list:REG_DEAD (reg:SI 19 dirflag)
>>>
>>> (expr_list:REG_DEAD (reg:SI 2 cx [67])
>>>
>>> (expr_list:REG_DEAD (reg:QI 0 ax [68])
>>>
>>> (expr_list:REG_DEAD (reg:SI 1 dx
>>> [orig:66 _cdHE ] [66])
>>>
>>> (expr_list:REG_UNUSED (reg:CC 17
>>> flags)
>>>
>>> (expr_list:REG_UNUSED
>>> (reg:SI 1 dx [orig:66 _cdH
>>>
>>> E ] [66])
>>>
>>> (nil))))))))))
>>>
>>> Data/ByteString.hc:8631: confused by earlier errors, bailing
>>> out
>>>
>>> make[1]: *** [Data/ByteString.raw_s] Error 1
>>>
>>> make: *** [all] Error 1
>>>
>>> I am insufficiently experienced with the build process to
>>> know if this was from an error in creating the .hc file or a
>>> problem with the source. I have noticed that the file
>>> ByteString.hs seems to be new.
>>>
>>> I am building the .hc files on 386 linux (Ubuntu breezy
>>> badger):
>>>
>>> linux kernel 2.6.12
>>>
>>> ghc-6.5.20060502 is installed
>>>
>>> gcc is 4.0.2
>>>
>>> I am using the registerised .hc files to bootstrap to Max OS
>>> X x86
>>>
>>> Mac OS X 10.4.6
>>>
>>> no ghc installed
>>>
>>> gcc is 4.0.1 (as included in Xcode)
>>>
>>> Reilly Hayes
>>
>>>_______________________________________________
>>>Glasgow-haskell-users mailing list
>>>Glasgow-haskell-users at haskell.org
>>>http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>>
>>_______________________________________________
>>Glasgow-haskell-users mailing list
>>Glasgow-haskell-users at haskell.org
>>http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
More information about the Glasgow-haskell-users
mailing list