Received: by 2002:ab2:6f44:0:b0:1fd:c486:4f03 with SMTP id l4csp198998lqq; Wed, 12 Jun 2024 23:36:13 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVPcK3cv407EiTomt1i5cgyDYn5qE2vZqt1CqJcgBe7xMBjI4VTZGrOihuSmHVjvRTJnsqn024LBxqVPQ0x7pjlJD01zXzcvAqlUZek3g== X-Google-Smtp-Source: AGHT+IFRPPImyPQAQ1aok68ulWT+Lp6yTqO/sydobG8ppUMjHYyO3cbvEz884vucDXn7cYinIWLa X-Received: by 2002:a2e:9e99:0:b0:2ea:f719:3188 with SMTP id 38308e7fff4ca-2ebfc90712emr24806401fa.10.1718260573193; Wed, 12 Jun 2024 23:36:13 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718260573; cv=pass; d=google.com; s=arc-20160816; b=eJBPKkI4xryUKIqbDfj5qocfS6sumB4+t8VJ+X1ZpO8exOMCEmiEJ73T4crkQtoZsS 2UQojOpYWuUBNfMchC8fH3e4qsXQgKHvGgFNLBLEAvqpfHHICkgvG8QYk0UHeLlR53UA drPP67tmNFKOb1H1g8kEdb2gfg9YuqBvruc5nllqYlnuUVbSFrPmUE+nQqmU9fla1fG6 N3ukbuwtLISztkBiosG+vsRvq6kKtcURxwEMoqGaU7yT9Lbeprpiy8FqP5HSBUbnMeCc V+5UYVvj8uBO2qKic8u5TWyii5pvy9Fvx/hKzDq6I4wX6ggdLtt6+tzWSEQ862riS+Ue +FiQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from; bh=ToGTd9/vQb2EZktOmaNEcryuVkW9rb/39kX5r9jSPxQ=; fh=oqZyDXyMmuwXC127KYP8yZvvclD9htJbfhHWow5HG6Q=; b=ryxiRjthXfjKqmaxHVCj3iGh38wwnDgex5Mqm9dfvhesAcKMpTBamy61W4ezPTUv4B 8pxv6elSTiTXoBkezjFFbJM6k8qBbS6Ct6I6yPGk9CDwEBTXoqbhGlPb+PWxx7FTWn1K xebmFVkQebOHyn0NA21m27MnvSnHCsC/IvrSzLD5Uq/F/T62m4dnVCqYn+ayI6nyjFe2 68QceGrNo+7toA7b7U1I+788ipu5Ko7DGGHczHFdT9EULM1UWCEDv0EypjEwi+98YQ4O oG+A5YXWofkhgLgm/P1NvVlZWWIIL77c9Umi/yNaiACr0H9iNJPrdU+0mY+VxI5ssQCB VMbg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-kernel+bounces-212637-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-212637-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id 4fb4d7f45d1cf-57cb72d6632si395713a12.44.2024.06.12.23.36.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jun 2024 23:36:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-212637-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-kernel+bounces-212637-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-212637-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id D7E8A1F235EF for ; Thu, 13 Jun 2024 06:36:12 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3DFFC137C48; Thu, 13 Jun 2024 06:35:39 +0000 (UTC) Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 899D7137C22; Thu, 13 Jun 2024 06:35:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.190 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718260538; cv=none; b=j5b2PZ18e4NuFT0M/fpPqDttPsbIt4sjfGYvWabLVnjmS8ijyHzLBtTA0c8XGXPVpWs5cn/mI6p9SMjv/rhJgQg/9OWkohOHJEWufTptro1Lh23jRnVYEo9V5cuzY+4FCzMqzB4Q6OqnfK4qgo0plToVHrn+A0oyujJQjU2xuaQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718260538; c=relaxed/simple; bh=4+Y8Ka0zxULm0QTjXx+tuV1E6oFe1plf032g3zmI5sI=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tdBM1n6NyEem7Cg347LcFbPwbqDZN52baXR+gschJSqTZsYnnLTI9esvnuIZLqp9E6XYo4mx7kmF7NkHUY0q7CUchdkXIFRgAOK3JJpAZDvZ90pb5vP91gofe9vDUCsBWS30ZsB0uTuda9H2N0jJC08xHn76+OCGb+XgiaVF83A= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.190 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Received: from mail.maildlp.com (unknown [172.19.88.234]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4W0CHl0hnhz1ytGk; Thu, 13 Jun 2024 14:32:03 +0800 (CST) Received: from kwepemd100011.china.huawei.com (unknown [7.221.188.204]) by mail.maildlp.com (Postfix) with ESMTPS id 9BDFB140133; Thu, 13 Jun 2024 14:35:28 +0800 (CST) Received: from M910t.huawei.com (10.110.54.157) by kwepemd100011.china.huawei.com (7.221.188.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.34; Thu, 13 Jun 2024 14:35:27 +0800 From: Changbin Du To: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Nathan Chancellor CC: Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , "Liang, Kan" , Nick Desaulniers , Bill Wendling , Justin Stitt , , , , Changbin Du Subject: [PATCH 2/2] perf: disasm: prefer symsrc_filename for filename Date: Thu, 13 Jun 2024 14:35:10 +0800 Message-ID: <20240613063510.348692-3-changbin.du@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240613063510.348692-1-changbin.du@huawei.com> References: <20240613063510.348692-1-changbin.du@huawei.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemd100011.china.huawei.com (7.221.188.204) If we already found a debugging version when loading symbols for that dso, then use the same file for disasm instead of looking up in buildid-cache. Signed-off-by: Changbin Du --- tools/perf/util/disasm.c | 5 +++++ tools/perf/util/symbol.c | 12 ++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/tools/perf/util/disasm.c b/tools/perf/util/disasm.c index 72aec8f61b94..75cfc6fbd11d 100644 --- a/tools/perf/util/disasm.c +++ b/tools/perf/util/disasm.c @@ -1103,6 +1103,11 @@ static int dso__disassemble_filename(struct dso *dso, char *filename, size_t fil !dso__is_kcore(dso)) return SYMBOL_ANNOTATE_ERRNO__NO_VMLINUX; + if (dso__symsrc_filename(dso)) { + strlcpy(filename, dso__symsrc_filename(dso), filename_size); + return 0; + } + build_id_filename = dso__build_id_filename(dso, NULL, 0, false); if (build_id_filename) { __symbol__join_symfs(filename, filename_size, build_id_filename); diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c index 8d040039a7ce..a90c647d37e1 100644 --- a/tools/perf/util/symbol.c +++ b/tools/perf/util/symbol.c @@ -2025,12 +2025,14 @@ int dso__load_vmlinux(struct dso *dso, struct map *map, dso__set_binary_type(dso, DSO_BINARY_TYPE__VMLINUX); err = dso__load_sym(dso, map, &ss, &ss, 0); - symsrc__destroy(&ss); - if (err > 0) { dso__set_loaded(dso); pr_debug("Using %s for symbols\n", symfs_vmlinux); + + if (symsrc__has_symtab(&ss) && !dso__symsrc_filename(dso)) + dso__set_symsrc_filename(dso, strdup(symfs_vmlinux)); } + symsrc__destroy(&ss); return err; } @@ -2395,12 +2397,14 @@ static int dso__load_vdso(struct dso *dso, struct map *map, dso__set_binary_type(dso, DSO_BINARY_TYPE__SYSTEM_PATH_DSO); err = dso__load_sym(dso, map, &ss, &ss, 0); - symsrc__destroy(&ss); - if (err > 0) { dso__set_loaded(dso); pr_debug("Using %s for %s symbols\n", symfs_vdso, dso__short_name(dso)); + + if (symsrc__has_symtab(&ss) && !dso__symsrc_filename(dso)) + dso__set_symsrc_filename(dso, strdup(symfs_vdso)); } + symsrc__destroy(&ss); return err; } -- 2.34.1