This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: gdb/gdbserver uclibc illegal instruction
Hi,
session log:
1 #include <stdio.h>
2
3 int main( int argc, char *argv[] ) {
4 printf("Hello World....\n\n");
5
6 return 0;
7 }
Starting program: /home/blacq/src/bin/hello
Program received signal SIGILL, Illegal instruction.
0x40003360 in ?? ()
Dump of assembler code from 0x40003350 to 0x40003370:
0x40003350: str r6, [r1]
0x40003354: str r12, [r11, #-304]
0x40003358: str lr, [r11, #-280]
0x4000335c: bl 0x40000b60
0x40003360: bl 0x40001670
0x40003364: ldr r3, [pc, #2304] ; 0x40003c6c
0x40003368: ldr r3, [r10, r3]
0x4000336c: ldr r2, [r3]
End of assembler dump.
Dump of assembler code from 0x40001670 to 0x400016a0:
0x40001670: stmdb sp!, {r4, r5, r6, r7, r8, r10, lr}
0x40001674: ldr r10, [pc, #668] ; 0x40001918
0x40001678: ldr r6, [pc, #668] ; 0x4000191c
0x4000167c: add r10, pc, r10
0x40001680: ldr lr, [r10, r6]
0x40001684: ldr r0, [lr]
0x40001688: cmn r0, #1 ; 0x1
0x4000168c: sub sp, sp, #88 ; 0x58
0x40001690: beq 0x40001910
0x40001694: cmp r0, #0 ; 0x0
0x40001698: bne 0x400018ac
0x4000169c: ldr r7, [pc, #636] ; 0x40001920
End of assembler dump.
Hope this gives some insight.
PaulB.
Quoting Daniel Jacobowitz <drow@false.org>:
On Mon, Jan 23, 2006 at 05:12:24PM +1300, Paul Blacquiere wrote:
Hi,
I am attempting to run gdb/gdbserver on an Arm Linux board built using the
uclibc libraries.
Attempting to run an app causes an illegal instruction error (the
simple hello
world app obviously runs normally). One oddity is that the address that it
reports seems to contain a valid arm instruction.
And what instruction is it? What's around that instruction? Could you
post a complete session log?
There's not enough information here to help you, sorry.
--
Daniel Jacobowitz
CodeSourcery