On Tue, 31 Mar 2026 12:01:53 +0800 Li Wang <[email protected]> wrote:

> The 32-bit and 64-bit compilation rules invoke $(CC) directly, bypassing
> the $(Q) quiet prefix and $(call msg,...) helper used by the rest of the
> selftests build system. This causes these rules to always print the full
> compiler command line, even when V=0 (the default).
> 
> Wrap the commands with $(Q) and $(call msg,CC,,$@) to match the
> convention used by lib.mk, so that quiet and verbose builds behave
> consistently across all targets.
> 
> ==== Build logs ====
>   ...
>   CC       merge
>   CC       rmap
>   CC       soft-dirty
>   gcc -Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..
>                 -isystem 
> /usr/src/25/tools/testing/selftests/../../../usr/include
>                 -isystem 
> /usr/src/25/tools/testing/selftests/../../../tools/include/uapi
>                 -Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE=
>                 
> -I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests
>                 -m32 -mxsave  protection_keys.c vm_util.c thp_settings.c 
> pkey_util.c
>                 -lrt -lpthread -lm -lrt -ldl -lm
>                 -o /usr/src/25/tools/testing/selftests/mm/protection_keys_32
>   gcc -Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..
>                 -isystem 
> /usr/src/25/tools/testing/selftests/../../../usr/include
>                 -isystem 
> /usr/src/25/tools/testing/selftests/../../../tools/include/uapi
>                 -Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE=
>                 
> -I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests
>                 -m32 -mxsave  pkey_sighandler_tests.c vm_util.c 
> thp_settings.c pkey_util.c
>                 -lrt -lpthread -lm -lrt -ldl -lm
>                 -o 
> /usr/src/25/tools/testing/selftests/mm/pkey_sighandler_tests_32
>   ...
> 
> Reported-by: Andrew Morton <[email protected]>

wow, thanks, do you want my credit card number?

>  tools/testing/selftests/mm/Makefile | 6 ++++--

Before: 

ts:/usr/src/25/tools/testing/selftests/mm> make -j100
CC="gcc" CFLAGS="-Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..  
-isystem /usr/src/25/tools/testing/selftests/../../../usr/include -isystem 
/usr/src/25/tools/testing/selftests/../../../tools/include/uapi 
-Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE= 
-I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests " 
./check_config.sh
  CC       cow
  CC       compaction_test
  CC       gup_longterm
  CC       gup_test
  CC       hmm-tests
  CC       hugetlb-madvise
  CC       hugetlb-read-hwpoison
  CC       hugetlb-soft-offline
  CC       hugepage-mmap
  CC       hugepage-mremap
  CC       hugepage-shm
  CC       hugepage-vmemmap
  CC       khugepaged
  CC       madv_populate
  CC       map_fixed_noreplace
  CC       map_populate
  CC       map_hugetlb
  CC       memfd_secret
  CC       memory-failure
  CC       migration
  CC       mkdirty
  CC       mlock-random-test
  CC       mlock2-tests
  CC       mremap_dontunmap
  CC       mrelease_test
...
  CC       merge
  CC       rmap
gcc -Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..  -isystem 
/usr/src/25/tools/testing/selftests/../../../usr/include -isystem 
/usr/src/25/tools/testing/selftests/../../../tools/include/uapi 
-Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE= 
-I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests  -m32 
-mxsave  protection_keys.c vm_util.c thp_settings.c pkey_util.c -lrt -lpthread 
-lm -lrt -ldl -lm -o /usr/src/25/tools/testing/selftests/mm/protection_keys_32
  CC       folio_split_race_test
  CC       soft-dirty
gcc -Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..  -isystem 
/usr/src/25/tools/testing/selftests/../../../usr/include -isystem 
/usr/src/25/tools/testing/selftests/../../../tools/include/uapi 
-Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE= 
-I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests  -m32 
-mxsave  pkey_sighandler_tests.c vm_util.c thp_settings.c pkey_util.c -lrt 
-lpthread -lm -lrt -ldl -lm -o 
/usr/src/25/tools/testing/selftests/mm/pkey_sighandler_tests_32
gcc -Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..  -isystem 
/usr/src/25/tools/testing/selftests/../../../usr/include -isystem 
/usr/src/25/tools/testing/selftests/../../../tools/include/uapi 
-Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE= 
-I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests  -m64 
-mxsave  protection_keys.c vm_util.c thp_settings.c pkey_util.c -lrt -lpthread 
-lm -lrt -ldl -o /usr/src/25/tools/testing/selftests/mm/protection_keys_64
gcc -Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..  -isystem 
/usr/src/25/tools/testing/selftests/../../../usr/include -isystem 
/usr/src/25/tools/testing/selftests/../../../tools/include/uapi 
-Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE= 
-I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests  -m64 
-mxsave  pkey_sighandler_tests.c vm_util.c thp_settings.c pkey_util.c -lrt 
-lpthread -lm -lrt -ldl -o 
/usr/src/25/tools/testing/selftests/mm/pkey_sighandler_tests_64
  CC       write_to_hugetlbfs


after:

ts:/usr/src/25/tools/testing/selftests/mm> make clean
...
ts:/usr/src/25/tools/testing/selftests/mm> make -j100
CC="gcc" CFLAGS="-Wall -O2 -I /usr/src/25/tools/testing/selftests/../../..  
-isystem /usr/src/25/tools/testing/selftests/../../../usr/include -isystem 
/usr/src/25/tools/testing/selftests/../../../tools/include/uapi 
-Wunreachable-code -U_FORTIFY_SOURCE -no-pie -D_GNU_SOURCE= 
-I/usr/src/25/tools/testing/selftests/../../../tools/testing/selftests " 
./check_config.sh
  CC       cow
  CC       compaction_test
  CC       gup_longterm
  CC       gup_test
  CC       hmm-tests
  CC       hugetlb-madvise
  CC       hugetlb-read-hwpoison
  CC       hugetlb-soft-offline
  CC       hugepage-mmap
  CC       hugepage-mremap
  CC       hugepage-shm
  CC       hugepage-vmemmap
  CC       khugepaged
  CC       madv_populate
  CC       map_fixed_noreplace
  CC       map_hugetlb
  CC       map_populate
  CC       memfd_secret
  CC       memory-failure
  CC       migration
  CC       mkdirty
  CC       mlock-random-test
  CC       mlock2-tests
  CC       mrelease_test
  CC       mremap_dontunmap
  CC       mremap_test
  CC       mseal_test
  CC       on-fault-limit
  CC       pagemap_ioctl
  CC       pfnmap
  CC       process_madv
  CC       prctl_thp_disable
  CC       thuge-gen
  CC       transhuge-stress
  CC       uffd-stress
  CC       uffd-unit-tests
  CC       uffd-wp-mremap
  CC       split_huge_page_test
  CC       ksm_tests
  CC       ksm_functional_tests
  CC       mdwe_test
  CC       hugetlb_fault_after_madv
  CC       hugetlb_madv_vs_map
  CC       hugetlb_dio
  CC       droppable
  CC       guard-regions
  CC       merge
  CC       rmap
  CC       folio_split_race_test
  CC       soft-dirty
  CC       protection_keys_32
  CC       pkey_sighandler_tests_32
  CC       protection_keys_64
  CC       pkey_sighandler_tests_64
  CC       va_high_addr_switch
  CC       write_to_hugetlbfs

Tested-by: Andrew Morton <[email protected]>


Reply via email to