diff options
author | Alex White <alex.white@oarcorp.com> | 2021-04-30 14:34:18 -0500 |
---|---|---|
committer | Joel Sherrill <joel@rtems.org> | 2021-06-17 16:00:08 -0500 |
commit | ac56fce7c17e40c6ecd7980fa828a76550bbacb3 (patch) | |
tree | e59a7e98baa63d8ac08a9265f5b8c9dd6d58efde /rtemstoolkit | |
parent | covoar: Store only the file name in ExecutableInfo (diff) | |
download | rtems-tools-ac56fce7c17e40c6ecd7980fa828a76550bbacb3.tar.bz2 |
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
Diffstat (limited to 'rtemstoolkit')
-rw-r--r-- | rtemstoolkit/rld-dwarf.cpp | 5 | ||||
-rw-r--r-- | rtemstoolkit/rld-dwarf.h | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/rtemstoolkit/rld-dwarf.cpp b/rtemstoolkit/rld-dwarf.cpp index 2fce0e4..1eae50c 100644 --- a/rtemstoolkit/rld-dwarf.cpp +++ b/rtemstoolkit/rld-dwarf.cpp @@ -1893,6 +1893,11 @@ namespace rld return false; } + const addresses& compilation_unit::get_addresses () const + { + return addr_lines_; + } + functions& compilation_unit::get_functions () { diff --git a/rtemstoolkit/rld-dwarf.h b/rtemstoolkit/rld-dwarf.h index 1210813..eadb50d 100644 --- a/rtemstoolkit/rld-dwarf.h +++ b/rtemstoolkit/rld-dwarf.h @@ -708,6 +708,11 @@ namespace rld unsigned int pc_high () const; /** + * The addresses associated with this compilation unit. + */ + const addresses& get_addresses () const; + + /** * Get the source and line for an address. If the address does not match * false is returned the file is set to 'unknown' and the line is set to * 0. |