summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* covoar: Split symbols by symbol setAlex White2021-04-069-402/+542
| | | | | | | | | | | | | 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
* covoar: Fix off-by-one in Coverage::finalizeSymbol()Alex White2021-04-021-5/+4
| | | | | | 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.
* trace/wscript: Specify C language versionJoel Sherrill2021-04-021-2/+3
| | | | | CentOS 7 has gcc 4.8 which defaults to C90 and this results in warnings for code that is valid C99 but not C90.
* misc/wscript: Specify C language versionJoel Sherrill2021-04-021-1/+2
| | | | | CentOS 7 has gcc 4.8 which defaults to C90 and this results in warnings for code that is valid C99 but not C90.
* rtems-bin2c.c: Define _XOPEN_SOURCE to 700 for strnlen() visibilityJoel Sherrill2021-04-021-0/+1
|
* rld-cc: Add -target to recognised cflagsHesham Almatary2021-04-011-0/+1
| | | | -target *-*-* flag is necessary for LLVM/Clang while cross-compiling
* Revert rld-process: Add named tempfile constructorJoel Sherrill2021-03-312-18/+0
| | | | | | | | | | | | | | | | 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.
* tester: Limit branch coverage percentage precisionAlex White2021-03-301-1/+1
|
* coverage: Fix option processing on FreeBSDAlex White2021-03-301-2/+5
| | | | | | | | | | | 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.
* coverage/symbol-sets.ini : Add libtraceAlex White2021-03-301-1/+2
|
* covoar/Reports: Fix empty branch reportAlex White2021-03-302-55/+39
| | | | | This makes the branch report more consistent with the other reports when there is no branch information found.
* covoar: Fix overflow of high PC addressAlex White2021-03-301-0/+5
| | | | | This fixes an integer overflow that would occur if a function's high PC address were zero in the DWARF info.
* covoar: Catch exceptional caseAlex White2021-03-301-0/+10
|
* covoar: Fix null pointer dereferenceAlex White2021-03-301-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.
* coverage: Give coverage bars red backgroundAlex White2021-03-301-0/+3
|
* coverage/reports: Share common JS and CSS in reportsAlex White2021-03-302-7/+8
| | | | | | 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.
* coverage/reports: Improve formatting and clarityAlex White2021-03-305-107/+173
| | | | | | | 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.
* covoar/reports: Add new statistics to summaryAlex White2021-03-304-22/+91
| | | | | | 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.
* covoar: Handle periods in symbols from objdumpAlex White2021-03-303-5/+25
| | | | | | | | | | | | | | | | | 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.
* covoar: Fix DWARF readingAlex White2021-03-302-58/+82
| | | | | | | 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.
* covoar/TargetBase: Fix QEMU branch infoAlex White2021-03-301-2/+2
| | | | | | 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.
* covoar/CoverageReaderQEMU: Fix infinite loopAlex White2021-03-301-1/+8
| | | | | | 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.
* covoar/Target_arm: Add THUMB branch instructionsAlex White2021-03-301-0/+34
| | | | | | The ".n" and ".w" variants of the THUMB branch instructions were not included in the list of conditional branch instructions. They have been added.
* covoar/Target_i386: Add NOP patternsAlex White2021-03-301-0/+9
| | | | | A couple of NOP patterns found with the pc686 BSP were not detected. This has been fixed.
* covoar: Fix NOP execution markingAlex White2021-03-307-36/+139
| | | | | Some NOP instructions were not being marked as executed because they are located at the end of uncovered ranges. This has been fixed.
* tester: Add coverage variants for a few BSPsAlex White2021-03-304-0/+161
| | | | | Adds coverage variants for the following BSPs: a53_qemu, pc686, xilinx_zynq_a9_qemu, and xilinx_zynqmp.
* tester: Remove target from BSP coverage configsAlex White2021-03-304-4/+2
|
* tester: Update to support new build systemAlex White2021-03-301-45/+46
| | | | | | 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.
* covoar: Add aarch64 targetAlex White2021-03-304-0/+180
|
* covoar/TargetBase: Rename branchInstructions to conditionalBranchInstructionsAlex White2021-03-309-181/+185
| | | | | | | 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.
* rld-process: Add named tempfile constructorAlex White2021-03-302-0/+18
| | | | | This adds a new tempfile constructor for creating a named tempfile rather than generating the name.
* rld-dwarf: Fix file::get_sourceAlex White2021-03-301-3/+2
| | | | | The file::get_source method was giving "unknown:-1" for valid addresses. This has been fixed.
* rld-dwarf: Add function::has_entry_pcAlex White2021-03-302-1/+12
|
* bsps/sparc: Remove INI files using SIS in GDBRyan Long2021-03-233-123/+0
| | | | | | | | 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
* tester: Update for ZynqMP QEMU BSP name changeKinsey Moore2021-03-052-6/+6
| | | | | The ZynqMP QEMU BSPs were renamed to include _qemu for more consistent identification. This updates the tester configurations to match.
* misc: tools: fix mkimage.py script type processingAndre Nahrwold2021-02-161-0/+10
|
* tester: Swap Xilinx ZynqMP BSPs to secondary UARTKinsey Moore2021-01-142-2/+2
| | | | | | | 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.
* tester: Add support for arm/fvp_cortex_r52 BSPSebastian Huber2020-12-163-0/+114
| | | | Update #4202.
* tester: Add yaml format to the supported report formatsCláudio Maia2020-12-161-2/+114
|
* tester: Add configs for AArch64 ZynqMP BSPsKinsey Moore2020-12-112-0/+76
|
* config: Remove obsolete BSPsSebastian Huber2020-12-101-10/+8
| | | | Update #3951.
* tester: Add support for sparc/gr740 BSPSebastian Huber2020-12-021-0/+38
| | | | Update #4195.
* tester: Report fatal-error test states as failuresKinsey Moore2020-11-251-0/+1
| | | | | | 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.
* bsps/a53_*: Fix typo in qemu optionsVijay Kumar Banerjee2020-11-152-2/+2
|
* rtems-bsps-tiers.ini: Delete removed PowerPC BSPsJoel Sherrill2020-10-151-5/+4
|
* tester: Prevent crash with json outputKinsey Moore2020-10-052-4/+7
| | | | | | | | 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.
* tester: Add a53_ilp32_qemu.iniKinsey Moore2020-10-051-0/+38
|
* tester: Add a53_lp64_qemu.iniKinsey Moore2020-10-051-0/+38
|
* rtemstoolkit/dwarf: Dump the DIE offsetChris Johns2020-09-261-1/+5
|
* rtemstoolkit/configuration: Treat an empty variable as an empty listChris Johns2020-09-261-1/+1
|