perf symbols: Fix comparision of build_ids
authorArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 18 Nov 2009 22:20:50 +0000 (20:20 -0200)
committerIngo Molnar <mingo@elte.hu>
Thu, 19 Nov 2009 07:28:11 +0000 (08:28 +0100)
commitd3379ab9050e5522da2aac53d413651fc06be562
treec52b2752ec9dd96f1c88dec5293678da08a8a6bd
parentb269876c8d57fb8c801bea1fc34b461646c5abd0
perf symbols: Fix comparision of build_ids

When we read the build_id from the DSO name to then index into
/usr/lib/debug/.buildid/DSO_BUILD_ID[0:2]/DSO_BUILD_ID[2:], we
were jumping directly to the comparision with the buildid we
already have in dso->build_id (that came from the perf.data
build_id section, collected at perf record time)
unconditionally, even if we didn't had recorded it, and
furthermore, comparing a formatted buildid with a rawbuildid, yikes.

Fix it by deleting the dso__read_build_id() function, that was
really misdesigned anyway, and do the necessary checks and
correct comparison of raw buildids.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1258582853-8579-1-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
tools/perf/util/symbol.c