Donald Bruce Stewart wrote:
bstrand:

Donald Bruce Stewart wrote:

bstrand:


Simon Marlow wrote:


Just to let you know, there are a number of open bug reports for GHC on
the x86_64 platform, which seem to indicate some kind of occasional
memory/GC problem.  I'm probably not going to be able to track this down
until after the 6.4 release, but we'll put out a patch as soon as we
have one.

Here's an error building ghc-6.4.20050224ghc-6.4.20050224 via Anders' Debian x86-64 ghc, although it doesn't look like a memory/GC problem to my untrained eye:



==fptools== make boot - --no-print-directory -r;
in /home/bstrand/src/ghc-6.4.20050224/ghc/lib/compat
------------------------------------------------------------------------
../../../glafp-utils/mkdependC/mkdependC -f .depend -I../../includes -- -O -- cbits/directory.c cbits/rawSystem.c
/usr/bin/ghc -M -optdep-f -optdep.depend -osuf o -H16m -O -H64m -O -I. -Rghc-timing -I../../../libraries -fglasgow-exts -no-recomp Compat/Directory.hs Compat/RawSystem.hs Distribution/Compat/ReadP.hs Distribution/Extension.hs Distribution/GetOpt.hs Distribution/InstalledPackageInfo.hs Distribution/License.hs Distribution/Package.hs Distribution/ParseUtils.hs Distribution/Setup.hs Distribution/Version.hs System/Directory/Internals.hs
<<ghc: 15653112 bytes, 5 GCs, 73168/73168 avg/max bytes residency (1 samples), 63M in use, 0.00 INIT (0.00 elapsed), 0.12 MUT (5.14 elapsed), 0.03 GC (0.57 elapsed) :ghc>>
make all
rm -f System/Directory/Internals.o; if [ ! -d System/Directory/Internals_split ]; then mkdir System/Directory/Internals_split; else /usr/bin/find System/Directory/Internals_split -name '*.o' -print | xargs rm -f __rm_food; fi;
/usr/bin/ghc -H16m -O -H64m -O -I. -Rghc-timing -I../../../libraries -fglasgow-exts -no-recomp -split-objs -c System/Directory/Internals.hs-o System/Directory/Internals.o -ohi System/Directory/Internals.hi
warning: don't know how to split object files on this architecture
<<ghc: 76094368 bytes, 11 GCs, 2187736/4575048 avg/max bytes residency (3 samples), 66M in use, 0.00 INIT (0.00 elapsed), 0.87 MUT (13.77 elapsed), 0.14 GC (1.40 elapsed) :ghc>>
( cd System/Directory/Internals_split; rm -f ld.script; touch ld.script; echo "INPUT(" *.o ")" >>ld.script; /usr/bin/ld -r -x -o ../Internals.old.script; );
/usr/bin/ld:ld.script: file format not recognized; treating as linker script
/usr/bin/ld:ld.script:1: syntax error
make[4]: *** [System/Directory/Internals.o] Error 1
make[3]: *** [boot] Error 2
make[2]: *** [boot] Error 1
make[1]: *** [boot] Error 1
make[1]: Leaving directory `/home/bstrand/src/ghc-6.4.20050224/ghc'
make: *** [build] Error 1


Can you try building with SplitObjs=NO ?

Wolfgang, Ryan - that looks like a splitter problem, no?

(The splitter is more of a dark art than the evil mangler, I propose we
name it the "diabolical splitter" from now on.)

-- Don

Using SplitObjs=NO gives out many warnings then finally dies with:

../../ghc/compiler/ghc-inplace -optc-O -optc-Wall -optc-W -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-Wbad-function-cast -optc-I../includes -optc-I. -optc-Iparallel -optc-DCOMPILING_RTS -optc-fomit-frame-pointer -H16m -O -H64m -O -O2 -static -I. -#include Prelude.h -#include Rts.h -#include RtsFlags.h -#include RtsUtils.h -#include StgRun.h -#includeSchedule.h -#include Printer.h -#include Sanity.h -#include STM.h -#include Storage.h -#include SchedAPI.h -#include Timer.h -#include Itimer.h-#include ProfHeap.h -#include LdvProfile.h -#include Profiling.h -#include Apply.h -fvia-C -dcmm-lint -c StgCRun.c -o StgCRun.o
In file included from ../includes/Stg.h:149,
from StgCRun.c:67:
../includes/Regs.h:213: warning: call-clobbered register used for global register variable
../includes/Regs.h:342: warning: call-clobbered register used for global register variable
/tmp/ghc13908.s: Assembler messages:
/tmp/ghc13908.s:20: Error: suffix or operands invalid for `jmp'
make[2]: *** [StgCRun.o] Error 1
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/bstrand/src/ghc-6.4.20050224/ghc'
make: *** [build] Error 1


Are you building unregisterised? Those messages about global register
variables (I think) imply that you are not -- and we haven't yet got
x86_64 (terrible name, I much prefer amd64) registerised. Looks like you
might even have found the point where registerisation breaks.

Try building unregisterised:
    GhcUnregisterised=YES

just as the .hc bootstrap compiler was built.

-- Don

Well, I don't know much about how the bootstrap compiler was built (I just downloaded it from http://debian-amd64.alioth.debian.org/pure64/pool/unstable/main/amd64/g/ghc6/), but building with GhcUnregisterised=YES and SplitObjs=NO died with:


==fptools== make all -wr;
in /home/bstrand/src/ghc-6.4.20050224/libraries/base
------------------------------------------------------------------------
../../ghc/compiler/ghc-inplace -H16m -O -H64m -O -fglasgow-exts -cpp -Iinclude -"#include" HsBase.h -funbox-strict-fields -ignore-package base -O -Rghc-timing -fgenerics -fgenerics -c GHC/Base.lhs -o GHC/Base.o -ohi GHC/Base.hi
ghc-6.4.20050224: internal error: getMBlock: mmap: Invalid argument
Please report this as a bug to glasgow-haskell-bugs@haskell.org,
or http://www.sourceforge.net/projects/ghc/
make[2]: *** [GHC/Base.o] Error 254
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/bstrand/src/ghc-6.4.20050224/libraries'
make: *** [build] Error 1


Brian

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to