perf diff: Use llabs() with 64-bit values
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 27 Nov 2019 12:58:22 +0000 (09:58 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 28 Nov 2019 11:08:37 +0000 (08:08 -0300)
To fix these build errors on a debian mipsel cross build environment:

  builtin-diff.c: In function 'block_cycles_diff_cmp':
  builtin-diff.c:550:6: error: absolute value function 'labs' given an argument of type 's64' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value]
    550 |  l = labs(left->diff.cycles);
        |      ^~~~
  builtin-diff.c:551:6: error: absolute value function 'labs' given an argument of type 's64' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value]
    551 |  r = labs(right->diff.cycles);
        |      ^~~~

Fixes: 99150a1faab2 ("perf diff: Use hists to manage basic blocks per symbol")
Cc: Jin Yao <yao.jin@linux.intel.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/n/tip-pn7szy5uw384ntjgk6zckh6a@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-diff.c

index 376dbf1..eae8793 100644 (file)
@@ -547,8 +547,8 @@ static int64_t block_cycles_diff_cmp(struct hist_entry *left,
        if (!pairs_left && !pairs_right)
                return 0;
 
-       l = labs(left->diff.cycles);
-       r = labs(right->diff.cycles);
+       l = llabs(left->diff.cycles);
+       r = llabs(right->diff.cycles);
        return r - l;
 }