On Fri, 14 Oct 2011 11:16:52 -0400, Ben Gamari <[email protected]> wrote: > Thanks for the fix. > > > applied to get it compiling, I got: > > > > Loading package ghc-prim ... linking ... ghc-stage2: > > /export/home/karel/vcs/ghc-src/bgamari-ghc-arm-linker/libraries/ghc-prim/dist-install/build/HSghc-prim-0.2.0.0.o: > > > > Thumb to ARM transition with JUMP24 relocation not supported > > > Quite unfortunate. Well, I'll try implementing this. I know the sequence > of instructions that should be used in the veneer. I just need to figure > out where to place them. > I've implemented the transition logic for the JUMP24 relocation. Hopefully it is correct. I'll take a closer look over it today to check that it's correct, but the rough idea has been uploaded in the name of release early-release often.
On the front of my own build efforts, I successfully built an LLVM-backed stage 2 compiler thanks to your patch. Unfortunately, it segfaults as soon as you try to compile anything. It seems that the crash must occur fairly early in the compilation process as even -v4 produces no output. Moreover, the gdb backtrace[1] is completely useless, so it's definitely in Haskell code. I think next I'll try recompiling stage 1 with some debugging flags[2] and -O0. Sadly, I'm not particularly confident that this will catch the issue since one of the large risk factors here, the LLVM backend, is likely not checked by -DDEBUG. When you said you were unable to get the LLVM backend running on Thumb, what exactly did you mean? I've found your blog post Did you find that things segfaulted? Unfortunately, my LLVM tree's build system seems to have somehow gotten itself into a funky state (trying to build any target merely results in make building all, which then succeeds since the build is finished) so running the test suite isn't an option. Very frustrating. Looks like this will require another LLVM rebuild. The BeagleBoard is certainly getting a workout. For now I'll try building GHC against your LLVM. Cheers, - Ben [1] (gdb) run -Binplace/lib Starting program: /mnt/data/ghc/ghc/inplace/lib/ghc-stage2 -Binplace/lib [Thread debugging using libthread_db enabled] Program received signal SIGSEGV, Segmentation fault. 0xea000006 in ?? () (gdb) bt #0 0xea000006 in ?? () #1 0x01866a00 in base_GHCziEventziThread_ensureIOManagerIsRunning2_info () #2 0x01866a00 in base_GHCziEventziThread_ensureIOManagerIsRunning2_info () Backtrace stopped: previous frame identical to this frame (corrupt stack?) [2] http://hackage.haskell.org/trac/ghc/wiki/Debugging/Compiler _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
