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 |
||
|---|---|---|
| .. | ||
| Core | ||
| Passes | ||
| Profile | ||
| Rewrite | ||
| RuntimeLibs | ||
| Target | ||
| Utils | ||
| CMakeLists.txt | ||