On Wed, Aug 06, 2025 at 11:17:34AM -0700, Yonghong Song wrote: SNIP
> > diff --git a/tools/testing/selftests/bpf/Makefile > > b/tools/testing/selftests/bpf/Makefile > > index 910d8d6402ef..68cf6a9cf05f 100644 > > --- a/tools/testing/selftests/bpf/Makefile > > +++ b/tools/testing/selftests/bpf/Makefile > > @@ -759,6 +759,14 @@ TRUNNER_BPF_BUILD_RULE := $$(error no BPF objects > > should be built) > > TRUNNER_BPF_CFLAGS := > > $(eval $(call DEFINE_TEST_RUNNER,test_maps)) > > +# Use -O2 optimization to generate SIB addressing usdt argument spec > > +# Only apply on x86 architecture where SIB addressing is relevant > > +ifeq ($(ARCH), x86) > > +$(OUTPUT)/usdt_o2.test.o: CFLAGS:=$(subst O0,O2,$(CFLAGS)) > > +$(OUTPUT)/cpuv4/usdt_o2.test.o: CFLAGS:=$(subst O0,O2,$(CFLAGS)) > > +$(OUTPUT)/no_alu32/usdt_o2.test.o: CFLAGS:=$(subst O0,O2,$(CFLAGS)) > > +endif > > I tried your selftest with gcc14 and llvm20 in my environment. See below: > > llvm20: > Displaying notes found in: .note.stapsdt > Owner Data size Description > stapsdt 0x0000002f NT_STAPSDT (SystemTap probe > descriptors) > Provider: test > Name: usdt1 > Location: 0x00000000000003ac, Base: 0x0000000000000000, Semaphore: > 0x0000000000000000 > Arguments: 8@-64(%rbp) > > gcc14: > Displaying notes found in: .note.stapsdt > Owner Data size Description > stapsdt 0x00000034 NT_STAPSDT (SystemTap probe > descriptors) > Provider: test > Name: usdt1 > Location: 0x0000000000000334, Base: 0x0000000000000000, Semaphore: > 0x0000000000000000 > Arguments: 8@array(,%rax,8) > > llvm20 and gcc14 generate different usdt patterns. '8@-64(%rbp)' already > supports so > with SIB support, the test should pass CI, I think. I see the same with gcc 15 and clang 20 Arguments: 8@array(,%rax,8) jirka