Patch "selftests/binderfs: use the Makefile's rules, not Make's implicit rules" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    selftests/binderfs: use the Makefile's rules, not Make's implicit rules

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     selftests-binderfs-use-the-makefile-s-rules-not-make.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 90b4b9fa2fb27181c0b20aa715f0c9b7aff3df34
Author: John Hubbard <jhubbard@xxxxxxxxxx>
Date:   Thu May 2 18:58:20 2024 -0700

    selftests/binderfs: use the Makefile's rules, not Make's implicit rules
    
    [ Upstream commit 019baf635eb6ffe8d6c1343f81788f02a7e0ed98 ]
    
    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@xxxxxxxxxxxxxxx/
    
    Fixes: 6e29225af902 ("binderfs: port tests to test harness infrastructure")
    Cc: Christian Brauner <brauner@xxxxxxxxxx>
    Signed-off-by: John Hubbard <jhubbard@xxxxxxxxxx>
    Reviewed-by: Christian Brauner <brauner@xxxxxxxxxx>
    Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/tools/testing/selftests/filesystems/binderfs/Makefile b/tools/testing/selftests/filesystems/binderfs/Makefile
index 8af25ae960498..24d8910c7ab58 100644
--- a/tools/testing/selftests/filesystems/binderfs/Makefile
+++ b/tools/testing/selftests/filesystems/binderfs/Makefile
@@ -3,6 +3,4 @@
 CFLAGS += -I../../../../../usr/include/ -pthread
 TEST_GEN_PROGS := binderfs_test
 
-binderfs_test: binderfs_test.c ../../kselftest.h ../../kselftest_harness.h
-
 include ../../lib.mk




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux