mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:57:35 +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
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