All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yonghong Song <yhs@fb.com>
To: Nick Desaulniers <ndesaulniers@google.com>,
	Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: bpf <bpf@vger.kernel.org>, Andrii Nakryiko <andrii@kernel.org>,
	Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
	Kernel Team <kernel-team@fb.com>,
	Sedat Dilek <sedat.dilek@gmail.com>
Subject: Re: [PATCH bpf-next v3 4/5] selftests/bpf: silence clang compilation warnings
Date: Tue, 13 Apr 2021 15:37:40 -0700	[thread overview]
Message-ID: <d1c28757-3fd9-4395-53c1-deb3161e89d2@fb.com> (raw)
In-Reply-To: <CAKwvOdmgJBV5yv5robxvmpdYhkw1epY6FNYYwiszqZ0zyE0UAw@mail.gmail.com>



On 4/13/21 3:17 PM, Nick Desaulniers wrote:
> On Tue, Apr 13, 2021 at 3:08 PM Andrii Nakryiko
> <andrii.nakryiko@gmail.com> wrote:
>>
>> On Tue, Apr 13, 2021 at 8:34 AM Yonghong Song <yhs@fb.com> wrote:
>>>
>>> With clang compiler:
>>>    make -j60 LLVM=1 LLVM_IAS=1  <=== compile kernel
>>>    make -j60 -C tools/testing/selftests/bpf LLVM=1 LLVM_IAS=1
>>> Some linker flags are not used/effective for some binaries and
>>> we have warnings like:
>>>    warning: -lelf: 'linker' input unused [-Wunused-command-line-argument]
>>>
>>> We also have warnings like:
>>>    .../selftests/bpf/prog_tests/ns_current_pid_tgid.c:74:57: note: treat the string as an argument to avoid this
>>>          if (CHECK(waitpid(cpid, &wstatus, 0) == -1, "waitpid", strerror(errno)))
>>>                                                                 ^
>>>                                                                 "%s",
>>>    .../selftests/bpf/test_progs.h:129:35: note: expanded from macro 'CHECK'
>>>          _CHECK(condition, tag, duration, format)
>>>                                           ^
>>>    .../selftests/bpf/test_progs.h:108:21: note: expanded from macro '_CHECK'
>>>                  fprintf(stdout, ##format);                              \
>>>                                    ^
>>> The first warning can be silenced with clang option -Wno-unused-command-line-argument.
>>> For the second warning, source codes are modified as suggested by the compiler
>>> to silence the warning. Since gcc does not support the option
>>> -Wno-unused-command-line-argument and the warning only happens with clang
>>> compiler, the option -Wno-unused-command-line-argument is enabled only when
>>> clang compiler is used.
>>>
>>> Signed-off-by: Yonghong Song <yhs@fb.com>
>>> ---
>>
>> LGTM, please see the question below.
>>
>> Acked-by: Andrii Nakryiko <andrii@kernel.org>
>>
>>>   tools/testing/selftests/bpf/Makefile                         | 5 +++++
>>>   tools/testing/selftests/bpf/prog_tests/fexit_sleep.c         | 4 ++--
>>>   tools/testing/selftests/bpf/prog_tests/ns_current_pid_tgid.c | 4 ++--
>>>   3 files changed, 9 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
>>> index dcc2dc1f2a86..c45ae13b88a0 100644
>>> --- a/tools/testing/selftests/bpf/Makefile
>>> +++ b/tools/testing/selftests/bpf/Makefile
>>> @@ -28,6 +28,11 @@ CFLAGS += -g -Og -rdynamic -Wall $(GENFLAGS) $(SAN_CFLAGS)           \
>>>            -Dbpf_load_program=bpf_test_load_program
>>>   LDLIBS += -lcap -lelf -lz -lrt -lpthread
>>>
>>> +# Silence some warnings when compiled with clang
>>> +ifneq ($(LLVM),)
>>
>> This won't handle the case where someone does `make CC=clang`, right?
>> Do we care at all?
> 
> Right; it would be better to check CC=clang and have LLVM=1 enable
> CC=clang from a higher level Makefile (since tools/build/Makefile
> seems to override the top level $CC). See the top level Makefile
> L448-456.  Then it should work for CC=clang or LLVM=1.

I would consider LLVM=1 is recommended and should be supported
first. Support for CC=clang CXX=clang++ etc. can be done later
if people find cases where LLVM=1 does not fit their need.

> 
>>
>>
>>> +CFLAGS += -Wno-unused-command-line-argument
>>> +endif
>>> +
>>
>> [...]
> 
> 
> 

  reply	other threads:[~2021-04-13 22:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-13 15:34 [PATCH bpf-next v3 0/5] bpf: tools: support build selftests/bpf with clang Yonghong Song
2021-04-13 15:34 ` [PATCH bpf-next v3 1/5] selftests: set CC to clang in lib.mk if LLVM is set Yonghong Song
2021-04-13 22:04   ` Andrii Nakryiko
2021-04-13 22:13     ` Nick Desaulniers
2021-04-13 22:27       ` Yonghong Song
2021-04-13 22:34         ` Nick Desaulniers
2021-04-13 23:22         ` Andrii Nakryiko
2021-04-13 15:34 ` [PATCH bpf-next v3 2/5] tools: allow proper CC/CXX/... override with LLVM=1 in Makefile.include Yonghong Song
2021-04-13 15:34 ` [PATCH bpf-next v3 3/5] selftests/bpf: fix test_cpp compilation failure with clang Yonghong Song
2021-04-13 22:05   ` Andrii Nakryiko
2021-04-13 15:34 ` [PATCH bpf-next v3 4/5] selftests/bpf: silence clang compilation warnings Yonghong Song
2021-04-13 22:07   ` Andrii Nakryiko
2021-04-13 22:17     ` Nick Desaulniers
2021-04-13 22:37       ` Yonghong Song [this message]
2021-04-13 15:34 ` [PATCH bpf-next v3 5/5] bpftool: fix a clang compilation warning Yonghong Song
2021-04-13 19:36 ` [PATCH bpf-next v3 0/5] bpf: tools: support build selftests/bpf with clang Martin KaFai Lau
2021-04-16  0:21 ` Alexei Starovoitov
2021-04-16  3:59   ` Yonghong Song

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d1c28757-3fd9-4395-53c1-deb3161e89d2@fb.com \
    --to=yhs@fb.com \
    --cc=andrii.nakryiko@gmail.com \
    --cc=andrii@kernel.org \
    --cc=arnaldo.melo@gmail.com \
    --cc=bpf@vger.kernel.org \
    --cc=kernel-team@fb.com \
    --cc=ndesaulniers@google.com \
    --cc=sedat.dilek@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.