On 02/16/2012 03:55 PM, Michael Grunditz wrote:
On 02/16/2012 02:27 PM, Stefan Kalkowski wrote:
Hi Michael,
On 16.02.2012 14:07, Michael Grunditz wrote:
Hi
I am also porting Genode to a new ARM board. Right now I am stuck with libc. It just halts with abort() as soon as it initiates. I cannot use GDB at this stage. Is there any other way of debuging this ? Adding prints to libc doesnt work since this problem is when libc init starts.
that sounds like you're getting an exception at that point.
I guessed that
If you're using the Fiasco.OC kernel together with Genode you can of course use it's included kernel-debugger, which is quiet feature-rich. You can invoke it by hand via the serial line by pressing escape, or you put a 'enter_kdebug("WAIT")' snippet at appropriate places of your code resp. libc initialization. Therefore you've to include the following before:
namespace Fiasco { #include <l4/sys/kdebug.h> }
I fear the kernel-debugger's usage isn't that self-explanatory, but you can start playing around after looking at the help-screen via '?'. Something often useful is dumping the stacktrace of a thread via 'bt'. To get meaningful symbols instead of plain addresses there is a small tool in 'base-foc/contrib/kernel/fiasco/tool/backtrace'.
Just so I understand this : backtrace is used like , cat bt.txt | ./backtrace /path/to/bin ? I am a little bit confused over which binary I should compare to , i.e. I don't get any match.
Ok so I got matches in the kernel. Thanks , at least it gives me a hint on where to start looking.