diff options
Diffstat (limited to 'Userland/Libraries')
-rw-r--r-- | Userland/Libraries/LibX86/ELFSymbolProvider.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Userland/Libraries/LibX86/ELFSymbolProvider.h b/Userland/Libraries/LibX86/ELFSymbolProvider.h index fb00aa7ebb..adc8f20d62 100644 --- a/Userland/Libraries/LibX86/ELFSymbolProvider.h +++ b/Userland/Libraries/LibX86/ELFSymbolProvider.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, the SerenityOS developers. + * Copyright (c) 2020-2021, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ @@ -13,17 +13,19 @@ namespace X86 { class ELFSymbolProvider final : public SymbolProvider { public: - ELFSymbolProvider(const ELF::Image& elf) + ELFSymbolProvider(const ELF::Image& elf, FlatPtr base_address = 0) : m_elf(elf) + , m_base_address(base_address) { } virtual String symbolicate(FlatPtr address, u32* offset = nullptr) const override { - return m_elf.symbolicate(address, offset); + return m_elf.symbolicate(address - m_base_address, offset); } private: const ELF::Image& m_elf; + FlatPtr m_base_address; }; } |