diff options
Diffstat (limited to 'Userland/Libraries/LibELF/DynamicObject.cpp')
-rw-r--r-- | Userland/Libraries/LibELF/DynamicObject.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Userland/Libraries/LibELF/DynamicObject.cpp b/Userland/Libraries/LibELF/DynamicObject.cpp index 8d2b08ca6b..c379d21e82 100644 --- a/Userland/Libraries/LibELF/DynamicObject.cpp +++ b/Userland/Libraries/LibELF/DynamicObject.cpp @@ -72,6 +72,10 @@ void DynamicObject::dump() const 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()); @@ -163,6 +167,14 @@ void DynamicObject::parse() case DT_BIND_NOW: m_dt_flags |= DF_BIND_NOW; break; + case DT_RPATH: + m_rpath_index = entry.val(); + m_has_rpath = true; + break; + case DT_RUNPATH: + m_runpath_index = entry.val(); + m_has_runpath = true; + break; case DT_DEBUG: break; case DT_FLAGS_1: |