On Fri, May 13, 2022 at 02:58:05PM -0700, Andrii Nakryiko wrote: > > -TRUNNER_EXTRA_FILES := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko \ > > - ima_setup.sh \ > > +TRUNNER_EXTRA_BUILD := $(OUTPUT)/urandom_read $(OUTPUT)/bpf_testmod.ko \ > > $(wildcard progs/btf_dump_test_case_*.c) > > > note that progs/btf_dump_test_case_*.c are not built, they are just > copied over (C source files), so I don't think this fix is necessary. > > btw, I tried running `OUTPUT="/tmp/bpf" make test_progs` and it didn't > error out. But tbh, I'd recommend building everything instead of > building individual targets. After update the code to latest bpf-next. It works this time, the ima_setup.sh was copied to target folder correctly. EXT-COPY [test_progs] urandom_read bpf_testmod.ko liburandom_read.so ima_setup.sh btf_dump_test_case_bitfields.c btf_dump_test_case_multidim.c btf_dump_test_case_namespacing.c btf_dump_test_case_ordering.c btf_dump_test_case_packing.c btf_dump_test_case_padding.c btf_dump_test_case_syntax.c BINARY test_progs Not sure why the previous kernel doesn't work. But anyway I will drop this patch. On the other hand, when I build with latest bpf-next. I got error like: """ # OUTPUT="/tmp/bpf" make test_progs BINARY urandom_read gcc -g -O0 -rdynamic -Wall -Werror -DHAVE_GENHDR -I/home/net/tools/testing/selftests/bpf -I/tmp/bpf/tools/include -I/home/net/include/generated -I/home/net/tools/lib -I/home/net/tools/include -I/home/net/tools/include/uapi -I/tmp/bpf urandom_read.c urandom_read_aux.c \ liburandom_read.so -lelf -lz -lrt -lpthread \ -Wl,-rpath=. -Wl,--build-id=sha1 -o /tmp/bpf/urandom_read /usr/bin/ld: cannot find liburandom_read.so: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile:177: /tmp/bpf/urandom_read] Error 1 # ls /tmp/bpf/liburandom_read.so /tmp/bpf/liburandom_read.so """ after I copy to liburandom_read.so back to tools/testing/selftests/bpf the build success. """ # cp /tmp/bpf/liburandom_read.so /home/net/tools/testing/selftests/bpf/ # gcc -g -O0 -rdynamic -Wall -Werror -DHAVE_GENHDR -I/home/net/tools/testing/selftests/bpf -I/tmp/bpf/tools/include -I/home/net/include/generated -I/home/net/tools/lib -I/home/net/tools/include -I/home/net/tools/include/uapi -I/tmp/bpf urandom_read.c urandom_read_aux.c liburandom_read.so -lelf -lz -lrt -lpthread -Wl,-rpath=. -Wl,--build-id=sha1 -o /tmp/bpf/urandom_read # echo $? 0 """ Do you know why this happens? Thanks Hangbin