Failure building HEAD in libraries/base/Data/ByteString.hs
Reilly Hayes
rfh at reillyhayes.com
Fri May 12 19:44:47 EDT 2006
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
More information about the Glasgow-haskell-users
mailing list