|
@@ -39,25 +39,27 @@ DynamicObject::~DynamicObject()
|
|
|
|
|
|
void DynamicObject::dump() const
|
|
|
{
|
|
|
- StringBuilder builder;
|
|
|
- builder.append("\nd_tag tag_name value\n");
|
|
|
- size_t num_dynamic_sections = 0;
|
|
|
-
|
|
|
- for_each_dynamic_entry([&](const DynamicObject::DynamicEntry& entry) {
|
|
|
- String name_field = String::formatted("({})", name_for_dtag(entry.tag()));
|
|
|
- builder.appendff("{:#08x} {:17} {:#08x}\n", entry.tag(), name_field, entry.val());
|
|
|
- num_dynamic_sections++;
|
|
|
- });
|
|
|
-
|
|
|
- if (m_has_soname)
|
|
|
- builder.appendff("DT_SONAME: {}\n", soname()); // FIXME: Validate that this string is null terminated?
|
|
|
- if (m_has_rpath)
|
|
|
- builder.appendff("DT_RPATH: {}\n", rpath());
|
|
|
- if (m_has_runpath)
|
|
|
- builder.appendff("DT_RUNPATH: {}\n", runpath());
|
|
|
-
|
|
|
- dbgln_if(DYNAMIC_LOAD_DEBUG, "Dynamic section at address {} contains {} entries:", m_dynamic_address.as_ptr(), num_dynamic_sections);
|
|
|
- dbgln_if(DYNAMIC_LOAD_DEBUG, "{}", builder.string_view());
|
|
|
+ if constexpr (DYNAMIC_LOAD_DEBUG) {
|
|
|
+ StringBuilder builder;
|
|
|
+ builder.append("\nd_tag tag_name value\n");
|
|
|
+ size_t num_dynamic_sections = 0;
|
|
|
+
|
|
|
+ for_each_dynamic_entry([&](const DynamicObject::DynamicEntry& entry) {
|
|
|
+ String name_field = String::formatted("({})", name_for_dtag(entry.tag()));
|
|
|
+ builder.appendff("{:#08x} {:17} {:#08x}\n", entry.tag(), name_field, entry.val());
|
|
|
+ num_dynamic_sections++;
|
|
|
+ });
|
|
|
+
|
|
|
+ if (m_has_soname)
|
|
|
+ builder.appendff("DT_SONAME: {}\n", soname()); // FIXME: Validate that this string is null terminated?
|
|
|
+ if (m_has_rpath)
|
|
|
+ builder.appendff("DT_RPATH: {}\n", rpath());
|
|
|
+ if (m_has_runpath)
|
|
|
+ builder.appendff("DT_RUNPATH: {}\n", runpath());
|
|
|
+
|
|
|
+ dbgln("Dynamic section at address {} contains {} entries:", m_dynamic_address.as_ptr(), num_dynamic_sections);
|
|
|
+ dbgln("{}", builder.string_view());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void DynamicObject::parse()
|