perf bench breakpoint: Fix build on 32-bit arches
authorArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 17 May 2022 00:18:11 +0000 (21:18 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 17 May 2022 00:23:09 +0000 (21:23 -0300)
Cast pointers to unsigned long instead of to uint64_t to avoid this
problem on 32-bit arches:

  31     6.89 debian:experimental-x-mips    : FAIL gcc version 11.2.0 (Debian 11.2.0-18)
    bench/breakpoint.c: In function 'breakpoint_setup':
    bench/breakpoint.c:56:24: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
       56 |         attr.bp_addr = (uint64_t)addr;
          |                        ^
    cc1: all warnings being treated as errors
    make[3]: *** [/git/perf-5.18.0-rc7/tools/build/Makefile.build:139: bench] Error 2

Fixes: 68a6772f11dbb1ed ("perf bench: Add breakpoint benchmarks")
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Marco Elver <elver@google.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/YoLq1nHx1doi+VWl@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/bench/breakpoint.c

index 2f30a4df551f7be47e78818b8fa8b227c1673f8f..41385f89ffc76494f25881d2c5fa22ef46b9415e 100644 (file)
@@ -53,7 +53,7 @@ static int breakpoint_setup(void *addr)
        attr.inherit = 1;
        attr.exclude_kernel = 1;
        attr.exclude_hv = 1;
-       attr.bp_addr = (uint64_t)addr;
+       attr.bp_addr = (unsigned long)addr;
        attr.bp_type = HW_BREAKPOINT_RW;
        attr.bp_len = HW_BREAKPOINT_LEN_1;
        return syscall(SYS_perf_event_open, &attr, 0, -1, -1, 0);