On 7/8/19 9:00 PM, Andrii Nakryiko wrote: > On 32-bit platforms compiler complains about conversion: > > libbpf.c: In function ‘perf_event_open_probe’: > libbpf.c:4112:17: error: cast from pointer to integer of different > size [-Werror=pointer-to-int-cast] > attr.config1 = (uint64_t)(void *)name; /* kprobe_func or uprobe_path */ > ^ > > Reported-by: Matt Hart <matthew.hart@xxxxxxxxxx> > Fixes: b26500274767 ("libbpf: add kprobe/uprobe attach API") > Tested-by: Matt Hart <matthew.hart@xxxxxxxxxx> > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx> Acked-by: Yonghong Song <yhs@xxxxxx> > --- > tools/lib/bpf/libbpf.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c > index ed07789b3e62..794dd5064ae8 100644 > --- a/tools/lib/bpf/libbpf.c > +++ b/tools/lib/bpf/libbpf.c > @@ -4126,8 +4126,8 @@ static int perf_event_open_probe(bool uprobe, bool retprobe, const char *name, > } > attr.size = sizeof(attr); > attr.type = type; > - attr.config1 = (uint64_t)(void *)name; /* kprobe_func or uprobe_path */ > - attr.config2 = offset; /* kprobe_addr or probe_offset */ > + attr.config1 = ptr_to_u64(name); /* kprobe_func or uprobe_path */ > + attr.config2 = offset; /* kprobe_addr or probe_offset */ > > /* pid filter is meaningful only for uprobes */ > pfd = syscall(__NR_perf_event_open, &attr, >