lkml.org 
[lkml]   [2024]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] selftests/binderfs: use the Makefile's rules, not Make's implicit rules
On Thu, May 02, 2024 at 06:58:20PM -0700, John Hubbard wrote:
> First of all, in order to build with clang at all, one must first apply
> Valentin Obst's build fix for LLVM [1]. Once that is done, then when
> building with clang, via:
>
> make LLVM=1 -C tools/testing/selftests
>
> ...the following error occurs:
>
> clang: error: cannot specify -o when generating multiple output files
>
> This is because clang, unlike gcc, won't accept invocations of this
> form:
>
> clang file1.c header2.h
>
> While trying to fix this, I noticed that:
>
> a) selftests/lib.mk already avoids the problem, and
>
> b) The binderfs Makefile indavertently bypasses the selftests/lib.mk
> build system, and quitely uses Make's implicit build rules for .c files
> instead.
>
> The Makefile attempts to set up both a dependency and a source file,
> neither of which was needed, because lib.mk is able to automatically
> handle both. This line:
>
> binderfs_test: binderfs_test.c
>
> ...causes Make's implicit rules to run, which builds binderfs_test
> without ever looking at lib.mk.
>
> Fix this by simply deleting the "binderfs_test:" Makefile target and
> letting lib.mk handle it instead.
>
> [1] https://lore.kernel.org/all/20240329-selftests-libmk-llvm-rfc-v1-1-2f9ed7d1c49f@valentinobst.de/
>
> Fixes: 6e29225af902 ("binderfs: port tests to test harness infrastructure")
> Cc: Christian Brauner <brauner@kernel.org>
> Signed-off-by: John Hubbard <jhubbard@nvidia.com>
> ---

Reviewed-by: Christian Brauner <brauner@kernel.org>

\
 
 \ /
  Last update: 2024-05-27 18:14    [W:0.070 / U:0.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site