Failure building HEAD in libraries/base/Data/ByteString.hs
Simon Marlow
simonmarhaskell at gmail.com
Fri May 12 05:20:43 EDT 2006
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
More information about the Glasgow-haskell-users
mailing list