summaryrefslogtreecommitdiff
path: root/rtemstoolkit/rld-elf.h
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2018-05-08 15:09:38 +1000
committerChris Johns <chrisj@rtems.org>2018-06-15 15:54:25 +1000
commit558cab8e4f0d1793e7be21cc118aed5b293c022a (patch)
treeb6947c683e48f41d12f6d7480081a52c624c0fa7 /rtemstoolkit/rld-elf.h
parent1a89c3d78900e8c4d60afcf9978aa2f283121320 (diff)
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
Diffstat (limited to 'rtemstoolkit/rld-elf.h')
-rw-r--r--rtemstoolkit/rld-elf.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/rtemstoolkit/rld-elf.h b/rtemstoolkit/rld-elf.h
index fffe036..92e92c1 100644
--- a/rtemstoolkit/rld-elf.h
+++ b/rtemstoolkit/rld-elf.h
@@ -644,6 +644,17 @@ namespace rld
*/
bool is_writable () const;
+ /**
+ * Obtain a reference to this object. End fails while references are
+ * held.
+ */
+ void reference_obtain ();
+
+ /**
+ * Release the reference to this object.
+ */
+ void reference_release ();
+
private:
/**
@@ -697,6 +708,7 @@ namespace rld
void error (const char* where) const;
int fd_; //< The file handle.
+ int refs; //< The reference count.
std::string name_; //< The name of the file.
bool archive; //< The ELF file is part of an archive.
bool writable; //< The file is writeable.