Re: [PATCH v2] tools/bpf: fix perf build error with uClibc (seen on ARC)

From: Y Song
Date: Thu May 02 2019 - 16:20:29 EST


On Thu, May 2, 2019 at 8:57 AM Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> wrote:
>
> When build perf for ARC recently, there was a build failure due to lack
> of __NR_bpf.
>
> | Auto-detecting system features:
> |
> | ... get_cpuid: [ OFF ]
> | ... bpf: [ on ]
> |
> | # error __NR_bpf not defined. libbpf does not support your arch.
> ^~~~~
> | bpf.c: In function 'sys_bpf':
> | bpf.c:66:17: error: '__NR_bpf' undeclared (first use in this function)
> | return syscall(__NR_bpf, cmd, attr, size);
> | ^~~~~~~~
> | sys_bpf
>
> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx>

Acked-by: Yonghong Song <yhs@xxxxxx>

> ---
> v1 -> v2
> - Only add syscall nr for ARC, as asm-generic won't work with arm/sh [Y Song]
> ---
> tools/lib/bpf/bpf.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/lib/bpf/bpf.c b/tools/lib/bpf/bpf.c
> index 9cd015574e83..d82edadf7589 100644
> --- a/tools/lib/bpf/bpf.c
> +++ b/tools/lib/bpf/bpf.c
> @@ -46,6 +46,8 @@
> # define __NR_bpf 349
> # elif defined(__s390__)
> # define __NR_bpf 351
> +# elif defined(__arc__)
> +# define __NR_bpf 280
> # else
> # error __NR_bpf not defined. libbpf does not support your arch.
> # endif
> --
> 2.7.4
>