This is the mail archive of the
mailing list for the GDB project.
GDB 6.8 not working in remote debugging
- From: Nikola Ikonic <nikola dot ikonic at gmail dot com>
- To: gdb at sourceware dot org
- Date: Tue, 12 Oct 2010 13:31:56 +0200
- Subject: GDB 6.8 not working in remote debugging
I am trying to get GDB 6.8 work for remote debugging on ARC processor
(TCP connection to gdbserver). I know that GDB has stopped supporting
ARC, but there are some (or maybe have been) other parties that do
develop support for this processor. I am writing this mail in hope
that you will have some kind of idea where I could look for the
solution of my problem. I would be very grateful for any kind of clue
you could give me. So, the problem is following:
I have been using successfully GDB 6.6 for remote debugging (on ARC)
so far, and have received 6.8 GDB for ARC, but it has problems
connecting with the board. To be more precise, when I do
I get this:
(gdb) target remote:2331
Remote debugging using :2331
0x70000018 in ?? (),
where 0x70000018 is value of PC register. This value is wrong. I know
that because when I do same thing in 6.6 GDB I get more reasonable
values that are appropriate.
My first guess is that register numbers are not correct (e.g. PC
register has wrong id or something similar).
I have tried to debug GDB 6.8 and put some breakpoints on functions
that do JTAG reg_read and reg_write in order to see which register
number is used for each register. But, it never hits those
breakpoints, no matter what I do. It seems to me that register values
are acquired through some kind of "frame history" (frame unwinding)
and not through direct access on JTAG. Is my assumption correct?
So, I have couple of questions:
1) Beside inappropriate register numbers, what else do you think could
be wrong in having wrong PC value and connection to the board?
2) Are JTAG functions actually used when accessing board through gdbserver?
3) Through which functions (or modules in general) are registers
accessed in remote debugging (we are talking about TCP connection to
4) If I am right about register Ids, do you have any ideas how could
you determine this? Just some general idea wold be fine.
I know I have asked couple of overall questions that could overlap,
but I would like to get clearer picture. Any suggestion would be much
Thank you very much in advance.