diff mbox series

[bpf-next] samples: bpf: fix linking xdp_router_ipv4 after migration

Message ID 20220404115451.1116478-1-alexandr.lobakin@intel.com (mailing list archive)
State Accepted
Commit fc843ccd8e4c084fa5d605a876db2d3a3c38be88
Delegated to: BPF
Headers show
Series [bpf-next] samples: bpf: fix linking xdp_router_ipv4 after migration | expand

Checks

Context Check Description
netdev/tree_selection success Clearly marked for bpf-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Single patches do not need cover letters
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers success CCed 14 of 14 maintainers
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/verify_fixes success Fixes tag looks correct
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 7 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0
bpf/vmtest-bpf-next-PR fail PR summary

Commit Message

Alexander Lobakin April 4, 2022, 11:54 a.m. UTC
Users of the xdp_sample_user infra should be explicitly linked
with the standard math library (`-lm`). Otherwise, the following
happens:

/usr/bin/ld: xdp_sample_user.c:(.text+0x59fc): undefined reference to `ceil'
/usr/bin/ld: xdp_sample_user.c:(.text+0x5a0d): undefined reference to `ceil'
/usr/bin/ld: xdp_sample_user.c:(.text+0x5adc): undefined reference to `floor'
/usr/bin/ld: xdp_sample_user.c:(.text+0x5b01): undefined reference to `ceil'
/usr/bin/ld: xdp_sample_user.c:(.text+0x5c1e): undefined reference to `floor'
/usr/bin/ld: xdp_sample_user.c:(.text+0x5c43): undefined reference to `ceil
[...]

That happened previously, so there's a block of linkage flags in the
Makefile. xdp_router_ipv4 has been transferred to this infra quite
recently, but hasn't been added to it. Fix.

Fixes: 85bf1f51691c ("samples: bpf: Convert xdp_router_ipv4 to XDP samples helper")
Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
---
 samples/bpf/Makefile | 1 +
 1 file changed, 1 insertion(+)

Comments

Andrii Nakryiko April 4, 2022, 9:45 p.m. UTC | #1
On Mon, Apr 4, 2022 at 4:57 AM Alexander Lobakin
<alexandr.lobakin@intel.com> wrote:
>
> Users of the xdp_sample_user infra should be explicitly linked
> with the standard math library (`-lm`). Otherwise, the following
> happens:
>
> /usr/bin/ld: xdp_sample_user.c:(.text+0x59fc): undefined reference to `ceil'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5a0d): undefined reference to `ceil'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5adc): undefined reference to `floor'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5b01): undefined reference to `ceil'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5c1e): undefined reference to `floor'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5c43): undefined reference to `ceil
> [...]

I actually don't get these, but applied to bpf-next anyway.

