From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752418AbdGEHTQ (ORCPT ); Wed, 5 Jul 2017 03:19:16 -0400 Received: from terminus.zytor.com ([65.50.211.136]:48427 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751604AbdGEHTO (ORCPT ); Wed, 5 Jul 2017 03:19:14 -0400 Date: Wed, 5 Jul 2017 00:15:55 -0700 From: tip-bot for Jiri Olsa Message-ID: Cc: mlyle@lyle.org, tglx@linutronix.de, mingo@kernel.org, linux-kernel@vger.kernel.org, acme@redhat.com, dsahern@gmail.com, jolsa@kernel.org, namhyung@kernel.org, a.p.zijlstra@chello.nl, hekuang@huawei.com, hpa@zytor.com Reply-To: mlyle@lyle.org, tglx@linutronix.de, mingo@kernel.org, linux-kernel@vger.kernel.org, acme@redhat.com, dsahern@gmail.com, namhyung@kernel.org, jolsa@kernel.org, a.p.zijlstra@chello.nl, hekuang@huawei.com, hpa@zytor.com In-Reply-To: <20170704131131.27508-1-jolsa@kernel.org> References: <20170704131131.27508-1-jolsa@kernel.org> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/urgent] perf unwind: Do not fail due to missing unwind support Git-Commit-ID: 1934adf78e33fa69570a763c7ac5353212416bb0 X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 1934adf78e33fa69570a763c7ac5353212416bb0 Gitweb: http://git.kernel.org/tip/1934adf78e33fa69570a763c7ac5353212416bb0 Author: Jiri Olsa AuthorDate: Tue, 4 Jul 2017 15:11:31 +0200 Committer: Arnaldo Carvalho de Melo CommitDate: Tue, 4 Jul 2017 11:43:58 -0300 perf unwind: Do not fail due to missing unwind support We currently fail the MMAP event processing if we don't have the MMAP event's specific arch unwind support compiled in. That's wrong and can lead to unresolved mmaps in report output for 32bit binaries on 64bit server, like in this example on x86_64 server: $ cat ex.c int main(int argc, char **argv) { while (1) {} } $ gcc -o ex -m32 ex.c $ perf record ./ex ^C[ perf record: Woken up 2 times to write data ] [ perf record: Captured and wrote 0.371 MB perf.data (9322 samples) ] Before: $ perf report --stdio SNIP # Overhead Command Shared Object Symbol # ........ ....... ................ ...................... # 100.00% ex [unknown] [.] 0x00000000080483de 0.00% ex [unknown] [.] 0x00000000f76dba4f 0.00% ex [unknown] [.] 0x00000000f76e4c11 0.00% ex [unknown] [.] 0x00000000f76daa30 After: $ perf report --stdio SNIP # Overhead Command Shared Object Symbol # ........ ....... ............. ............... # 100.00% ex ex [.] main 0.00% ex ld-2.24.so [.] _dl_start 0.00% ex ld-2.24.so [.] do_lookup_x 0.00% ex ld-2.24.so [.] _start The fix is not to fail, just warn if there's not unwind support compiled in. Reported-by: Michael Lyle Signed-off-by: Jiri Olsa Tested-by: Arnaldo Carvalho de Melo Cc: David Ahern Cc: He Kuang Cc: Namhyung Kim Cc: Peter Zijlstra Link: http://lkml.kernel.org/r/20170704131131.27508-1-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/unwind-libunwind.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/unwind-libunwind.c b/tools/perf/util/unwind-libunwind.c index 6d542a4..8aef572 100644 --- a/tools/perf/util/unwind-libunwind.c +++ b/tools/perf/util/unwind-libunwind.c @@ -50,7 +50,7 @@ int unwind__prepare_access(struct thread *thread, struct map *map, if (!ops) { pr_err("unwind: target platform=%s is not supported\n", arch); - return -1; + return 0; } out_register: unwind__register_ops(thread, ops);