LibELF: Remove unused m_program_interpreter member from DynamicLoader

While profiling I realized that this member is unused, so the
StringBuilder and String allocation are completely un-necessary.
This commit is contained in:
Brian Gianforcaro 2022-03-31 00:29:56 -07:00 committed by Andreas Kling
parent 39f924a731
commit 7d667b9f69
3 changed files with 2 additions and 5 deletions

View file

@ -122,11 +122,9 @@ bool DynamicLoader::validate()
auto* elf_header = (ElfW(Ehdr)*)m_file_data;
if (!validate_elf_header(*elf_header, m_file_size))
return false;
StringBuilder interpreter_path_builder;
auto result_or_error = validate_program_headers(*elf_header, m_file_size, { m_file_data, m_file_size }, &interpreter_path_builder);
auto result_or_error = validate_program_headers(*elf_header, m_file_size, { m_file_data, m_file_size });
if (result_or_error.is_error() || !result_or_error.value())
return false;
m_program_interpreter = interpreter_path_builder.string_view();
return true;
}

View file

@ -135,7 +135,6 @@ private:
ssize_t negative_offset_from_tls_block_end(ssize_t tls_offset, size_t value_of_symbol) const;
String m_filename;
String m_program_interpreter;
size_t m_file_size { 0 };
int m_image_fd { -1 };
void* m_file_data { nullptr };

View file

@ -13,6 +13,6 @@
namespace ELF {
bool validate_elf_header(ElfW(Ehdr) const& elf_header, size_t file_size, bool verbose = true);
ErrorOr<bool> validate_program_headers(ElfW(Ehdr) const& elf_header, size_t file_size, ReadonlyBytes buffer, StringBuilder* interpreter_path_builder, bool verbose = true);
ErrorOr<bool> validate_program_headers(ElfW(Ehdr) const& elf_header, size_t file_size, ReadonlyBytes buffer, StringBuilder* interpreter_path_builder = nullptr, bool verbose = true);
} // end namespace ELF