[prev in list] [next in list] [prev in thread] [next in thread] 

List:       classiccmp
Subject:    Re: GDB front-end for SimH
From:       Paul Koning via cctalk <cctalk () classiccmp ! org>
Date:       2018-04-25 1:10:22
Message-ID: EBA07951-94A7-4328-B33F-4BCAD4CC6F9E () comcast ! net
[Download RAW message or body]



> On Apr 24, 2018, at 8:14 PM, Maciej W. Rozycki <macro@linux-mips.org> wrote:
> 
> On Tue, 24 Apr 2018, Paul Koning via cctalk wrote:
> 
> > One drawback is that there aren't all that many SIMH architectures that 
> > have GDB support.  VAX does, and Alpha; that's about it.  I don't know 
> > how hard it is to do a basic platform in GDB, probably not all that 
> > difficult.  At least for machines like PDP-11.  One's complement might 
> > be harder (PDP-1), never mind things like the IBM 1620...  :-)
> 
> You need target BFD and libopcodes support for a GDB port to be possible.  
> There is such support already present for PDP-11, so wiring in GDB parts 
> should be straightforward.  A remote protocol stub for SimH should also be 
> easy to write as you don't need all the fancy stuff and GDB will be happy 
> to work with just the `?', `G', `M', `c', `g', `m' request packets and the 
> `S' stop reply packet implemented.  The rest is optional.

True.  But if the SIMH code has breakpoint support, GDB can use that as a "hardware \
breakpoint".  Not all that interesting, perhaps, unless you're putting breakpoints in \
ROM.  More interesting is watchpoint support, which some SIMH targets have, and GDB \
supports.

I haven't tried to do a minimal BFD/opcodes implementation for a platform that \
doesn't yet have one.  PDP-10 perhaps (unless Lars did one years ago?).  One wonders \
if non-power-of-two wordlengths add complication, as they do in recent GCC.

I don't know if the SIMH execution and control frameworks make it convenient to hook \
up the GDB remote stub protocol. A stop to the SIMH console would want to be turned \
into a GDB remote interaction instead, and break signals from GDB would have to be \
recognized while SIMH is running the emulated machine.

	paul


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic