mirror-llvm-project/bolt/test/AArch64
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
..
Inputs [BOLT] Error out on SHF_COMPRESSED debug sections (#185662) 2026-03-10 10:18:12 -07:00
adr-relaxation-fail.s [BOLT][AArch64] Fix error message for failed ADR relaxation (#142533) 2025-06-03 11:27:00 -07:00
adr-relaxation.s [BOLT][AArch64] Fix adr-relaxation.s test (#143151) 2025-06-11 08:24:10 +01:00
array_end.c
asm-func-debug.test
bf_min_alignment.s [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
bti-inline-dbg.s [BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164) 2026-02-12 08:29:16 +01:00
bti-inline.s [BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164) 2026-02-12 08:29:16 +01:00
bti-long-jmp-ignored-nop.s [BOLT][BTI] Patch ignored functions in place when targeting them with indirect branches (#177165) 2026-02-24 11:09:42 +01:00
bti-long-jmp-ignored.s [BOLT][BTI] Patch ignored functions in place when targeting them with indirect branches (#177165) 2026-02-24 11:09:42 +01:00
bti-long-jmp.s [BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164) 2026-02-12 08:29:16 +01:00
bti-note-unused.test [BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164) 2026-02-12 08:29:16 +01:00
bti-note.test [BOLT][BTI] Add needed BTIs in LongJmp or refuse to optimize binary (#171149) 2025-12-22 12:24:42 +01:00
bti-patch-entries.s [BOLT][BTI] Refactor: move applyBTIFixup under MCPlusBuilder (#177164) 2026-02-12 08:29:16 +01:00
build_id.c
cfi-state-list.test [BOLT] Ensure remember and restore CFIs are in the same list (#144348) 2025-07-10 15:48:57 +01:00
check-init-not-moved.s [BOLT,test] Add --image-base to tests that use --section-start 2025-05-20 17:41:27 -07:00
check-symbol-area.s [BOLT] Check if symbol is in data area of function (#160143) 2026-03-06 10:37:54 +00:00
compact-code-model.s [BOLT] Add missing system-linux requirements to tests (#172968) 2025-12-19 11:16:18 +01:00
compare-and-branch-inversion.S Revert "[BOLT][AArch64] Transform cmpbr ~> cmp + br when inversion not possible (#185731)" (#202309) 2026-06-08 11:24:03 +01:00
compare-and-branch-reorder-blocks.S [BOLT][AArch64] Strip uneeded labels from FEAT_CMPBR tests. (#189931) 2026-04-02 10:16:41 +01:00
compare-and-branch-split-functions.S [BOLT][AArch64] Strip uneeded labels from FEAT_CMPBR tests. (#189931) 2026-04-02 10:16:41 +01:00
compare-and-branch-unsupported.S [BOLT][AArch64] Strip uneeded labels from FEAT_CMPBR tests. (#189931) 2026-04-02 10:16:41 +01:00
compressed-debug-sections.test [BOLT] Error out on SHF_COMPRESSED debug sections (#185662) 2026-03-10 10:18:12 -07:00
computed-goto.s [BOLT] Register PIE indirect goto relocations (#206819) 2026-07-08 14:21:12 -07:00
constant-island-alignment.s [BOLT] Add validation for direct call/branch targets (#165406) 2025-12-09 16:17:19 +08:00
constant-island-entry.s [BOLT] Refactor handling of branch targets. NFCI (#165828) 2025-10-31 08:56:30 -07:00
constant-island-reference.s [BOLT] Get symbol for const island referenced across func by relocation (#178988) 2026-02-02 16:05:40 -08:00
constant-island-reproducible.s [BOLT][AArch64] reproducible output with constant islands (#204546) 2026-06-23 13:54:45 +03:00
constant_island_pie_update.s [BOLT] Fix RELR addend updates for non-zero image bases (#213000) 2026-07-30 23:03:38 +01:00
crel-relocs.s [BOLT] Add support for CREL code relocations (#196383) 2026-05-18 08:54:02 +01:00
data-in-code.s
data-marker-invalidates-extra-entrypoint.s [BOLT] Validate extra entry point by querying data marker symbols (#154611) 2025-08-20 14:18:56 -07:00
double_jump.cpp
dummy-return.s
dw_cfa_gnu_window_save.test
dwarf4-dwp-aarch64.s [BOLT][DWARF] Fix debug info update issue with dwarf4 dwp (#155619) 2025-09-29 15:11:36 +08:00
entry-point-at-function-end.s [BOLT] Split unmarked tail code after CFI-bounded functions into separate functions (#176173) 2026-07-27 10:17:02 +01:00
epilogue-determination.s [BOLT][AArch64] Fix epilogue-determination test (#175668) 2026-01-13 17:59:30 -08:00
exceptions-plt.cpp [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
exclusive-instrument.s
ext-double-jump.s
ext-island-ref.s
fp-reg-spill.s
function-data-marker.s [BOLT] Always treat function entry as code (#160161) 2025-10-06 14:29:52 -07:00
function-order-hybrid.s Add hybrid function ordering support (#186003) 2026-03-17 11:12:54 -07:00
go_dwarf.test
got-ld64-relaxation.test
got-load-symbolization.s [LLD][AArch64] Make adrp+ldr relaxation per-symbol all-or-nothing (#208396) 2026-07-10 07:09:08 +00:00
hook-fini.s [BOLT] Support runtime library hook via DT_INIT_ARRAY (#167467) 2025-12-01 10:55:00 +03:00
hook-init.s [BOLT] Support runtime library hook via DT_INIT_ARRAY (#167467) 2025-12-01 10:55:00 +03:00
icp-inline.c [BOLT][AArch64] Support call ICP (#208158) 2026-07-08 15:58:30 +08:00
icp.c [BOLT][AArch64] Support call ICP (#208158) 2026-07-08 15:58:30 +08:00
ifunc.test [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
inline-armv8.3-returns.s [BOLT] Extend Inliner to work on functions with Pointer Authentication (#162458) 2025-11-24 18:00:58 +01:00
inline-armv8.3-tailcall.s [BOLT] Extend Inliner to work on functions with Pointer Authentication (#162458) 2025-11-24 18:00:58 +01:00
inline-pauth-lr.s [BOLT] Extend Inliner to work on functions with Pointer Authentication (#162458) 2025-11-24 18:00:58 +01:00
inline-small-function-1.s
inline-small-function-2.s
instrument-no-fini.s [BOLT] Instrument static PIEs through entry point (#204475) 2026-06-17 16:24:58 -07:00
instrumentation_sequence.s [BOLT][AArch64][instr] Consider targeting ARM64 CPUs without LSE support (#158738) 2025-09-25 13:18:57 -07:00
internal-call.s
invalid-code-padding.s [BOLT][AArch64] Validate code padding (#164037) 2025-10-22 20:25:06 -07:00
jmp-after-ret.s
jmp-table-unsupported.s Revert "[AArch64][GlobalISel] Do not run the Localizer at -O0 (#177359)" (#193781) 2026-04-23 16:38:44 +01:00
jump-table-heuristic-fail.s
ldr-relaxation.s [BOLT][AArch64] Add support for LDR relaxation on LDRSWl (#196051) 2026-05-08 20:07:09 +08:00
lit.local.cfg [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
lite-mode.s [LLD][AArch64] Make adrp+ldr relaxation per-symbol all-or-nothing (#208396) 2026-07-10 07:09:08 +00:00
long-jmp-hugify-fixup-out-of-range.s [BOLT][AArch64] Account for hugify alignment in AArch64 long jump layout (#195272) 2026-05-14 11:45:00 +01:00
long-jmp-offset-boundary.s
long-jmp-one-stub.s [RFC][BOLT] Enable lite mode by default on AArch64 (#205545) 2026-07-28 15:52:44 +01:00
missing-code-marker.s [BOLT][AArch64] Compensate for missing code markers (#151060) 2025-07-29 12:01:06 -07:00
pacret-cfi-disallow.s [BOLT] Rename Pointer Auth DWARF rewriter passes (#164622) 2025-12-04 11:29:40 +01:00
pacret-cfi-incorrect.s [BOLT][PAC] Warn about synchronous unwind tables (#165227) 2025-12-08 13:34:48 +01:00
pacret-cfi-reorder.s [BOLT] Rename Pointer Auth DWARF rewriter passes (#164622) 2025-12-04 11:29:40 +01:00
pacret-cfi.s [BOLT] Rename Pointer Auth DWARF rewriter passes (#164622) 2025-12-04 11:29:40 +01:00
pacret-split-funcs.s [BOLT] Rename Pointer Auth DWARF rewriter passes (#164622) 2025-12-04 11:29:40 +01:00
pad-before-funcs.s [BOLT,test] Add --image-base to tests that use --section-start 2025-05-20 17:41:27 -07:00
patch-entries.s
patch-ignored.s [BOLT] Fix references in ignored functions in CFG state (#140678) 2025-06-02 12:33:54 -07:00
plt-call.test [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
plt-gnu-ld.test
plt-got.test [BOLT][AArch64] Validate code padding (#164037) 2025-10-22 20:25:06 -07:00
plt-mold-func-symbols.s [BOLT] Account for stubs with symbols in plt (#192716) 2026-05-12 15:44:08 -07:00
prevent-ci-folding.s
print-mem-data.test [BOLT] fix print-mem-data not working (#156332) 2025-09-12 10:10:28 +01:00
print-sorted-by-order.s [BOLT] Fix unrecognized option values for print-sorted-by-order (#155613) 2025-09-11 13:29:05 +01:00
r_aarch64_prelxx.s [BOLT][AArch64] Fix PREL Relocs on RHEL8 (#144505) 2025-06-19 08:51:08 +01:00
relocation-type-print.s [BOLT][AArch64] Fix printing of relocation types (#166621) 2025-11-05 12:36:57 -08:00
remove-nops.s
retain-local-symbols.s [BOLT] Retain certain local symbols (#184074) 2026-03-05 00:34:36 -08:00
rseq.s [BOLT][AArch64] Add rseq test (#174413) 2026-01-07 09:10:48 +00:00
runtime-relocs.test
safe-icf.s [BOLT] Fix typo in adrp/add sequence (#171315) 2025-12-09 09:49:20 +00:00
skip-got-rel.test
skip-non-vfuncptr-reloc-in-relative-vtable.s AArch64: Replace @plt/%gotpcrel in data directives with %pltpcrel %gotpcrel (#155776) 2026-02-28 05:37:59 +00:00
split-funcs-lite.s
spurious-marker-symbol.test
symbol-hashes.test
tail-duplication-cache.s [BOLT][AArch64] Extend test coverage for TailDuplication in AArch64 (#191453) 2026-04-14 15:20:45 +01:00
tail-duplication-pass.s [BOLT][AArch64] Extend test coverage for TailDuplication in AArch64 (#191453) 2026-04-14 15:20:45 +01:00
tailcall_traps.s
test-indirect-branch.s [BOLT][AArch64] Fix error message for failed ADR relaxation (#142533) 2025-06-03 11:27:00 -07:00
text-data.c [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
tls-desc-call.s [BOLT][AArch64] Skip R_AARCH64_TLSDESC_CALL relocation (#161610) 2025-10-01 19:28:18 -07:00
tls-desc-le-relaxation-alternative.test [bolt] AArch64: Fix TLSDESC to LE relaxation by mold (#190370) 2026-04-22 14:59:11 +01:00
tls.c [BOLT][AArch64] Treat undefined symbols as errors in tests (#172689) 2025-12-19 12:28:30 +00:00
unmarked-data.test [BOLT] Improve unmarked-data.test (#160263) 2025-09-23 21:19:33 +02:00
unsupported-passes.test [BOLT][AArch64] Support call ICP (#208158) 2026-07-08 15:58:30 +08:00
update-debug-reloc.test
update-weak-reference-symbol.s
use-old-text-zero-padding.c [BOLT] Fix use-old-text-zero-padding on FreeBSD (#206581) 2026-07-10 15:06:22 +08:00
validate-branch-target.s [BOLT] Add validation for direct call/branch targets (#165406) 2025-12-09 16:17:19 +08:00
validate-secondary-entry-point.s [bolt][test] Use non-GNU assembly directive (#198857) 2026-05-21 17:21:36 +03:00
veneer-erratum-843419.s [BOLT][AArch64] Eliminate e843419 veneers (#187955) 2026-06-02 10:23:45 +01:00
veneer-gold.s
veneer-lite-mode.s [BOLT][AArch64] Rework test case for lite mode veneers. NFC (#173951) 2025-12-30 10:27:40 -08:00
veneer-lld-abs.s [BOLT][test] Fix 'veneer-lld-abs' test execution on Windows host (#155525) 2025-08-27 11:50:37 -07:00
veneer.s