]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
selftests/bpf: Disable warnings on unused flags for Clang builds
authorViktor Malik <vmalik@redhat.com>
Fri, 1 Nov 2024 08:27:13 +0000 (09:27 +0100)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 1 Nov 2024 19:37:01 +0000 (12:37 -0700)
There exist compiler flags supported by GCC but not supported by Clang
(e.g. -specs=...). Currently, these cannot be passed to BPF selftests
builds, even when building with GCC, as some binaries (urandom_read and
liburandom_read.so) are always built with Clang and the unsupported
flags make the compilation fail (as -Werror is turned on).

Add -Wno-unused-command-line-argument to these rules to suppress such
errors.

This allows to do things like:

    $ CFLAGS="-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1" \
      make -C tools/testing/selftests/bpf

Without this patch, the compilation would fail with:

    [...]
    clang: error: argument unused during compilation: '-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1' [-Werror,-Wunused-command-line-argument]
    make: *** [Makefile:273: /bpf-next/tools/testing/selftests/bpf/liburandom_read.so] Error 1
    [...]

Signed-off-by: Viktor Malik <vmalik@redhat.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Link: https://lore.kernel.org/bpf/2d349e9d5eb0a79dd9ff94b496769d64e6ff7654.1730449390.git.vmalik@redhat.com
tools/testing/selftests/bpf/Makefile

index a226d0647c4e313d62b1f3c8608187cbc62d45a3..d5aaa674dab5c3ac0896207efe8c61de239479c9 100644 (file)
@@ -274,6 +274,7 @@ $(OUTPUT)/liburandom_read.so: urandom_read_lib1.c urandom_read_lib2.c liburandom
        $(Q)$(CLANG) $(CLANG_TARGET_ARCH) \
                     $(filter-out -static,$(CFLAGS) $(LDFLAGS)) \
                     $(filter %.c,$^) $(filter-out -static,$(LDLIBS)) \
+                    -Wno-unused-command-line-argument \
                     -fuse-ld=$(LLD) -Wl,-znoseparate-code -Wl,--build-id=sha1 \
                     -Wl,--version-script=liburandom_read.map \
                     -fPIC -shared -o $@
@@ -282,6 +283,7 @@ $(OUTPUT)/urandom_read: urandom_read.c urandom_read_aux.c $(OUTPUT)/liburandom_r
        $(call msg,BINARY,,$@)
        $(Q)$(CLANG) $(CLANG_TARGET_ARCH) \
                     $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $(filter %.c,$^) \
+                    -Wno-unused-command-line-argument \
                     -lurandom_read $(filter-out -static,$(LDLIBS)) -L$(OUTPUT) \
                     -fuse-ld=$(LLD) -Wl,-znoseparate-code -Wl,--build-id=sha1 \
                     -Wl,-rpath=. -o $@