wiki:Developer/Projects/Open/AddCoverageToGDBSimulators
Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Version 2 (modified by Amar Takhar, on 02/16/15 at 20:45:12) (diff)

Remove <>'s around wiki page in TOC()

Add Coverage To GDB Simulators

Mentors: Joel Sherrill and hopefully someone from GDB community

Students: Past, Present, and Potential Students

Status: Uninitiated.

Introduction: RTEMS has BSPs for a number of simulators built into GDB. Most of these simulators do not have the capability to record execution traces or provide any type of execution coverage information. This project is to add that capability.

Many of the simulators are based on a common framework so it should be possible to cover many architectures by adding support in a single place. Other simulators do not use this framework and will have to be addressed differently.

The format of the trace information could be based on that used by the Couverture fork of qemu. It records blocks of instructions executed with a reason for the execution flow changing. This could be a branch, return, interrupt, or subroutine call. This is a dense format and can be used to reconstruct execution flows and generate execution frequency analysis.

NOTE: This project requires executing the Free Software Foundation copyright assignment agreement. If this project is to be done as part of a student program, this paperwork must be filed before accepted.

Resources: Current RTEMS developers, papers, etc that may help you in this project. The GDB community will also need to be involved.

Acknowledgements

  • who helped and did work

Miscellaneous Sections

As the project progresses, you will need to add build instructions, etc and this page will evolve from a project description into a HOWTO.

References

  • TBD

Other sections: If you have more to say about the project that doesn't fit in the proposed sections of this template, feel free to add other sections at will.