17 Commits

Author SHA1 Message Date
Chris Johns
f199d42e47 linkers: Speed up reading large executables for all cases except inlining
- Only load the function DWARF data if checking inlines
2022-05-18 18:17:33 +10:00
Chris Johns
b4245dd209 tester/covoar: Fix clang compile errors, revert uneeded changes 2021-09-03 14:43:47 +10:00
Ryan Long
2cf693aee9 rld-dwarf.cpp: Initialize member variables
Initialize member variables not listed.

CID 1503019: Uninitialized scalar field.

Closes #4500
2021-09-01 10:31:25 -05:00
Alex White
ac56fce7c1 covoar: Store address-to-line info outside of DWARF
This adds the AddressToLineMapper class and supporting classes to
assume responsibility of tracking address-to-line information.

This allows the DWARF library to properly cleanup all of its resources
and leads to significant memory savings.

Closes #4383
2021-06-17 16:00:08 -05:00
Alex White
0fe7902aee rld-dwarf: Fix file::get_source
The file::get_source method was giving "unknown:-1" for valid
addresses. This has been fixed.
2021-03-30 13:15:57 -05:00
Alex White
85eb59e217 rld-dwarf: Add function::has_entry_pc 2021-03-30 13:15:57 -05:00
Chris Johns
d9aecc20b3 rtemstoolkit/dwarf: Dump the DIE offset 2020-09-26 10:49:27 +10:00
Chris Johns
463831374c linker/exeinfo: Optionally output full flags when listing object files
- Start adding support to dump configuration tables
2020-09-15 13:10:56 +10:00
Chris Johns
c1e38871b2 rtemstoolkit/dwarf: Fix some C++ handling issues. 2019-09-02 10:11:37 +10:00
Chris Johns
3d2db56f7d Fix warnings on Windows. 2018-11-29 05:45:21 +11: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
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
ddcf29f18d rtemstoolkit/dwarf: Fix function loading with an DW_AT_specification attr. 2018-06-24 15:38:07 +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
1cab261a78 rtemstoolkit/dwarf: Fixes for getting source lines. 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
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