perf buildid-cache: Add new buildid cache if update target is not cached
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Thu, 26 Feb 2015 06:54:40 +0000 (15:54 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 27 Feb 2015 13:08:37 +0000 (10:08 -0300)
commita50d11a10c2db86d7383c281d4e249d5393661e9
tree75de0fc30dd2401a309c654adebfc8ac058559b2
parent38ae502b1df196f712f6f5d3609afc36337b330b
perf buildid-cache: Add new buildid cache if update target is not cached

Add new buildid cache if the update target file is not cached.

This can happen when an old binary is replaced by new one after caching
the old one. In this case, user sees his operation just failed.

But it does not look straight, since user just pass the binary "path",
not "build-id".

  ----
  # ./perf buildid-cache --add ./perf
  (update ./perf to new binary)
  # ./perf buildid-cache --update ./perf
  ./perf wasn't in the cache
  #
  ----

This patch adds given new binary to cache if the new binary is
not cached. So we'll not see the above error.

  ----
  # ./perf buildid-cache --add ./perf
  (update ./perf to new binary)
  # ./perf buildid-cache --update ./perf
  #
  ----

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Hemant Kumar <hemant@linux.vnet.ibm.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/20150226065440.23912.1494.stgit@localhost.localdomain
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/Documentation/perf-buildid-cache.txt
tools/perf/builtin-buildid-cache.c
tools/perf/util/build-id.c
tools/perf/util/build-id.h