perf block-info: Fix wrong block address comparison in block_info__cmp()
authorJin Yao <yao.jin@linux.intel.com>
Sun, 2 Feb 2020 14:16:52 +0000 (22:16 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Tue, 10 Mar 2020 00:43:25 +0000 (21:43 -0300)
commit3e152aa984ff4f639f7d2daf1ad10d408c0a3332
tree34262d1b1c44ce49cd2cb46423ba6cd2a917ddbf
parentd942815a76463fa53b81d3d1c064f76bb3f80ead
perf block-info: Fix wrong block address comparison in block_info__cmp()

Commit 6041441870ab ("perf block: Cleanup and refactor block info
functions") introduces block_info__cmp(), which compares two blocks.

But the issues are:

1. It should return the strcmp cmp value only if it's not 0.

2. When symbol names are matched, we need to compare the addresses
   of blocks further. But it wrongly uses the symbol addresses for
   comparison.

3. If the syms are both NULL, we can't consider these two blocks are
   matched.

This patch fixes above 3 issues.

Fixes: 6041441870ab ("perf block: Cleanup and refactor block info functions")
Signed-off-by: Jin Yao <yao.jin@linux.intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jin Yao <yao.jin@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20200202141655.32053-2-yao.jin@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/block-info.c