lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.19 0363/1157] selftests/bpf: Dont force lld on non-x86 architectures
    Date
    From: Andrii Nakryiko <andrii@kernel.org>

    [ Upstream commit 08c79c9cd67fffd0d5538ddbd3a97b0a865b5eb5 ]

    LLVM's lld linker doesn't have a universal architecture support (e.g.,
    it definitely doesn't work on s390x), so be safe and force lld for
    urandom_read and liburandom_read.so only on x86 architectures.

    This should fix s390x CI runs.

    Fixes: 3e6fe5ce4d48 ("libbpf: Fix internal USDT address translation logic for shared libraries")
    Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
    Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
    Link: https://lore.kernel.org/bpf/20220617045512.1339795-1-andrii@kernel.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/testing/selftests/bpf/Makefile | 11 +++++++++--
    1 file changed, 9 insertions(+), 2 deletions(-)

    diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
    index 19ad83d306e0..21be936dd1af 100644
    --- a/tools/testing/selftests/bpf/Makefile
    +++ b/tools/testing/selftests/bpf/Makefile
    @@ -168,18 +168,25 @@ $(OUTPUT)/%:%.c
    $(call msg,BINARY,,$@)
    $(Q)$(LINK.c) $^ $(LDLIBS) -o $@

    +# LLVM's ld.lld doesn't support all the architectures, so use it only on x86
    +ifeq ($(SRCARCH),x86)
    +LLD := lld
    +else
    +LLD := ld
    +endif
    +
    # Filter out -static for liburandom_read.so and its dependent targets so that static builds
    # do not fail. Static builds leave urandom_read relying on system-wide shared libraries.
    $(OUTPUT)/liburandom_read.so: urandom_read_lib1.c urandom_read_lib2.c
    $(call msg,LIB,,$@)
    $(Q)$(CLANG) $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $^ $(LDLIBS) \
    - -fuse-ld=lld -Wl,-znoseparate-code -fPIC -shared -o $@
    + -fuse-ld=$(LLD) -Wl,-znoseparate-code -fPIC -shared -o $@

    $(OUTPUT)/urandom_read: urandom_read.c urandom_read_aux.c $(OUTPUT)/liburandom_read.so
    $(call msg,BINARY,,$@)
    $(Q)$(CLANG) $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $(filter %.c,$^) \
    liburandom_read.so $(LDLIBS) \
    - -fuse-ld=lld -Wl,-znoseparate-code \
    + -fuse-ld=$(LLD) -Wl,-znoseparate-code \
    -Wl,-rpath=. -Wl,--build-id=sha1 -o $@

    $(OUTPUT)/bpf_testmod.ko: $(VMLINUX_BTF) $(wildcard bpf_testmod/Makefile bpf_testmod/*.[ch])
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-16 01:34    [W:3.209 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site