Remote stub for ARM processor

Modi Banti b.modi@sssup.it
Sun Jun 27 02:26:00 GMT 2004


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  


  



More information about the Gdb mailing list