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@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users