mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-10 01:51:03 +09:00
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:
parent
39f924a731
commit
7d667b9f69
Notes:
sideshowbarker
2024-07-17 16:26:24 +09:00
Author: https://github.com/bgianfo
Commit: 7d667b9f69
Pull-request: https://github.com/SerenityOS/serenity/pull/13372
3 changed files with 2 additions and 5 deletions
|
@ -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 });
|
||||||
auto result_or_error = validate_program_headers(*elf_header, m_file_size, { m_file_data, m_file_size }, &interpreter_path_builder);
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 };
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue