This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb backtrace after SIGILL on Xscale (ARM)


I'm trying to perform a backtrace using gdb after a SIGILL event on an
Xscale (ARM) target device.  In order to simplify the issue I have
wrote a small program (http://en.wikipedia.org/wiki/SIGILL) whose only
purpose is to cause a SIGINT.

The code is:
int main()
{
    unsigned char insn[4] = { 0xff, 0xff, 0xff, 0xff };
    void (*function)() = (void (*)()) insn;
    function();
}

I compiled it as follows:
gcc -o sigill sigill.c

I then run it on my host machine 'Linux, Arch: x86"

gdb /home/sigill
(gdb) run
Starting program: /home/sigill

Program received signal SIGILL, Illegal instruction.
0xbf81d400 in ?? ()
(gdb) bt
#0  0xbf81d400 in ?? ()
#1  0x08048363 in main ()


Every thing work as expected, I got a backtrace showing me the correct steps.

I then compiled the program for my target system "Linux, Arch: Xscale (ARM)"
I ran the app and got the following:

 /home/sigill
BFD: /lib/.debug/ld-2.5.so: warning: sh_link not set for section `.ARM.exidx'
BFD: /lib/.debug/libc-2.5.so: warning: sh_link not set for section `.ARM.exidx'

Program received signal SIGILL, Illegal instruction.
0xbea7fc44 in ?? ()
(gdb) bt
#0  0xbea7fc44 in ?? ()
(gdb)

There is NO real information provided in the backtrace, why is this,
what might I be doing wrong?

Regards,
Shane


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]