[JITLink] Refactor and expand DWARF pointer encoding support.
authorLang Hames <lhames@gmail.com>
Fri, 15 Apr 2022 18:22:26 +0000 (11:22 -0700)
committerLang Hames <lhames@gmail.com>
Fri, 15 Apr 2022 19:51:46 +0000 (12:51 -0700)
commit43acef48d38ec0dd391f212144d4a25095e4fc5f
treedccee518f40cccde6dc922e9048f57b80fbe3cb1
parent4d85859ff48d16fc0ca8199676f7417a2c6dfe43
[JITLink] Refactor and expand DWARF pointer encoding support.

Adds support for pointer encodings commonly used in large/static models,
including non-pcrel, sdata/udata8, indirect, and omit.

Also refactors pointer-encoding handling to consolidate error generation inside
common functions, rather than callees of those functions.
llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
llvm/test/ExecutionEngine/JITLink/AArch64/MachO_arm64_ehframe.s
llvm/test/ExecutionEngine/JITLink/X86/ELF_ehframe_large_static_personality_encodings.s [new file with mode: 0644]