Hi, all, a question that may be out of scope for this list, but I'm hoping 
someone here might have answers anyway or be able to point me in the right 
direction.

I'm considering using DWARF for reading / writing debugging information for 
Motorola 6809 programs, but the first issue I come to is this from the DWARF 5 
spec, where it references the mapping between registers and numbers:

"Note that the register number represents a DWARF specific mapping of numbers 
onto the actual registers of a given architecture... It is recommended that 
this mapping be defined by the ABI authoring committee for each architecture"

In the case of the 6809 I have found no standard register mapping (likely 
similar situation with other vintage CPUs).


  1.  Maybe I just missed it... Does anyone know of an official register 
mapping for 6809?
  2.  If not, do you know who I would ask about this, or how a standard 
register mapping could get defined for 6809?
  3.  Can you think of other problems I might encounter later, trying to use 
DWARF for 6809 or other vintage CPU programs?

Background: The MAME project (https://www.mamedev.org/) emulates many old 
machines, CPUs, and other hardware.  It comes with a built-in disassembly 
debugger for the currently emulated CPU.   I'm working on adding a feature to 
the debugger to allow for source-level debugging (useful for developing new 
software for emulated CPUs).  This involves modifying build tools that target 
emulated machines to output debugging information, and MAME to consume that 
debugging information.  Largely for assemblers, but also for C-like or BASIC 
compilers.  Features would include:

  *   Source line mapping
  *   Symbol resolution (where C-like compilers might store variables at 
offsets to a register, thus requiring the register mapping)
  *   Maybe at some point in the future: stack unwinding (for compilers).


Thanks for your help!
David
-- 
Dwarf-discuss mailing list
Dwarf-discuss@lists.dwarfstd.org
https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss

Reply via email to