mirror-llvm-project/bolt/lib
Adam Bzowski 30611cae03
[BOLT] Fix RELR addend updates for non-zero image bases (#213000)
This patch fixes an AArch64 BOLT failure exposed by LLVM commit
`fbba327208d7f6994f9a28a51dca3e913e3b444a`, which enabled packed
relative relocations (RELR) globally. BOLT incorrectly used a virtual
relocation address as a file offset when updating RELR addends,
corrupting instrumented executables when their image base was non-zero.
The observed CMake compiler-check failure was only a consequence of the
corrupted BOLT-instrumented Clang executable crashing; the defect itself
is in BOLT, not CMake.

The regression test links an AArch64 PIE with a non-zero image base and
verifies that BOLT updates the RELR addend at the correct file offset.

Assisted-by: Codex
2026-07-30 23:03:38 +01:00
..
Core [BOLT] Stop materializing .dwo DIE vectors early in the pipeline (#207292) 2026-07-29 11:50:02 -07:00
Passes [BOLT] Fix strict mode bug in removal of block referenced by JT (#211940) 2026-07-27 12:35:54 -07:00
Profile [BOLT] Add fdata symbols mode (#209932) 2026-07-16 17:31:30 -07:00
Rewrite [BOLT] Fix RELR addend updates for non-zero image bases (#213000) 2026-07-30 23:03:38 +01:00
RuntimeLibs [BOLT] Define hugify option in CommandLineOpts.cpp (#197702) 2026-05-14 16:16:12 +01:00
Target [BOLT][AArch64] Support call ICP (#208158) 2026-07-08 15:58:30 +08:00
Utils [BOLT] Fix pwrite assertion failure via a new safePWrite wrapper (#198569) 2026-07-24 19:55:26 +08:00
CMakeLists.txt