diff options
author | Lang Hames <lhames@gmail.com> | 2025-04-01 21:56:00 +1100 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2025-04-01 22:18:00 +1100 |
commit | 191e0622e84a215c1d632412561c2fe6ccd86170 (patch) | |
tree | ed58ceaa11809a3cb7e7ea3ea2c8bb65e96ff98d /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 13a313fe582a3c41fb5c50ca2325c0987c0af6d7 (diff) | |
download | llvm-191e0622e84a215c1d632412561c2fe6ccd86170.zip llvm-191e0622e84a215c1d632412561c2fe6ccd86170.tar.gz llvm-191e0622e84a215c1d632412561c2fe6ccd86170.tar.bz2 |
[JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections.
Ptrauth relocations can only be fixed up in the executing process, but noalloc
sections do not have any memory in the executing process. Failure to skip
ptrauth edges results in signing instructions that operate on invalid addresses,
leading to segfaults or data corruption.
Ignoring noalloc sections for ptrauth lowering purposes allows the ptrauth
edges to persist until they reach the applyFixup method, at which point they
raise a useful error and cleanly terminate linking.
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions