Re: [PATCH bpf-next] selftests/bpf: fix selection of static vs. dynamic LLVM

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

 



On Mon, Mar 10, 2025 at 02:51:12PM +0000, Anton Protopopov wrote:
> The Makefile uses the exit code of the `llvm-config --link-static --libs`
> command to choose between statically-linked and dynamically-linked LLVMs.
> The stdout and stderr of that command are redirected to /dev/null.
> To redirect the output the "&>" construction is used, which might not be
> supported by /bin/sh, which is executed by make for $(shell ...) commands.
> On such systems the test will fail even if static LLVM is actually
> supported. Replace "&>" by ">/dev/null 2>&1" to fix this.
> 
> Fixes: 2a9d30fac818 ("selftests/bpf: Support dynamically linking LLVM if static is not available")
> Signed-off-by: Anton Protopopov <aspsk@xxxxxxxxxxxxx>
> ---
>  tools/testing/selftests/bpf/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> index 739305064839..ca41d47d4ba6 100644
> --- a/tools/testing/selftests/bpf/Makefile
> +++ b/tools/testing/selftests/bpf/Makefile
> @@ -180,7 +180,7 @@ ifeq ($(feature-llvm),1)
>    # both llvm-config and lib.mk add -D_GNU_SOURCE, which ends up as conflict
>    LLVM_CFLAGS  += $(filter-out -D_GNU_SOURCE,$(shell $(LLVM_CONFIG) --cflags))
>    # Prefer linking statically if it's available, otherwise fallback to shared
> -  ifeq ($(shell $(LLVM_CONFIG) --link-static --libs &> /dev/null && echo static),static)
> +  ifeq ($(shell $(LLVM_CONFIG) --link-static --libs >/dev/null 2>&1 && echo static),static)
>      LLVM_LDLIBS  += $(shell $(LLVM_CONFIG) --link-static --libs $(LLVM_CONFIG_LIB_COMPONENTS))
>      LLVM_LDLIBS  += $(shell $(LLVM_CONFIG) --link-static --system-libs $(LLVM_CONFIG_LIB_COMPONENTS))
>      LLVM_LDLIBS  += -lstdc++
> -- 
> 2.34.1
> 

Acked-by: Daniel Xu <dxu@xxxxxxxxx>




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux