| 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.
|
|
|
|
|
| |
CentOS 7 has gcc 4.8 which defaults to C90 and this results in warnings
for code that is valid C99 but not C90.
|
|
|
|
|
| |
CentOS 7 has gcc 4.8 which defaults to C90 and this results in warnings
for code that is valid C99 but not C90.
|
| |
|
|
|
|
| |
-target *-*-* flag is necessary for LLVM/Clang while cross-compiling
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch reflected a temporary workaround which avoided regenerating
the temporary files for each symbol set. The need for redundant processing
is being eliminated in an upcoming patch series.
Hash: 420d7a13672991a1480d06ac02190f2976b9253b
From 420d7a13672991a1480d06ac02190f2976b9253b Mon Sep 17 00:00:00 2001
From: Alex White <alex.white@oarcorp.com>
Date: Wed, 3 Mar 2021 09:48:00 -0600
Subject: rld-process: Add named tempfile constructor
This adds a new tempfile constructor for creating a named tempfile
rather than generating the name.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Covoar uses getopt() to process the command line options. If getopt() is
POSIX-compliant, it will return -1 when it encounters the first
non-option command line argument. It appears that it behaves this way on
FreeBSD, but on Linux getopt() continues to process arguments while
skipping any non-options. This changes the order of arguments passed to
covoar by coverage.py to group all options at the beginning. This allows
hosts with POSIX-compliant getopt() implementations to correctly process
all command line options.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Adds coverage variants for the following BSPs: a53_qemu, pc686,
xilinx_zynq_a9_qemu, and xilinx_zynqmp.
|
| |
|
|
|
|
|
|
| |
The tester configurations had not been updated to match the paths and
conventions used by the new build system. These have been updated,
and a few more libraries have been enabled in symbol-sets.ini.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This adds a new tempfile constructor for creating a named tempfile
rather than generating the name.
|
|
|
|
|
| |
The file::get_source method was giving "unknown:-1" for valid
addresses. This has been fixed.
|
| |
|
|
|
|
|
|
|
|
| |
Removed the INI files that use the "target sim" option
since the SIS sparc simulator in GDB is no longer used
with RTEMS. A newer version of SIS is built separately.
Closes #4355
|
|
|
|
|
| |
The ZynqMP QEMU BSPs were renamed to include _qemu for more consistent
identification. This updates the tester configurations to match.
|
| |
|
|
|
|
|
|
|
| |
Qemu's machine definition uses the second UART in the memory map as the
primary UART. This follows from the hardware itself where the second
UART in the memory map is UART 0. This switches the tester to using the
correct UART.
|
|
|
|
| |
Update #4202.
|
| |
|
| |
|
|
|
|
| |
Update #3951.
|
|
|
|
| |
Update #4195.
|
|
|
|
|
|
| |
Tests resulting in the fatal-error state are counted as failures, but
are not currently reported in the text summary. This has already been
fixed for JSON output.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This fixes an issue with json report output that causes a crash due to
the incorrect object member being accessed for test-too-long. This also
changes treatment of fatal errors to match how they are displayed in the
tester log output and changes "fatal error" to "fatal-error" to better
match the naming of all the other failure types.
|
| |
|
| |
|
| |
|
| |
|