From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932798AbcEKNvr (ORCPT ); Wed, 11 May 2016 09:51:47 -0400 Received: from mail.kernel.org ([198.145.29.136]:45352 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932725AbcEKNvp (ORCPT ); Wed, 11 May 2016 09:51:45 -0400 From: Masami Hiramatsu To: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu , linux-kernel@vger.kernel.org, Namhyung Kim , Peter Zijlstra , Ingo Molnar , Hemant Kumar , Ananth N Mavinakayanahalli , Brendan Gregg Subject: [PATCH perf/core v7 02/21] perf buildid: Fix to set correct dso name for kallsyms Date: Wed, 11 May 2016 22:51:37 +0900 Message-Id: <20160511135136.23943.31500.stgit@devbox> X-Mailer: git-send-email 2.1.0 In-Reply-To: <20160511135110.23943.38738.stgit@devbox> References: <20160511135110.23943.38738.stgit@devbox> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Fix to set correct dso name ("[kernel.kallsyms]") for kallsyms, as for vdso does. Signed-off-by: Masami Hiramatsu --- tools/perf/util/build-id.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c index b6ecf87..234d8a1 100644 --- a/tools/perf/util/build-id.c +++ b/tools/perf/util/build-id.c @@ -343,21 +343,25 @@ void disable_buildid_cache(void) static char *build_id_cache__dirname_from_path(const char *name, bool is_kallsyms, bool is_vdso) { - char *realname = (char *)name, *filename; + const char *realname = name; + char *filename; bool slash = is_kallsyms || is_vdso; if (!slash) { realname = realpath(name, NULL); if (!realname) return NULL; - } + } else if (is_vdso) + realname = DSO__NAME_VDSO; + else + realname = "[kernel.kallsyms]"; if (asprintf(&filename, "%s%s%s", buildid_dir, slash ? "/" : "", - is_vdso ? DSO__NAME_VDSO : realname) < 0) + realname) < 0) filename = NULL; if (!slash) - free(realname); + free((char *)realname); return filename; }