[all-commits] [llvm/llvm-project] 4c1bc8: [JITLink][MachO] Handle intra-block subtractor rel...
lhames via All-commits
all-commits at lists.llvm.org
Sun Dec 24 14:07:12 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4c1bc8e753c24df27ee8ccfc4041dd55e7c3a6ee
https://github.com/llvm/llvm-project/commit/4c1bc8e753c24df27ee8ccfc4041dd55e7c3a6ee
Author: Lang Hames <lhames at gmail.com>
Date: 2023-12-24 (Sun, 24 Dec 2023)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_subtractor_single_block.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_subtractor_single_block.yaml
Log Message:
-----------
[JITLink][MachO] Handle intra-block subtractor relocations.
Previously the JITLink MachO backends (aarch64 and x86-64) only looked at the
fixup block to determine which symbol was being fixed up. This assumption breaks
if both symbols used in the subtractor are in the same block. The fix is to
check for such cases and use the offsets of each symbol to decide which is being
fixed up.
The issue only resulted in incorrect behavior for negative-delta relocations,
so the testcases use eh-frames with explicit edges for the CIE-pointer field in
FDEs (since these are negative-deltas).
rdar://119351329
More information about the All-commits
mailing list