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