]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
perf annotate: Fix build on 32 bit for BPF annotation
authorThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Wed, 3 Apr 2019 19:44:52 +0000 (16:44 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 2 May 2019 20:00:19 +0000 (16:00 -0400)
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.

Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Acked-by: Song Liu <songliubraving@fb.com>
Fixes: 6987561c9e86 ("perf annotate: Enable annotation of BPF programs")
Link: http://lkml.kernel.org/r/20190403194452.10845-1-cascardo@canonical.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c

index c8b01176c9e162c4a80ff5264568d699774bb413..09762985c7137c36e64b68046639f699477b37c0 100644 (file)
@@ -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)