Merge tag 'boards-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
[cascardo/linux.git] / tools / perf / builtin-buildid-cache.c
index b22dbb1..2a2c78f 100644 (file)
@@ -125,7 +125,8 @@ static int build_id_cache__kcore_existing(const char *from_dir, char *to_dir,
        return ret;
 }
 
-static int build_id_cache__add_kcore(const char *filename, const char *debugdir)
+static int build_id_cache__add_kcore(const char *filename, const char *debugdir,
+                                    bool force)
 {
        char dir[32], sbuildid[BUILD_ID_SIZE * 2 + 1];
        char from_dir[PATH_MAX], to_dir[PATH_MAX];
@@ -144,7 +145,8 @@ static int build_id_cache__add_kcore(const char *filename, const char *debugdir)
        scnprintf(to_dir, sizeof(to_dir), "%s/[kernel.kcore]/%s",
                  debugdir, sbuildid);
 
-       if (!build_id_cache__kcore_existing(from_dir, to_dir, sizeof(to_dir))) {
+       if (!force &&
+           !build_id_cache__kcore_existing(from_dir, to_dir, sizeof(to_dir))) {
                pr_debug("same kcore found in %s\n", to_dir);
                return 0;
        }
@@ -389,7 +391,7 @@ int cmd_buildid_cache(int argc, const char **argv,
        }
 
        if (kcore_filename &&
-           build_id_cache__add_kcore(kcore_filename, debugdir))
+           build_id_cache__add_kcore(kcore_filename, debugdir, force))
                pr_warning("Couldn't add %s\n", kcore_filename);
 
        return ret;