Building on android - compiled program segfaults

Nathan Hüsken nathan.huesken at posteo.de
Fri Jan 11 12:36:22 CET 2013


Hi,

I was succesfull in building ghc (pulled from git) to compile for
arm-linux-androideabi!

Now using "inplace/bin/ghc-stage1 -dcore-lint -debug" I compiler this
Main.hs:

main = putStrLn "Hello, World"

I get an executable, which I can run on my android device. Unfortantly
it segfaults.

Running it with ./Main +RTS -DS gives:

cap 0: initialised

Now I am trying to debug this in gdb. When I try to display the stack
(which should be in r13 on arm of I understand correctly, I get);

(gdb) p8 $r13
0xbef00a74:	0x0
0xbef00a70:	0x0
0xbef00a6c:	0x3c2e74
0xbef00a68:	0x530350
0xbef00a64:	0x0
0xbef00a60:	0x0
0xbef00a5c:	0x0
0xbef00a58:	0x0

And now I am clueless. So I tried the good old printf debugging in the
rts. Using this, I see that it gets before the call to
scheduleWaitThread in the function rts_evalLazyIO (in RtsAPI.c).

But when I put a printf in the beginning of scheduleWaitThread (in
Schedule.c) it is not shown.

What else can I do to find out more?
Thanks!
Nathan



More information about the ghc-devs mailing list