summaryrefslogtreecommitdiff
path: root/rtemstoolkit/rld-dwarf.h
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2018-08-07 09:08:25 +1000
committerChris Johns <chrisj@rtems.org>2018-08-07 09:11:29 +1000
commit317d85d71f4b156f6d99342700b8a0867058c4a4 (patch)
tree890e593d69a97ffd598e79ab3ce88ffc52a81763 /rtemstoolkit/rld-dwarf.h
parent99c90b3353bf5b638dcfd87803e4aaf02adf3219 (diff)
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.
Diffstat (limited to 'rtemstoolkit/rld-dwarf.h')
-rw-r--r--rtemstoolkit/rld-dwarf.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/rtemstoolkit/rld-dwarf.h b/rtemstoolkit/rld-dwarf.h
index d4e4c8a..030be3a 100644
--- a/rtemstoolkit/rld-dwarf.h
+++ b/rtemstoolkit/rld-dwarf.h
@@ -282,6 +282,17 @@ namespace rld
class function
{
public:
+
+ /**
+ * The various inline states. See Table 3.4 DWARF 5 standard.
+ */
+ enum inlined {
+ inl_not_inlined = 0, /**< Not declared inline nore inlined. */
+ inl_inline = 1, /**< Not declared inline but inlined. */
+ inl_declared_not_inlined = 2, /**< Declared inline but not inlined. */
+ inl_declared_inlined = 3 /**< Declared inline and inlined */
+ };
+
function (file& debug, debug_info_entry& die);
function (const function& orig);
~function ();
@@ -333,6 +344,11 @@ namespace rld
bool is_inlined () const;
/**
+ * Get the inlined state.
+ */
+ inlined get_inlined () const;
+
+ /**
* Get the call file of the inlined function.
*/
std::string call_file () const;