On Fri, Mar 4, 2022 at 5:57 PM sunyucong@xxxxxxxxx <sunyucong@xxxxxxxxx> wrote: > > On Fri, Mar 4, 2022 at 8:48 AM KP Singh <kpsingh@xxxxxxxxxx> wrote: > > > > Dynamic linking when compiling on the host can cause issues when the > > libc version does not match the one in the VM image. > > Allow the user to use static compilation when this issue arises: > > > > Before: > > ./vmtest.sh -- ./test_progs -t test_ima > > ./test_progs: /usr/lib/libc.so.6: version `GLIBC_2.33' not found (required by ./test_progs) > > > > After: > > > > TRUNNER_LDFLAGS=-static ./vmtest.sh -- ./test_progs -t test_ima > > test_ima:OK > > Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED > > > > Not using static as the default as some distros may not have dependent > > static libraries. > > > > Reported-by: "Geyslan G. Bem" <geyslan@xxxxxxxxx> > > Signed-off-by: KP Singh <kpsingh@xxxxxxxxxx> > > --- > > tools/testing/selftests/bpf/Makefile | 4 ++-- > > tools/testing/selftests/bpf/vmtest.sh | 2 +- > > 2 files changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > > index fe12b4f5fe20..2473c9b0cb2e 100644 > > --- a/tools/testing/selftests/bpf/Makefile > > +++ b/tools/testing/selftests/bpf/Makefile > > @@ -162,7 +162,7 @@ $(MAKE_DIRS): > > > > $(OUTPUT)/%.o: %.c > > $(call msg,CC,,$@) > > - $(Q)$(CC) $(CFLAGS) -c $(filter %.c,$^) $(LDLIBS) -o $@ > > + $(Q)$(CC) $(CFLAGS) $(TRUNNER_LDFLAGS) -c $(filter %.c,$^) $(LDLIBS) -o $@ > > > > $(OUTPUT)/%:%.c > > $(call msg,BINARY,,$@) > > @@ -468,7 +468,7 @@ $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS) \ > > $(RESOLVE_BTFIDS) \ > > | $(TRUNNER_BINARY)-extras > > $$(call msg,BINARY,,$$@) > > - $(Q)$$(CC) $$(CFLAGS) $$(filter %.a %.o,$$^) $$(LDLIBS) -o $$@ > > + $(Q)$$(CC) $$(CFLAGS) $(TRUNNER_LDFLAGS) $$(filter %.a %.o,$$^) $$(LDLIBS) -o $$@ > > $(Q)$(RESOLVE_BTFIDS) --btf $(TRUNNER_OUTPUT)/btf_data.o $$@ > > $(Q)ln -sf $(if $2,..,.)/tools/build/bpftool/bootstrap/bpftool $(if $2,$2/)bpftool > > > > diff --git a/tools/testing/selftests/bpf/vmtest.sh b/tools/testing/selftests/bpf/vmtest.sh > > index e0bb04a97e10..a8bf6ceb3d06 100755 > > --- a/tools/testing/selftests/bpf/vmtest.sh > > +++ b/tools/testing/selftests/bpf/vmtest.sh > > @@ -155,7 +155,7 @@ update_selftests() > > local selftests_dir="${kernel_checkout}/tools/testing/selftests/bpf" > > > > cd "${selftests_dir}" > > - ${make_command} > > + ${make_command} TRUNNER_LDFLAGS=-static > > In the commit message you mentioned we are not making it default for > everyone, Yet here making it default? I have already sent a v2, maybe you missed that https://lore.kernel.org/bpf/20220304150708.729904-1-kpsingh@xxxxxxxxxx/T/#u after noticing my mistake https://lore.kernel.org/bpf/CAJygYd1uwX05w3-+avZfz9d2a=8OD7VTMEv8Uo9AHLHrnu=k+Q@xxxxxxxxxxxxxx/T/#m1a3eedc831d8b27e5639b1d57e3af36a2b20f449 > Also, do we need to add a new TRUNNER_LDFLAGS ? Why not just LDFLAGS, > we also use CFLAGS. Thinking ahead if we want add ASAN support later, Simple LDFLAGS and CFLAGS (not TRUNNER_*) did not work for me for some reason. > maybe add a switch to vmtest.sh for choosing flavor to run would be > better. I am not sure if we want to add a switch for everything. But I don't mind if folks think it would be useful. > > > > > > # Mount the image and copy the selftests to the image. > > mount_image > > -- > > 2.35.1.616.g0bdcbb4464-goog > >