-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
selftests/bpf: fix a clang compilation error for send_signal.c #2694
Conversation
Master branch: 357b3cc |
Master branch: 357b3cc |
d440a7d
to
d71357b
Compare
Master branch: a77c2cf |
d71357b
to
17cf693
Compare
Master branch: 6789ab9 |
17cf693
to
b97ef2e
Compare
Master branch: c09df4b |
Building selftests/bpf with latest clang compiler (clang15 built from source), I hit the following compilation error: /.../prog_tests/send_signal.c:43:16: error: variable 'j' set but not used [-Werror,-Wunused-but-set-variable] volatile int j = 0; ^ 1 error generated. The problem also exists with clang13 and clang14. clang12 is okay. In send_signal.c, we have the following code volatile int j = 0; ... for (int i = 0; i < 100000000 && !sigusr1_received; i++) j /= i + 1; to burn cpu cycles so bpf_send_signal() helper can be tested in nmi mode. Slightly changing 'j /= i + 1' to 'j /= i + j + 1' or 'j++' can fix the problem. Further investigation indicated this should be a clang bug ([1]). The upstream fix will be proposed later. But it is a good idea to workaround the issue to unblock people who build kernel/selftests with clang. [1] https://discourse.llvm.org/t/strange-clang-unused-but-set-variable-error-with-volatile-variables/60841 Signed-off-by: Yonghong Song <yhs@fb.com>
b97ef2e
to
ad9afec
Compare
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=622440 irrelevant now. Closing PR. |
Pull request for series with
subject: selftests/bpf: fix a clang compilation error for send_signal.c
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=622430