diff options
| author | Ihor Solodrai <ihor.solodrai@linux.dev> | 2026-09-29 19:08:51 -0700 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-09-30 09:06:09 +0000 |
| commit | 99c3e74f8d9695b57bda22a8f2e0ad220dcb78bc (patch) | |
| tree | 522c53730aab2ad48a63b18f36268708c8cccfb0 /include/linux/timerqueue.h | |
| parent | c20c470eb620b86acb1e8218b262760b2c0d7401 (diff) | |
| download | linux-next-99c3e74f8d9695b57bda22a8f2e0ad220dcb78bc.tar.gz linux-next-99c3e74f8d9695b57bda22a8f2e0ad220dcb78bc.zip | |
selftests/bpf: Skip callx switch table test for clang-22 with cpu=v4
clang-22 miscompiles call_by_switch() when targeting -mcpu=v4: it turns
the switch into an array of pointers to functions and then erroneously
removes the array in BPFAsmPrinter::doFinalization(), breaking the build
with:
error: Undefined temporary symbol .Lswitch.table.call_by_switch
Fixed by llvm commit 9fc458a1d95b ("[BPF] Fix erroneous removal of
non-jump-table globals"), first released in clang-23; older clangs are
fine. test_progs-cpuv4 is built by default whenever clang supports v4,
so selftests/bpf fails to build with any clang-22 release. Guard just
this test with the compiler/cpu check and leave a __skip placeholder
for the broken combination, so the gap is reported as SKIP instead of
silently missing.
Fixes: b018e998e645 ("selftests/bpf: Add tests for callx through pointers in read-only data")
Signed-off-by: Ihor Solodrai <ihor.solodrai@linux.dev>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://patch.msgid.link/20260930020851.71691-1-ihor.solodrai@linux.dev
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
