With a LTO kernel built with clang, I encountered two test failures, ksyms and kprobe_multi_bench_attach/kernel. Both test failures are due to static variable/function renaming due to cross-file inlining. The solution is to either skip the test or filter out those renamed functions. A helper function check_lto_kernel() is introduced to identify whether the underlying kernel is built with LTO or not. Please see each individual patches for details. Yonghong Song (4): selftests/bpf: Replace CHECK with ASSERT macros for ksyms test selftests/bpf: Add check_lto_kernel() helper selftests/bpf: Fix possible ksyms test failure with LTO kernel selftests/bpf: Fix possible kprobe_multi_bench_attach test failure with LTO kernel .../bpf/prog_tests/kprobe_multi_test.c | 7 +++ .../testing/selftests/bpf/prog_tests/ksyms.c | 42 +++++++++-------- tools/testing/selftests/bpf/testing_helpers.c | 47 +++++++++++++++++++ tools/testing/selftests/bpf/testing_helpers.h | 1 + 4 files changed, 78 insertions(+), 19 deletions(-) -- 2.43.0