This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: GDB for Multiprocessor Architecture
- From: "Amit S. Kale" <kgdb at vsnl dot net>
- To: Andrew Cagney <cagney at gnu dot org>, Nitin Gupta <nitin dot gupta at nevisnetworks dot com>
- Cc: Daniel Jacobowitz <drow at mvista dot com>,Ian Lance Taylor <ian at wasabisystems dot com>, gdb at sources dot redhat dot com
- Date: Fri, 05 Dec 2003 10:34:08 +0530
- Subject: Re: GDB for Multiprocessor Architecture
- Organization: EmSysSoft
- References: <36993D449C7FA647BF43568E0793AB3E32A59B@nevis_pune_xchg.pune.nevisnetworks.com><3FCE2B59.50603@gnu.org>
- Reply-to: amitkale at emsyssoft dot com
Hi,
Making gdb handle multiple object images will be a lot of work. You can do
something much simpler: Use multiple gdbs.
You'll have to implement multiplexing of serial connections used by them. A
small program that listens to tcp/ip sockets for gdb connections on one side
and uses the hardware probe on the other.
--
Amit Kale
EmSysSoft (http://www.emsyssoft.com/)
KGDB: Linux Kernel Source Level Debugger (http://kgdb.sourceforge.net)
On Wednesday 03 Dec 2003 11:58 pm, Andrew Cagney wrote:
> > Hi,
> > How can GDB be used to debug an application running on a chip that has n
> > number of similar CPUs. These CPUs share memories and run different code
> > images.
> > I plan to do a debugging session using the hardware probe and the GDB
> > remote protocol. My target does not have any OS support as Linux or
> > RTEMS but the host is a Linux box.
> > My question is how can I get to know that currently GDB is talking to
> > which CPU? Is it possible for me to do something like
> > gdb> load image1.o
> > gdb> CPU=1
> > gdb> |get register contents|
> > gdb> load image2.o
> > gdb> CPU=3
> > gdb> |get register contents|
> >
> > and such similar stuff.
> >
> > One way of implementing this is using the thread model but then each CPU
> > has altogether different code image to execute. Shall I have multiple
> > sessions of GDB, one per CPU? But again if a debug exception is raised
> > say a breakpoint is hit, how will I know on the host side which CPU has
> > hit the breakpoint.
> >
> > Has anybody done a similar task on any other target? Any help on this
> > fron shall be grateful.
>
> CPU's can be modeled using GDB's thread framework. However, at present
> the model doesn't extend as far as modeling separate memory regions for
> each CPU (something that needs to be fixed).
>
> Andrew