On Wed, Oct 22, 2025 at 8:33 AM Yonghong Song <[email protected]> wrote: > > > > On 10/22/25 12:18 AM, Jiayuan Chen wrote: > > When compiling the BPF selftests with Clang versions that do not support > > the addr_space_cast builtin, the build fails with assembly errors in > > "verifier_ldsx.c" [1]. > > > > The root cause is that the inline assembly using addr_space_cast is > > being processed by a compiler that lacks this feature. To resolve this, > > wrap the affected code sections (specifically the arena_ldsx_* test > > functions) with #if defined(__BPF_FEATURE_ADDR_SPACE_CAST). This > > ensures the code is only compiled when the Clang supports the necessary > > feature, preventing build failures on older or incompatible compiler > > versions. > > > > This change maintains test coverage for systems with support while > > allowing the tests to build successfully in all environments. > > > > [1]: > > root:tools/testing/selftests/bpf$ make > > > > CLNG-BPF [test_progs] verifier_ldsx.bpf.o > > progs/verifier_ldsx.c:322:2: error: invalid operand for instruction > > 322 | "r1 = %[arena] ll;" > > | ^ > > <inline asm>:1:52: note: instantiated into assembly here > > 1 | r1 = arena ll;r0 = 0xdeadbeef;r0 = addr_space_cast(r0,... > > | ^ > > I think you are using llvm18 and earlier. Why can you upgrade to llvm19 and > later > which should solve the problem? > > > Fixes: f61654912404 ("selftests: bpf: Add tests for signed loads from > > arena") > > We do not need to have Fixes. compiler is also moving forward, we cannot > support > really old compiler and it is no point to have __BPF_FEATURE_ADDR_SPACE_CAST > for really old compilers. So at some point, __BPF_FEATURE_ADDR_SPACE_CAST will > become default.
+1 and this is not the first time we're seeing this type of patches. Upgrade your compiler. That's the only way. pw-bot: cr

