GHC 6.4 release candidates available (breakage on x86-64)

Brian Strand bstrand at
Sun Feb 27 03:49:15 EST 2005

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 
>>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


More information about the Glasgow-haskell-users mailing list