This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Remote stub for ARM processor
- From: "Modi Banti" <b dot modi at sssup dot it>
- To: gdb at sources dot redhat dot com
- Date: Sun, 27 Jun 2004 04:42:45 +0200
- Subject: Remote stub for ARM processor
Hi,
I am trying to buikd a remote stub for an ARM processor
Simulator. I have couple of problems with this...
1) When a Simulator arrives at a breakpoint it sends the
signal SIGTRAP 15 (register number): PC to GDB so the GDB
stops and shows the instruction at PC but since for ARM
processor PC point to current instruction + 8, so it shows
me a wrong line. I am not sure while displaying the line
GDB takes into account of Pipiline. I can overcome this
problem tempararily by sending the signal SIGTRAP 15: PC-
8. so it works correctly but I am not sure if this is the
correct way of doing it.
2) In reply to GDBs $s#73 (single step) command i send the
same packet i.e SIGTRAP 15: PC - 8 . I am not sure if I
need to send SIGTRAP or some other signal. Here also the
'n' command works prefectly fine with normal code but if
it is a Function call then instead of stopping at next
line GDB stops at line after that
e. g for following code
Mutex_lock(&mut);
++i;
++j;
if I give 'n' command when GDB is at Mutex_lock(&mut)
then it gives some series of $s#73 commands and finaly
stops at ++j instead of stopping at ++i. this happens only
in case of function call for normal statements it works
perfectly fine. Here I am not sure whether SIGTRAP is a
right signal and secondly sending PC -15 is correct or not
( if i send just PC here then insted og going to next
instruction GDB steps in the function call).
Can anybody help me with this or tell me which part of
code in GDB handles this step instruction?
Thanks and regards,
Banti