Failure building HEAD in libraries/base/Data/ByteString.hs

Donald Bruce Stewart dons at cse.unsw.edu.au
Sat May 13 00:12:44 EDT 2006


Simon, how do you want to proceed with this? Just add
-fno-builtin-strlen to the .hc bootstrappping CC flags?

-- Don

rfh:
> Gentlemen,
> 
> ghc -v was not required, as I am building this using .hc files from  
> another host.  Adding "-fno-builtin" to the CC opts did resolve the  
> problem.  Furthermore, I believe I have confirmed that strlen is the  
> problem by succesfully compiling the library using "-fno-builtin- 
> strlen" instead of "-fno-builtin".
> 
> Thank you,
> 
> reilly hayes
> 
> 
> On May 12, 2006, at 2:20 AM, Simon Marlow wrote:
> 
> >I'm pretty sure this is to do with calls to strlen() from  
> >Data.ByteString.
> >
> >Can you check for sure that gcc is being passed -fno-builtin?  (use  
> >ghc -v).
> >
> >Failing that, we might have to use a private version of strlen()  
> >that gcc doesn't try to inline.
> >
> >Cheers,
> >	Simon
> >
> >Reilly Hayes wrote:
> >>As of 6.5.20050610 this still occurs on both the intel mac and  
> >>intel  linux (Gcc 4.0.1 & gcc 4.0.2 respectively).  Setting -fno- 
> >>inline for  gcc has no effect.
> >>-reilly hayes
> >>On May 9, 2006, at 1:20 AM, Simon Marlow wrote:
> >>>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
> >>>
> >>>
> >>>_______________________________________________
> >>>Glasgow-haskell-users mailing list
> >>>Glasgow-haskell-users at haskell.org
> >>>http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
> >>Reilly Hayes
> >>rfh at reillyhayes.com
> >
> 
> Reilly Hayes
> 
> 
> 
> 
> 
> _______________________________________________
> 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