diff mbox series

[bpf] libbpf: fix build on ppc64le architecture

Message ID 20200818164456.1181661-1-andriin@fb.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf] libbpf: fix build on ppc64le architecture | expand

Commit Message

Andrii Nakryiko Aug. 18, 2020, 4:44 p.m. UTC
On ppc64le we get the following warning:

  In file included from btf_dump.c:16:0:
  btf_dump.c: In function ‘btf_dump_emit_struct_def’:
  ../include/linux/kernel.h:20:17: error: comparison of distinct pointer types lacks a cast [-Werror]
    (void) (&_max1 == &_max2);  \
                   ^
  btf_dump.c:882:11: note: in expansion of macro ‘max’
      m_sz = max(0LL, btf__resolve_size(d->btf, m->type));
             ^~~

Fix by explicitly casting to __s64, which is a return type from
btf__resolve_size().

Fixes: 702eddc77a90 ("libbpf: Handle GCC built-in types for Arm NEON")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
---
 tools/lib/bpf/btf_dump.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexei Starovoitov Aug. 18, 2020, 5:04 p.m. UTC | #1
On Tue, Aug 18, 2020 at 9:47 AM Andrii Nakryiko <andriin@fb.com> wrote:
>
> On ppc64le we get the following warning:
>
>   In file included from btf_dump.c:16:0:
>   btf_dump.c: In function ‘btf_dump_emit_struct_def’:
>   ../include/linux/kernel.h:20:17: error: comparison of distinct pointer types lacks a cast [-Werror]
>     (void) (&_max1 == &_max2);  \
>                    ^
>   btf_dump.c:882:11: note: in expansion of macro ‘max’
>       m_sz = max(0LL, btf__resolve_size(d->btf, m->type));
>              ^~~
>
> Fix by explicitly casting to __s64, which is a return type from
> btf__resolve_size().
>
> Fixes: 702eddc77a90 ("libbpf: Handle GCC built-in types for Arm NEON")
> Signed-off-by: Andrii Nakryiko <andriin@fb.com>

Applied. Thanks
diff mbox series

Patch

diff --git a/tools/lib/bpf/btf_dump.c b/tools/lib/bpf/btf_dump.c
index fe39bd774697..57c00fa63932 100644
--- a/tools/lib/bpf/btf_dump.c
+++ b/tools/lib/bpf/btf_dump.c
@@ -879,7 +879,7 @@  static void btf_dump_emit_struct_def(struct btf_dump *d,
 			btf_dump_printf(d, ": %d", m_sz);
 			off = m_off + m_sz;
 		} else {
-			m_sz = max(0LL, btf__resolve_size(d->btf, m->type));
+			m_sz = max((__s64)0, btf__resolve_size(d->btf, m->type));
 			off = m_off + m_sz * 8;
 		}
 		btf_dump_printf(d, ";");