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