summaryrefslogtreecommitdiffstats
path: root/tester/covoar/ExecutableInfo.cc (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-12-07ExecutableInfo.cc: Fix formattingRyan Long1-45/+58
2021-08-03Remove app_common and all references to itRyan Long1-1/+0
- Removed the includes of app_common.h - Removed app_common references in build infrastructure - Removed app_common.cc and app_common.h
2021-08-03Remove SymbolsToAnalyze global variableRyan Long1-6/+8
- Removed SymbolsToAnalyze from app_common and replaced it with the symbolsToAnalyze_m member variable in DesiredSymbols, GcovData, and ObjdumpProcessor - Added a parameter to constructors to initialize symbolsToAnalyze_m - Moved the definition of objdumpLine_t out of ObjdumpProcessor to make it work with DesiredSymbols
2021-08-03Remove dynamicLibrary global variableRyan Long1-5/+5
- Replaced dynamicLibrary in app_common with local variables - Changed data type to string - Changed conditionals to reflect this
2021-06-17covoar: Store address-to-line info outside of DWARFAlex White1-37/+36
This adds the AddressToLineMapper class and supporting classes to assume responsibility of tracking address-to-line information. This allows the DWARF library to properly cleanup all of its resources and leads to significant memory savings. Closes #4383
2021-06-17covoar: Store only the file name in ExecutableInfoAlex White1-7/+5
This changes the ExecutableInfo class to only store the executable file's name rather than an entire instance of rld::files::object. This allows the rld::files::object to be cleaned up in the ExecutableInfo constructor. Updates #4383
2021-03-30covoar: Fix overflow of high PC addressAlex White1-0/+5
This fixes an integer overflow that would occur if a function's high PC address were zero in the DWARF info.
2021-03-30covoar: Catch exceptional caseAlex White1-0/+10
2021-03-30covoar: Fix null pointer dereferenceAlex White1-3/+6
A null pointer dereference happens later in the program execution if the files are cleaned up at the end of the ExecutableInfo constructor. This change fixes the null pointer dereference.
2021-03-30covoar: Handle periods in symbols from objdumpAlex White1-2/+1
Occasionally the compiler will generate symbols that look similar to symbols defined in RTEMS code except that they contain some suffix. These symbol suffixes are only found in the ELF symbol table; the symbols appear to be normal in the DWARF info. This appears to be happening on all architectures. For example, the function _Message_queue_Create from rtems appears as "_Message_queue_Create.part.0". Other suffixes include ".isra.0", ".constprop.0", and ".0". This looks to be related to compiler optimizations. Symbols with suffixes were being treated as unique. For our purposes, they should be mapped to the equivalent symbols in the DWARF info. This has been fixed.
2021-03-30covoar: Fix DWARF readingAlex White1-3/+27
There were a couple of issues with the way the DWARF info was being read. The first issue was that it inefficiently included all symbols, even symbols that were not desired. The second issue is that it did not handle inline functions correctly. These have been fixed.
2021-03-30covoar: Fix NOP execution markingAlex White1-1/+1
Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed.
2019-01-25covoar: wrong symbol length in coverage mapJiri Gaisler1-1/+1
2018-08-21covoar: Close the ELF and DWARF handles once the data is loaded.Chris Johns1-8/+17
This avoids the processing being killed with to many file handles open.
2018-08-07tester/covoar: Integrate DWARF function data.Chris Johns1-8/+33
Use DAWRF function data to create the executable coverage maps. Integrate the existing objdump processing with this data. - Refactor CoverageMapBase to have the address ranges and address info as separate objects. Move the to address info into a vector. Add support for multiple address ranges. - DesiredSymbols is only interested in function symbols. - ExecutableInfo creates coverage maps from DWARF function data. - Add warning flags to the covoar build. - Varous C++11 refactoring.
2018-06-21covoar: Covert CoverageMapBase C to C++Chris Johns1-3/+3
Updates #3462
2018-06-18tester/covoar: ExecutableInfo C to C++ change.Chris Johns1-3/+3
2018-06-18tester/covoar: Remove all exit() calls and throw an rld::error exception.Chris Johns1-14/+6
Add a suitable catch to covoar's main.
2018-06-15covoar: Use DWARF to map addresses to source files and lines.Chris Johns1-26/+54
2018-05-01covoar: Add symbol set reader and ELF data parser to covoar.Cillian O'Donnell1-2/+2
Add ability to organize symbol sets of libraries in INI file and then read them with covoar and load the symbols directly from the libraries. rtems-tools/../testing: Add configuration files for coverage analysis. A number of covoar options are not required and are defaulted. Co-author: Krzysztof Miesowicz <krzysztof.miesowicz@gmail.com> Co-author: Vijay Kumar Banerjee <vijaykumar9597@gmail.com> Co-author: Chris Johns <chrisj@rtems.org>
2017-08-29covoar: Add information to improve diagnostics.Hermann Felbinger1-1/+2
2014-06-18covoar: Merger the covoar source from rtems-testing.git.Chris Johns1-0/+129
Use waf to build covoar.