>
> That happened previously, so there's a block of linkage flags in the
> Makefile. xdp_router_ipv4 has been transferred to this infra quite
> recently, but hasn't been added to it. Fix.
>
> Fixes: 85bf1f51691c ("samples: bpf: Convert xdp_router_ipv4 to XDP samples helper")
> Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
> ---
>  samples/bpf/Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> index b4fa0e69aa14..342a41a10356 100644
> --- a/samples/bpf/Makefile
> +++ b/samples/bpf/Makefile
> @@ -219,6 +219,7 @@ TPROGLDLIBS_xdp_redirect    += -lm
>  TPROGLDLIBS_xdp_redirect_cpu   += -lm
>  TPROGLDLIBS_xdp_redirect_map   += -lm
>  TPROGLDLIBS_xdp_redirect_map_multi += -lm
> +TPROGLDLIBS_xdp_router_ipv4    += -lm
>  TPROGLDLIBS_tracex4            += -lrt
>  TPROGLDLIBS_trace_output       += -lrt
>  TPROGLDLIBS_map_perf_test      += -lrt
> --
> 2.35.1
>
patchwork-bot+netdevbpf@kernel.org April 4, 2022, 9:50 p.m. UTC | #2
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Mon,  4 Apr 2022 13:54:51 +0200 you wrote:
> Users of the xdp_sample_user infra should be explicitly linked
> with the standard math library (`-lm`). Otherwise, the following
> happens:
> 
> /usr/bin/ld: xdp_sample_user.c:(.text+0x59fc): undefined reference to `ceil'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5a0d): undefined reference to `ceil'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5adc): undefined reference to `floor'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5b01): undefined reference to `ceil'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5c1e): undefined reference to `floor'
> /usr/bin/ld: xdp_sample_user.c:(.text+0x5c43): undefined reference to `ceil
> [...]
> 
> [...]

Here is the summary with links:
  - [bpf-next] samples: bpf: fix linking xdp_router_ipv4 after migration
    https://git.kernel.org/bpf/bpf-next/c/fc843ccd8e4c

You are awesome, thank you!
Alexander Lobakin April 5, 2022, 10:32 a.m. UTC | #3
From: Andrii Nakryiko <andrii.nakryiko@gmail.com>
Date: Mon, 4 Apr 2022 14:45:43 -0700

> On Mon, Apr 4, 2022 at 4:57 AM Alexander Lobakin
> <alexandr.lobakin@intel.com> wrote:
> >
> > Users of the xdp_sample_user infra should be explicitly linked
> > with the standard math library (`-lm`). Otherwise, the following
> > happens:
> >
> > /usr/bin/ld: xdp_sample_user.c:(.text+0x59fc): undefined reference to `ceil'
> > /usr/bin/ld: xdp_sample_user.c:(.text+0x5a0d): undefined reference to `ceil'
> > /usr/bin/ld: xdp_sample_user.c:(.text+0x5adc): undefined reference to `floor'
> > /usr/bin/ld: xdp_sample_user.c:(.text+0x5b01): undefined reference to `ceil'
> > /usr/bin/ld: xdp_sample_user.c:(.text+0x5c1e): undefined reference to `floor'
> > /usr/bin/ld: xdp_sample_user.c:(.text+0x5c43): undefined reference to `ceil
> > [...]
> 
> I actually don't get these, but applied to bpf-next anyway.

Depends on the compiler/linker I guess. They appear on `make LLVM=1`
on my setup.
Thanks!

> 
> >
> > That happened previously, so there's a block of linkage flags in the
> > Makefile. xdp_router_ipv4 has been transferred to this infra quite
> > recently, but hasn't been added to it. Fix.
> >
> > Fixes: 85bf1f51691c ("samples: bpf: Convert xdp_router_ipv4 to XDP samples helper")
> > Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com>
> > ---
> >  samples/bpf/Makefile | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
> > index b4fa0e69aa14..342a41a10356 100644
> > --- a/samples/bpf/Makefile
> > +++ b/samples/bpf/Makefile
> > @@ -219,6 +219,7 @@ TPROGLDLIBS_xdp_redirect    += -lm
> >  TPROGLDLIBS_xdp_redirect_cpu   += -lm
> >  TPROGLDLIBS_xdp_redirect_map   += -lm
> >  TPROGLDLIBS_xdp_redirect_map_multi += -lm
> > +TPROGLDLIBS_xdp_router_ipv4    += -lm
> >  TPROGLDLIBS_tracex4            += -lrt
> >  TPROGLDLIBS_trace_output       += -lrt
> >  TPROGLDLIBS_map_perf_test      += -lrt
> > --
> > 2.35.1

Al
diff mbox series

Patch

diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index b4fa0e69aa14..342a41a10356 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -219,6 +219,7 @@  TPROGLDLIBS_xdp_redirect	+= -lm
 TPROGLDLIBS_xdp_redirect_cpu	+= -lm
 TPROGLDLIBS_xdp_redirect_map	+= -lm
 TPROGLDLIBS_xdp_redirect_map_multi += -lm
+TPROGLDLIBS_xdp_router_ipv4	+= -lm
 TPROGLDLIBS_tracex4		+= -lrt
 TPROGLDLIBS_trace_output	+= -lrt
 TPROGLDLIBS_map_perf_test	+= -lrt