This is the mail archive of the gdb@sources.redhat.com 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]

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






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