🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gdb.bug
Article #10054

At least two flavors of gdb-based cross-debuggers

#10054
From: Robert Bedichek
Date: Wed, 20 Jun 1990 01:21
53 lines
3246 bytes
I understand that there is support for cross-debugging in the
gdb from FSF.  I would like to point out that there is another
and distinctly different implementation of cross-debugging in gdb.

Here's how it came about, in a nutshell:

In late 87' I was given the task of porting cross-adb to new 88k-based
Tektronix hardware.  I looked at cross-adb and after a brief time
abandoned it.  I came up with a protocol and implemented the host part
in dbx and the target part in the ROMs of what is now known as the
Tektronix XD-88 workstations.

Last year I moved the code that does the cross-debugging from dbx to
gdb.  There is also support for debugging kernels running in systems
built from Motorola 188 boards.  All of this is in use.

I don't know much about the other (standard?) cross-debugging support,
but here are some of the characteristics of the Tektronix
cross-debugger:

1. Communicates with the target via a serial line with compressed
   and sum-checked packets.  The compression on 88k code yields a
   1.4x improvement.  The full 8 bits of the bytes sent over the
   serial line are used.  The serial line usually runs at 38.4 K baud.

2. The target code is small, about 8k bytes of code and 1k of data
   for the 88k.

3. Downloading is usually quite fast because gdb checks the checksums
   of the blocks in target memory against the checksums of the blocks
   it is about to download.  If they match, the download is avoided.
   Most downloads are sped up because the kernel text is already in
   memory as the result of a previous download.

4. A number of new low-level gdb commands such as bzero, bcopy, 
   search-memory are supported and have target-debug-monitor support 
   to make them efficient.

I made little effort to make this code portable, but in fact I don't
think it is hard to port.  When the cross-support code lived in dbx, I
ported it to the 68k with little effort.  Some folks at Buffalo are
porting the Tek cross-debugger to the DG Aviion, though this is also an
88k machine.  Both the gdb source and the debug monitor source code are
available via anonymous ftp from june.cs.washington.edu.

The debug monitor is not FSF code, but Tek has made it available as
long as you leave the copyright messages intact.  And maybe other
restrictions apply, I'm not sure.  I do not represent Tektronix.  I am
interested in any comment you have or bugs that you find in the
aforementioned code.  I give limited free advice to people working with
the code.  I may be available for hire if you want me to do the work.

	Rob
Technical Details
Message-ID: <12312@june.cs.washington.edu>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!wuarchive!cs.utexas.edu!rice!uw-beaver!uw-june!robertb

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: f5053,1199d443d7372968,start
X-Google-Attributes: gidf5053,public
X-Google-ArrivalTime: 1990-06-19 18:21:00 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!wuarchive!cs.utexas.edu!rice!uw-beaver!uw-june!robertb
From: robertb@cs.washington.edu (Robert Bedichek)
Newsgroups: gnu.gdb.bug
Subject: At least two flavors of gdb-based cross-debuggers
Message-ID: <12312@june.cs.washington.edu>
Date: 20 Jun 90 01:21:00 GMT
Reply-To: robertb@june.cs.washington.edu (Robert Bedichek)
Organization: University of Washington, Computer Science, Seattle
Lines: 53
Posted: Wed Jun 20 02:21:00 1990