Преглед на файлове

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.
Brian Gianforcaro преди 3 години
родител
ревизия
7d667b9f69
променени са 3 файла, в които са добавени 2 реда и са изтрити 5 реда
  1. 1 3
      Userland/Libraries/LibELF/DynamicLoader.cpp
  2. 0 1
      Userland/Libraries/LibELF/DynamicLoader.h
  3. 1 1
      Userland/Libraries/LibELF/Validation.h

+ 1 - 3
Userland/Libraries/LibELF/DynamicLoader.cpp

@@ -122,11 +122,9 @@ bool DynamicLoader::validate()
     auto* elf_header = (ElfW(Ehdr)*)m_file_data;
     auto* elf_header = (ElfW(Ehdr)*)m_file_data;
     if (!validate_elf_header(*elf_header, m_file_size))
     if (!validate_elf_header(*elf_header, m_file_size))
         return false;
         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())
     if (result_or_error.is_error() || !result_or_error.value())
         return false;
         return false;
-    m_program_interpreter = interpreter_path_builder.string_view();
     return true;
     return true;
 }
 }
 
 

+ 0 - 1
Userland/Libraries/LibELF/DynamicLoader.h

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

+ 1 - 1
Userland/Libraries/LibELF/Validation.h

@@ -13,6 +13,6 @@
 namespace ELF {
 namespace ELF {
 
 
 bool validate_elf_header(ElfW(Ehdr) const& elf_header, size_t file_size, bool verbose = true);
 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
 } // end namespace ELF