diff options
| author | Visual Ehrmanntraut <30368284+VisualEhrmanntraut@users.noreply.github.com> | 2024-03-08 20:33:57 +0200 |
|---|---|---|
| committer | galenbwill <galenbwill@users.noreply.github.com> | 2024-03-08 14:33:22 -0500 |
| commit | b25a2b9fadddd07cdd85d69264d7be9de16b2537 (patch) | |
| tree | d16ee7ace7d5e1a3bcaf724b3b4120fbf5d97832 /arch/x86 | |
| parent | 626db3c3e52fe7b10d615cf9b19c37aa8602cc59 (diff) | |
Fix X86_64_RELOC_UNSIGNED not handling external symbols
Signed-off-by: Visual Ehrmanntraut <30368284+VisualEhrmanntraut@users.noreply.github.com>
Diffstat (limited to 'arch/x86')
| -rw-r--r-- | arch/x86/arch_x86.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/x86/arch_x86.cpp b/arch/x86/arch_x86.cpp index e19fbef0..94cf31d5 100644 --- a/arch/x86/arch_x86.cpp +++ b/arch/x86/arch_x86.cpp @@ -4187,14 +4187,11 @@ public: dest32[0] = dest32[0] + target - (uint32_t)pcRelAddr; break; case X86_64_RELOC_UNSIGNED: - if (!info.external) + switch (info.size) { - switch (info.size) - { - case 4: *dest32 += target - (uint32_t)pcRelAddr; break; - case 8: *dest64 += info.target - pcRelAddr; break; - default: break; - } + case 4: *dest32 += target - (uint32_t)pcRelAddr; break; + case 8: *dest64 += info.target - pcRelAddr; break; + default: break; } // TODO rebasing break; |
