[asterisk-dev] "Illegal instruction" error from Asterisk on ARM

Brian Candler B.Candler at pobox.com
Thu Aug 31 06:11:18 MST 2006


On Thu, Aug 31, 2006 at 09:51:00AM +0200, igor wrote:
>    I'm trying to make Asterisk (1.2.11) run on a board based on a n ARM
>    core processor.
>    On the board a Linux 2.4.20 is currently running.
>    I can successfully compile Asterisk with my ARM toolchain
>    (arm-linux-gcc 3.2.3) but when
>    I launch it on my board the only thing I get is:
>    root at 192.168.0.68:~/igt# asterisk -vvvvvcg
>    Illegal instruction

Can you compile a "hello world" program with your toolchain and run it
successfully on your box?

#include <stdio.h>
int main(void)
{
    print("Hello, world!\n");
    return 0;
}

If no - then you have an underlying toolchain or platform problem which is
nothing to do with asterisk.

If yes - then maybe you should try getting gdbserver to run on your
platform, so that you can run gdb on the host and asterisk under it on the
target system. I have had this working with OpenWrt (using MIPS not ARM).
http://forum.openwrt.org/viewtopic.php?id=6285

It's probably an extremely useful thing for you to have anyway. Or if you
can get a coredump from asterisk, and copy it back to the host, you can use
gdb to analyse it there (see same URL)

Finally - have you tried adding a printf() at the start of asterisk's main()
to see if it's getting there?

Regards,

Brian.



More information about the asterisk-dev mailing list