summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibX86
diff options
context:
space:
mode:
Diffstat (limited to 'Userland/Libraries/LibX86')
-rw-r--r--Userland/Libraries/LibX86/ELFSymbolProvider.h8
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;
};
}