= Add Coverage To GDB Simulators = [[TOC(, depth=2)]] '''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.