Replace test_usdt_multispec.c to test_usdt_multispec.inc.h so the bpf prog usdt_100 can be used for multiple bpf programs. The newer test_usdt_multispec.c will just include test_usdt_multispec.inc.h. Signed-off-by: Yonghong Song <yonghong.song@xxxxxxxxx> --- .../selftests/bpf/progs/test_usdt_multispec.c | 28 +---------------- .../bpf/progs/test_usdt_multispec.inc.h | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 27 deletions(-) create mode 100644 tools/testing/selftests/bpf/progs/test_usdt_multispec.inc.h diff --git a/tools/testing/selftests/bpf/progs/test_usdt_multispec.c b/tools/testing/selftests/bpf/progs/test_usdt_multispec.c index 962f3462066a..97c6082df328 100644 --- a/tools/testing/selftests/bpf/progs/test_usdt_multispec.c +++ b/tools/testing/selftests/bpf/progs/test_usdt_multispec.c @@ -1,30 +1,4 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2022 Meta Platforms, Inc. and affiliates. */ -#include "vmlinux.h" -#include <bpf/bpf_helpers.h> -#include <bpf/usdt.bpf.h> - -/* this file is linked together with test_usdt.c to validate that usdt.bpf.h - * can be included in multiple .bpf.c files forming single final BPF object - * file - */ - -extern int my_pid; - -int usdt_100_called; -int usdt_100_sum; - -SEC("usdt//proc/self/exe:test:usdt_100") -int BPF_USDT(usdt_100, int x) -{ - if (my_pid != (bpf_get_current_pid_tgid() >> 32)) - return 0; - - __sync_fetch_and_add(&usdt_100_called, 1); - __sync_fetch_and_add(&usdt_100_sum, x); - - return 0; -} - -char _license[] SEC("license") = "GPL"; +#include "test_usdt_multispec.inc.h" diff --git a/tools/testing/selftests/bpf/progs/test_usdt_multispec.inc.h b/tools/testing/selftests/bpf/progs/test_usdt_multispec.inc.h new file mode 100644 index 000000000000..962f3462066a --- /dev/null +++ b/tools/testing/selftests/bpf/progs/test_usdt_multispec.inc.h @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2022 Meta Platforms, Inc. and affiliates. */ + +#include "vmlinux.h" +#include <bpf/bpf_helpers.h> +#include <bpf/usdt.bpf.h> + +/* this file is linked together with test_usdt.c to validate that usdt.bpf.h + * can be included in multiple .bpf.c files forming single final BPF object + * file + */ + +extern int my_pid; + +int usdt_100_called; +int usdt_100_sum; + +SEC("usdt//proc/self/exe:test:usdt_100") +int BPF_USDT(usdt_100, int x) +{ + if (my_pid != (bpf_get_current_pid_tgid() >> 32)) + return 0; + + __sync_fetch_and_add(&usdt_100_called, 1); + __sync_fetch_and_add(&usdt_100_sum, x); + + return 0; +} + +char _license[] SEC("license") = "GPL"; -- 2.47.1