[lld] [LLD][COFF] Add basic ARM64X dynamic relocations support (PR #118035)
Jacek Caban via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 9 14:30:13 PST 2025
================
@@ -1147,4 +1148,81 @@ uint32_t ImportThunkChunkARM64EC::extendRanges() {
return sizeof(arm64Thunk) - sizeof(uint32_t);
}
+size_t Arm64XDynamicRelocEntry::getSize() const {
+ switch (type) {
+ case IMAGE_DVRT_ARM64X_FIXUP_TYPE_VALUE:
+ return sizeof(uint16_t) + size; // A header and a payload.
+ case IMAGE_DVRT_ARM64X_FIXUP_TYPE_DELTA:
+ case IMAGE_DVRT_ARM64X_FIXUP_TYPE_ZEROFILL:
+ llvm_unreachable("unsupported type");
+ }
+}
----------------
cjacek wrote:
I created #122382 for a fix, sorry about that. The current `llvm_unreachable()` will be removed one ARM64X support is more complete. Those two reloc types are needed for the shared IAT.
https://github.com/llvm/llvm-project/pull/118035
More information about the llvm-commits
mailing list