Skip to content

Update GDB Remote Support from 5.3 to 6.8 #8

@mesheets

Description

@mesheets

BrickEmu currently works with GDB 5.3, and that GDB version cannot currently be built together along with the rest of the GNU Legacy Toolchain.

While GDB 6.8 can be built together with the rest of the GNU Legacy Toolchain, BrickEmu remote support (in remote.c) is incompatible with GDB 6.8.

In the file debugger.c that is part of an emulator for the h8300-hitachi-coff architecture, preserve the existing source file structure and h8300-hitachi-coff targeting (including adding Target Description XML for the h8300-hitachi-coff target) while updating BrickEmu's existing remote support targeting GDB 5.3 for compatibility with GDB 6.8. Make an updated version of this source file available for download while also describing each of the changes. At a minimum, updates should include the following:

  • Support for 'qSupported' packet - GDB 6.8 uses feature negotiation
  • Support for 'qTStatus' packet - For tracepoint status queries
  • Support for 'vCont' packet - New continue/step format
  • Better handling of 'vMustReplyEmpty' - For unknown packets
  • Support for 'qOffsets' packet - For section offsets
  • Improved register handling - GDB 6.8 expects proper XML feature descriptions
  • feature negotiation (qSupported)
  • modern stop replies (T...)
  • vCont execution packets
  • thread-awareness
  • no-ack mode
  • proper packet parsing / checksum / resend
  • structured query handling
  • Proper packet send + checksum
  • qSupported negotiation
  • ? stop-reason reply (Txx)
  • c, s, and vCont handling
  • Register + memory read/write
  • Breakpoint packets (Z/z)
  • Clean packet parsing loop
  • qXfer (XML register descriptions for h8300-hitachi-coff)
  • multi-thread (multiprocess)
  • async / non-stop mode
  • watchpoints
  • file I/O

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions