735 Commits

Author SHA1 Message Date
Chris Johns
a3a1364115 covoar: Close the ELF and DWARF handles once the data is loaded.
This avoids the processing being killed with to many file handles
open.
2018-08-21 14:45:25 +10:00
Vijay Kumar Banerjee
458a144e08 coverage/symbol-sets.ini : Add symbol-sets and paths to respective libraries 2018-08-08 11:26:32 -05:00
Vijay Kumar Banerjee
18208f826a Coverage: Add support to generate separate reports for each symbol-set
Invoke covoar multiple times from the script to generate separate
reports for each symbol-set.
2018-08-08 11:26:32 -05:00
Sebastian Huber
d343f830f4 tester: Exclude SMP build of some RISC-V BSPs
It makes no sense to build BSPs without support for atomic instructions
with SMP enabled.

Update #3433.
2018-08-07 07:01:40 +02:00
Chris Johns
2950fd40f0 linkers/exeinfo: Report who inlines which functions. Report not inline functions. 2018-08-07 09:11:29 +10:00
Chris Johns
317d85d71f rtemstoolkit/dwarf: Add types of inline. Report machine code size not span.
- Add the types of inlined functions to the interface.

- Return the machine code for each function and not the address span.
2018-08-07 09:11:29 +10:00
Chris Johns
99c90b3353 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.
2018-08-07 09:11:29 +10:00
Chris Johns
f450227669 linkers/exeinfo: Add an inlines report and DWARF data dump. 2018-08-07 09:11:29 +10:00
Chris Johns
d3318eb351 rtemstoolkit/dwarf: C++ object relates fixes and a dump report.
- Various C++ object fixes that improve stability where data from
  libdwarf is moving between object instances.
- Functions now provide better detail with inlined functions picking
  up attributes from an abstrtact DIE.
- Dump to a provide stream not stdout.
2018-08-07 09:11:29 +10:00
Chris Johns
367bae8843 rtemstoolkit/elf-symbols: Add the symbol types as an enum.
This can be used by applications to filter the symbols by type.
2018-08-07 09:11:29 +10:00
Chris Johns
058a3a0bd0 rtemstoolkit: Various coverity related fixes. 2018-08-07 09:11:29 +10:00
Sebastian Huber
5d957c9c51 tester: Add RISC-V support to BSP builder
Update #3433.
2018-08-06 09:51:10 +02:00
Sebastian Huber
d3d115a505 tester: Add use virt machine for rv64imafd_medany
Update #3433.
2018-07-25 10:11:26 +02:00
Joel Sherrill
08f80ca140 rtems-bsps-tiers.ini: Add amd64 2018-07-18 18:21:42 -05:00
Sebastian Huber
156b2273a4 tester: Remove obsolete BSP variants
Update #3459.
2018-07-03 07:07:16 +02:00
Sebastian Huber
7b7e340010 tester: Add rv64imafd_medany.ini
Update #3433.
2018-06-29 10:30:37 +02:00
Chris Johns
ddcf29f18d rtemstoolkit/dwarf: Fix function loading with an DW_AT_specification attr. 2018-06-24 15:38:07 +10:00
Joel Sherrill
e86646c36c covoar: Address kill() on Cygwin 2018-06-22 10:05:55 -05:00
Chris Johns
bf8e59f83b covoar: Covert CoverageMapBase C to C++
Updates #3462
2018-06-21 17:55:24 +10:00
Chris Johns
6ab939e393 tester: Install the coverage python module. 2018-06-20 08:28:18 +10:00
Sebastian Huber
845054a2ac Fix CXC build for x86-w64-mingw32
Update #3461.
2018-06-19 12:17:30 +02:00
Chris Johns
c1f2c3247d tester: Add line feeds to the coverage HTML report. 2018-06-19 13:42:03 +10:00
Chris Johns
e341a65347 tester: Make the path to covoar absolute to ignore the env PATH.
Using the environment's path to find covoar allow invalid versions
to be used which may vary in subtle ways. Find and use the covoar
that is build with the version of 'rtems-test'.

This patch means you do not need to install the tools before
running improving the development experience.

Closes #3458
2018-06-18 12:26:16 +10:00
Chris Johns
5195eb735a tester: Clean up the coverage python code. 2018-06-18 12:26:16 +10:00
Chris Johns
8009d08a9f tester: Correct usage for covoar. 2018-06-18 12:26:16 +10:00
Chris Johns
1c5206b3d0 tester: Make leon3-run command use run and not sis. 2018-06-18 12:26:16 +10:00
Chris Johns
d8eef0a463 rtemstoolkit: Add DWARF function support.
Load the functions in each CU.
2018-06-18 12:26:16 +10:00
Chris Johns
1318c11e5d linkers: Add an address to line tool.
This tool provides a way to check the DWARF toolkit support for finding
lines from addresses.
2018-06-18 12:26:16 +10:00
Chris Johns
0f481ad9f1 rtemstoolkit: Add an output routine for a std::exception.
The output routine is used by a number of tools.
2018-06-18 12:26:16 +10:00
Chris Johns
1cab261a78 rtemstoolkit/dwarf: Fixes for getting source lines. 2018-06-18 12:26:16 +10:00
Chris Johns
1f1a10f471 elftoolchain: Add libelftc. 2018-06-18 12:26:16 +10:00
Chris Johns
d6ae3ae744 tester/covoar: ExecutableInfo C to C++ change. 2018-06-18 12:26:16 +10:00
Chris Johns
1c8538039e rtemstoolkit/dwarf: Change the address source line to signed so valid() works.
Also add a check to valid where there must be source to be valid.
2018-06-18 12:26:16 +10:00
Chris Johns
881824f766 tester/covoar: Remove all exit() calls and throw an rld::error exception.
Add a suitable catch to covoar's main.
2018-06-18 12:26:16 +10:00
Chris Johns
1e21ea76b7 linkers/exe-info: Add DWARF support to gather and check producer details.
- Provide support to list the compilers and assemblers used to build
  an executable.
- List the machine flags showing which flags are common and which are
  not.
2018-06-18 12:26:16 +10:00
Chris Johns
b73f905e3a rtemstoolkit/elf,files: Catch exceptions in destructors.
Catch exceptions in destructures and print a message to avoid
an unhandled exception happening in an exception stack unwind.
2018-06-18 12:26:16 +10:00
Chris Johns
f7d303f104 rtemstoolkit/path: Fix crash when going above the root directory. 2018-06-18 12:26:05 +10:00
Chris Johns
8dd3803af1 linkers/exe-info: Set the data endian for getting the init/fini sec data. 2018-06-15 15:54:25 +10:00
Chris Johns
3618a62faf rtemstoolkit/elf: Add data size and endian support to the ELF interface. 2018-06-15 15:54:25 +10:00
Chris Johns
dbb56a823c covoar: Add libdwarf to the include path. 2018-06-15 15:54:25 +10:00
Chris Johns
cdfc56a9c9 covoar: Control the RLD verbose level from the -v option. 2018-06-15 15:54:25 +10:00
Chris Johns
efbf8f05fd covoar: Refactor DesiredSymbols.cc to C++11. 2018-06-15 15:54:25 +10:00
Chris Johns
fb987e82be covoar: Use DWARF to map addresses to source files and lines. 2018-06-15 15:54:25 +10:00
Chris Johns
558cab8e4f rtemstoolkit: Add libdwarf C++ interface.
Provide a C++ interface to libdwarf to:
 - Manage DWARF debug data
 - Manage CU
 - Manage DIE
 - Handle CU line addresses
 - Handle CU source files

Update #3417
2018-06-15 15:54:25 +10:00
Sebastian Huber
1a89c3d789 bin2c: Fix warnings
Update #3380.
2018-06-14 07:26:51 +02:00
Sebastian Huber
1cd75c4952 bin2c: Import from RTEMS
Corresponding RTEMS commit is 75933d5d25cd50f80162b7a0d2f66a5534e1763f.

Update #3380.
2018-06-14 07:26:47 +02:00
Vijay Kumar Banerjee
b762312fae tester: Add script to generate html coverage report from covoar output
Add support in tester to run covoar and generate an html report to display
the summary of the coverage reports generated from covoar.

Co-authored-by : Cillian O'Donnell <cpodonnell8@gmail.com>
2018-06-05 18:09:19 -05:00
Joel Sherrill
99c49746d1 rtems-bsps-epiphany.ini: Correct spelling of ephiphany_sim 2018-06-05 17:23:43 -05:00
Joel Sherrill
16b25be90c SPARC: ngmp replaced with specific CPU model BSPs 2018-06-05 17:23:43 -05:00
Joel Sherrill
c2d0d0ea87 tester/rtems/rtems-bsps-powerpc.ini: Fix typo 2018-06-05 17:23:43 -05:00