mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-13 11:39:43 +00:00
LibELF: Split do_relocation
into do_{direct,plt}_relocation
No functional changes intended. This is in preparation of a commit that overhauls how IFUNCs are resolved. This commit lets us move the implementation of PLT patching from `DynamicObject` to `DynamicLoader` where all other relocation code lives. For this, got[2] now stores the loader's address instead of the object's.
This commit is contained in:
parent
c4e0f5e5ee
commit
cd45c2d295
Notes:
sideshowbarker
2024-07-16 20:15:54 +09:00
Author: https://github.com/BertalanD
Commit: cd45c2d295
Pull-request: https://github.com/SerenityOS/serenity/pull/18459
Reviewed-by: https://github.com/ADKaster ✅
Reviewed-by: https://github.com/timschumi ✅
4 changed files with 82 additions and 56 deletions
|
@ -314,9 +314,6 @@ public:
|
|||
Optional<SymbolLookupResult> lookup_symbol(StringView name) const;
|
||||
Optional<SymbolLookupResult> lookup_symbol(HashSymbol const& symbol) const;
|
||||
|
||||
// Will be called from _fixup_plt_entry, as part of the PLT trampoline
|
||||
VirtualAddress patch_plt_entry(u32 relocation_offset);
|
||||
|
||||
bool elf_is_dynamic() const { return m_is_elf_dynamic; }
|
||||
|
||||
void* symbol_for_name(StringView name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue