Re: [PATCH] perf annotate: Fix build on 32 bit for BPF annotation
From: Song Liu
Date: Wed Apr 03 2019 - 17:34:14 EST
> On Apr 3, 2019, at 12:44 PM, Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxx> wrote:
>
> Commit 6987561c9e86 ("perf annotate: Enable annotation of BPF programs") adds
> support for BPF programs annotations but the new code does not build on 32-bit.
>
> Fixes: 6987561c9e86 ("perf annotate: Enable annotation of BPF programs")
> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxx>
Acked-by: Song Liu <songliubraving@xxxxxx>
Thanks for the fix!
Song
> ---
> tools/perf/util/annotate.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index c8b01176c9e1..09762985c713 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -1714,8 +1714,8 @@ static int symbol__disassemble_bpf(struct symbol *sym,
> if (dso->binary_type != DSO_BINARY_TYPE__BPF_PROG_INFO)
> return -1;
>
> - pr_debug("%s: handling sym %s addr %lx len %lx\n", __func__,
> - sym->name, sym->start, sym->end - sym->start);
> + pr_debug("%s: handling sym %s addr %" PRIx64 " len %" PRIx64 "\n", __func__,
> + sym->name, sym->start, sym->end - sym->start);
>
> memset(tpath, 0, sizeof(tpath));
> perf_exe(tpath, sizeof(tpath));
> @@ -1740,7 +1740,7 @@ static int symbol__disassemble_bpf(struct symbol *sym,
> info_linear = info_node->info_linear;
> sub_id = dso->bpf_prog.sub_id;
>
> - info.buffer = (void *)(info_linear->info.jited_prog_insns);
> + info.buffer = (void *)(uintptr_t)(info_linear->info.jited_prog_insns);
> info.buffer_length = info_linear->info.jited_prog_len;
>
> if (info_linear->info.nr_line_info)
> @@ -1776,7 +1776,7 @@ static int symbol__disassemble_bpf(struct symbol *sym,
> const char *srcline;
> u64 addr;
>
> - addr = pc + ((u64 *)(info_linear->info.jited_ksyms))[sub_id];
> + addr = pc + ((u64 *)(uintptr_t)(info_linear->info.jited_ksyms))[sub_id];
> count = disassemble(pc, &info);
>
> if (prog_linfo)
> --
> 2.20.1
>