This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/20835] New: gdbserver terminated with signal SIGILL, Illegal instruction.
- From: "cedric.schmeits at boschrexroth dot nl" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Thu, 17 Nov 2016 12:36:39 +0000
- Subject: [Bug gdb/20835] New: gdbserver terminated with signal SIGILL, Illegal instruction.
- Auto-submitted: auto-generated
https://sourceware.org/bugzilla/show_bug.cgi?id=20835
Bug ID: 20835
Summary: gdbserver terminated with signal SIGILL, Illegal
instruction.
Product: gdb
Version: 7.11.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gdb
Assignee: unassigned at sourceware dot org
Reporter: cedric.schmeits at boschrexroth dot nl
Target Milestone: ---
When using gdbserver on the node for remote debugging of embedded application
the server crashed with a illigal instuction.
Program terminated with signal SIGILL, Illegal instruction.
#0 0x0002c462 in sigchld_handler (signo=17) at linux-low.c:6032
6027 so we notice when children change state; as the handler for the
6028 sigsuspend in my_waitpid. */
6029
6030 static void
6031 sigchld_handler (int signo)
=> 6032 {
6033 int old_errno = errno;
6034
6035 if (debug_threads)
6036 {
The illigal instruction is at position: 0x0002c462
When looking at the disassembled code we see the following:
Dump of assembler code for function sigchld_handler:
0x0002c460 <+0>: push {r3, r4, r5, lr}
0x0002c464 <+4>: bl 0x11db0 <__errno_location@plt>
0x0002c468 <+8>: mov r4, r0
0x0002c46c <+12>: ldr r3, [pc, #56] ; 0x2c4ac <sigchld_handler+76>
0x0002c470 <+16>: ldr r5, [r0]
0x0002c474 <+20>: ldr r3, [r3]
0x0002c478 <+24>: cmp r3, #0
0x0002c47c <+28>: beq 0x2c490 <sigchld_handler+48>
0x0002c480 <+32>: mov r0, #2
0x0002c484 <+36>: ldr r1, [pc, #36] ; 0x2c4b0 <sigchld_handler+80>
0x0002c488 <+40>: mov r2, #16
0x0002c48c <+44>: bl 0x11e1c <write@plt>
0x0002c490 <+48>: ldr r3, [pc, #28] ; 0x2c4b4 <sigchld_handler+84>
0x0002c494 <+52>: ldr r3, [r3]
0x0002c498 <+56>: cmn r3, #1
0x0002c49c <+60>: beq 0x2c4a4 <sigchld_handler+68>
0x0002c4a0 <+64>: bl 0x2c418 <async_file_mark>
0x0002c4a4 <+68>: str r5, [r4]
0x0002c4a8 <+72>: pop {r3, r4, r5, pc}
0x0002c4ac <+76>: andeq r2, r6, r12, asr #7
0x0002c4b0 <+80>: andeq r7, r4, r0, ror #9
0x0002c4b4 <+84>: andeq r12, r5, r0, asr #29
End of assembler dump.
The sigchld_hander function is at position 0x0002c460 this is a difference of 2
bytes. This function has already been called several times working correctly so
the registration of the function is done correctly. So something else is
failing
--
You are receiving this mail because:
You are on the CC list for the bug.