Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751536AbdIMHqA (ORCPT ); Wed, 13 Sep 2017 03:46:00 -0400 Received: from terminus.zytor.com ([65.50.211.136]:54177 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751019AbdIMHp6 (ORCPT ); Wed, 13 Sep 2017 03:45:58 -0400 Date: Wed, 13 Sep 2017 00:43:40 -0700 From: tip-bot for Milian Wolff Message-ID: Cc: hpa@zytor.com, acme@redhat.com, milian.wolff@kdab.com, mingo@kernel.org, a.p.zijlstra@chello.nl, namhyung@kernel.org, dsahern@gmail.com, linux-kernel@vger.kernel.org, yao.jin@linux.intel.com, tglx@linutronix.de, jolsa@redhat.com Reply-To: mingo@kernel.org, milian.wolff@kdab.com, a.p.zijlstra@chello.nl, hpa@zytor.com, acme@redhat.com, tglx@linutronix.de, jolsa@redhat.com, dsahern@gmail.com, yao.jin@linux.intel.com, linux-kernel@vger.kernel.org, namhyung@kernel.org In-Reply-To: <20170906150209.12579-1-milian.wolff@kdab.com> References: <20170906150209.12579-1-milian.wolff@kdab.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:perf/urgent] perf tests: Fix compile when libunwind's unwind.h is available Git-Commit-ID: df90cc41d662ad5f700afc042df43e57ce1ed0a4 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 Content-Length: 2926 Lines: 70 Commit-ID: df90cc41d662ad5f700afc042df43e57ce1ed0a4 Gitweb: http://git.kernel.org/tip/df90cc41d662ad5f700afc042df43e57ce1ed0a4 Author: Milian Wolff AuthorDate: Wed, 6 Sep 2017 17:02:09 +0200 Committer: Arnaldo Carvalho de Melo CommitDate: Tue, 12 Sep 2017 12:34:02 -0300 perf tests: Fix compile when libunwind's unwind.h is available When cross compiling perf and I want to link against a self-compiled libunwind, I usually make the custom path where the libunwind headers exist visible by adding the libunwind prefix to the include path when compiling perf, i.e.: ~~~~~ $ ls $HOME/projects/compiled/other/include/ libunwind-coredump.h libunwind.h libunwind-x86_64.h libunwind-common.h libunwind-dynamic.h libunwind-ptrace.h unwind.h $ make EXTRA_CFLAGS="-I$HOME/projects/compiled/other/include/ ~~~~~~ Note the `unwind.h` header from libunwind which leads to compile errors when compiling tests/dwarf-unwind.c, since it shadows perf's util/unwind.h: ~~~~~ tests/dwarf-unwind.c:41:32: error: ‘struct unwind_entry’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] static int unwind_entry(struct unwind_entry *entry, void *arg) ^~~~~~~~~~~~ tests/dwarf-unwind.c: In function ‘unwind_entry’: tests/dwarf-unwind.c:44:22: error: dereferencing pointer to incomplete type ‘struct unwind_entry’ char *symbol = entry->sym ? entry->sym->name : NULL; ^~ tests/dwarf-unwind.c: In function ‘unwind_thread’: tests/dwarf-unwind.c:92:8: error: implicit declaration of function ‘unwind__get_entries’; did you mean ‘unwind_entry’? [-Werror=implicit-function-declaration] err = unwind__get_entries(unwind_entry, &cnt, thread, ^~~~~~~~~~~~~~~~~~~ unwind_entry tests/dwarf-unwind.c:92:8: error: nested extern declaration of ‘unwind__get_entries’ [-Werror=nested-externs] ~~~~~~ Fix this compile error by specificing an explicit include of perf's unwind.h in the util folder. Signed-off-by: Milian Wolff Cc: David Ahern Cc: Jiri Olsa Cc: Namhyung Kim Cc: Peter Zijlstra Cc: Yao Jin Link: http://lkml.kernel.org/r/20170906150209.12579-1-milian.wolff@kdab.com Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/tests/dwarf-unwind.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/tests/dwarf-unwind.c b/tools/perf/tests/dwarf-unwind.c index 2a7b9b4..9ba1d21 100644 --- a/tools/perf/tests/dwarf-unwind.c +++ b/tools/perf/tests/dwarf-unwind.c @@ -6,7 +6,7 @@ #include "debug.h" #include "machine.h" #include "event.h" -#include "unwind.h" +#include "../util/unwind.h" #include "perf_regs.h" #include "map.h" #include "thread.h"