diff options
author | Lang Hames <lhames@gmail.com> | 2023-12-23 18:33:30 -0800 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2023-12-24 14:06:11 -0800 |
commit | 4c1bc8e753c24df27ee8ccfc4041dd55e7c3a6ee (patch) | |
tree | b7df311ff7a86578913bc65b1dec07151228d126 /llvm/lib/CodeGen/MachineInstrBundle.cpp | |
parent | d8ddcae547e782a4765783c62747381624f076d4 (diff) | |
download | llvm-4c1bc8e753c24df27ee8ccfc4041dd55e7c3a6ee.zip llvm-4c1bc8e753c24df27ee8ccfc4041dd55e7c3a6ee.tar.gz llvm-4c1bc8e753c24df27ee8ccfc4041dd55e7c3a6ee.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/MachineInstrBundle.cpp')
0 files changed, 0 insertions, 0 deletions