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? 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, maybe add a switch to vmtest.sh for choosing flavor to run would be better. > > # Mount the image and copy the selftests to the image. > mount_image > -- > 2.35.1.616.g0bdcbb4464-goog >