diff options
author | Chris Johns <chrisj@rtems.org> | 2018-08-06 09:41:08 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2018-08-07 09:11:29 +1000 |
commit | 99c90b3353bf5b638dcfd87803e4aaf02adf3219 (patch) | |
tree | 06261fff19936db1f0db82383d02ba9eb2e75ed8 /tester/covoar/covoar.cc | |
parent | linkers/exeinfo: Add an inlines report and DWARF data dump. (diff) | |
download | rtems-tools-99c90b3353bf5b638dcfd87803e4aaf02adf3219.tar.bz2 |
tester/covoar: Integrate DWARF function data.
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.
Diffstat (limited to 'tester/covoar/covoar.cc')
-rw-r--r-- | tester/covoar/covoar.cc | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/tester/covoar/covoar.cc b/tester/covoar/covoar.cc index 6e06071..36c24c3 100644 --- a/tester/covoar/covoar.cc +++ b/tester/covoar/covoar.cc @@ -247,10 +247,12 @@ int covoar( if (!coverageFileNames.empty()) { if (dynamicLibrary) { executableInfo = new Coverage::ExecutableInfo( - singleExecutable, dynamicLibrary + singleExecutable, dynamicLibrary, Verbose ); } else { - executableInfo = new Coverage::ExecutableInfo( singleExecutable ); + executableInfo = new Coverage::ExecutableInfo( + singleExecutable, nullptr, Verbose + ); } executablesToAnalyze.push_back( executableInfo ); @@ -272,7 +274,9 @@ int covoar( std::cerr << "warning: Unable to read coverage file: " << coverageFileName << std::endl; } else { - executableInfo = new Coverage::ExecutableInfo( argv[i] ); + executableInfo = new Coverage::ExecutableInfo( + argv[i], nullptr, Verbose + ); executablesToAnalyze.push_back( executableInfo ); coverageFileNames.push_back( coverageFileName ); } @@ -573,15 +577,7 @@ int main( } catch (std::exception e) { - int status; - char* realname; - realname = abi::__cxa_demangle (e.what(), 0, 0, &status); - std::cerr << "error: exception: " << realname << " ["; - ::free (realname); - const std::type_info &ti = typeid (e); - realname = abi::__cxa_demangle (ti.name(), 0, 0, &status); - std::cerr << realname << "] " << e.what () << std::endl << std::flush; - ::free (realname); + rld::output_std_exception(e, std::cerr); ec = 11; } catch (...) |