diff options
Diffstat (limited to 'backends/plugins/elf/elf-loader.cpp')
-rw-r--r-- | backends/plugins/elf/elf-loader.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/backends/plugins/elf/elf-loader.cpp b/backends/plugins/elf/elf-loader.cpp index a6e20a7f6d..f4226b4187 100644 --- a/backends/plugins/elf/elf-loader.cpp +++ b/backends/plugins/elf/elf-loader.cpp @@ -331,7 +331,8 @@ bool DLObject::load() { if (ret) { // Offset by our segment allocated address - _segmentOffset = ptrdiff_t(_segment) - phdr.p_vaddr; + // must use _segmentVMA here for multiple segments (MIPS) + _segmentOffset = ptrdiff_t(_segment) - _segmentVMA; relocateSymbols(_segmentOffset); } |