| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the way covoar organizes the symbols. Instead of treating
all symbols as one set, covoar is now aware of multiple symbol sets and
tracks statistics for each set. It now also generates reports for each
symbol set.
This change relieves the caller of covoar of the reponsibility of
managing the symbol sets. As a result, covoar can minimize the work
done for each symbol set, yielding a significant speedup.
Updates #4374
|
|
|
|
|
|
| |
The `rangeIndex` variable is 1 higher than the index at which the first
instruction address was found. This fixes the loop to set `rangeIndex`
correctly.
|
|
|
|
|
| |
This makes the branch report more consistent with the other reports when
there is no branch information found.
|
|
|
|
|
| |
This fixes an integer overflow that would occur if a function's high PC
address were zero in the DWARF info.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This moves all of the javascript and CSS files that are shared by the
symbol set HTML reports to the shared parent directory. It also includes
the javascript and CSS in the top-level index file.
|
|
|
|
|
|
|
| |
The coverage reports contain places where they display incorrect or
vague information particularly when some statistic is unavailable. This
has been fixed. The formatting and wording of various things has been
improved as well.
|
|
|
|
|
|
| |
The following new statistics have been added to the summary report:
number of unreferenced symbols, total branch paths found, number of
branch paths not executed, and percentage of branch paths covered.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
The taken/not taken bit was being interpreted incorrectly. This led
to branches being marked "always taken" when they were never taken.
This has been fixed.
|
|
|
|
|
|
| |
There was a potential that the branch info loop never terminated.
This has been fixed by adding a more reliable termination condition
and logging an error if it cannot find the branch target.
|
|
|
|
|
|
| |
The ".n" and ".w" variants of the THUMB branch instructions were not
included in the list of conditional branch instructions. They have
been added.
|
|
|
|
|
| |
A couple of NOP patterns found with the pc686 BSP were not detected.
This has been fixed.
|
|
|
|
|
| |
Some NOP instructions were not being marked as executed because they
are located at the end of uncovered ranges. This has been fixed.
|
| |
|
|
|
|
|
|
|
| |
The TargetBase class contains a member variable named
branchInstructions. The name omits the fact that it is only meant to
contain conditional branch instructions. Its name has been changed to
conditionalBranchInstructions to avoid confusion.
|
| |
|
|
|
|
| |
- Fix a minor issue in covoar's use of 64bit calls.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This avoids the processing being killed with to many file handles
open.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Updates #3462
|
| |
|
| |
|
|
|
|
| |
Add a suitable catch to covoar's main.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This is a clean up.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Why clang caught this and gcc didn't is a mystery.
Updates #3191.
|
|
|
|
| |
Closes #3191.
|
| |
|
|
|
|
|
|
|
| |
Use the standard modules `use` option for building executables and
let waf figure out the platform specifics.
Closes #3190.
|
| |
|
|
|
|
| |
Closes #3129
|
|
|
|
| |
Closes #3128.
|
| |
|
|
|
|
|
| |
This removes the 'Trace block inconsistent with coverage map' check as it was
deemed to be too restrictive and not neccessary.
|