* [PATCH v2] perf gtk: Print dlerror() and reverse the loading order
@ 2016-04-30 16:14 Kyeongmin Cho
0 siblings, 0 replies; only message in thread
From: Kyeongmin Cho @ 2016-04-30 16:14 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Alexander Shishkin
Cc: linux-kernel, Jiri Olsa, Namhyung Kim, Kyeongmin Cho
This patch applies two changes below:
* When dlopen() returns NULL, the string from dlerror() is printed
to tell why it has failed.
* The loading order was reversed. It used to try to load LIBDIR
second, but it's reasonable to look around LIBDIR first and fall
back to system directory.
Signed-off-by: Kyeongmin Cho <korea.drzix@gmail.com>
---
This patch refers to the previous discussion
Re: [PATCH 1/2] perf report: Find lib path correctly for gtk option
>From Namhyung Kim
AFAIK this fallback code is only needed if perf was not installed in
the standard directory (and system has no perf package installed
also). Anyway I think it's better to add a debug message when loading
is failed (preferably with dlerror() or so).
In addition, I think the loading order should be reversed. It
currently tries to load libperf-gtk.so in the system directory and
then LIBDIR/libperf-gtk.so. But it'd be better to try LIBDIR first
and then falls back to system directory IMHO.
tools/perf/ui/setup.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/tools/perf/ui/setup.c b/tools/perf/ui/setup.c
index ba51fa8..17e87da 100644
--- a/tools/perf/ui/setup.c
+++ b/tools/perf/ui/setup.c
@@ -12,18 +12,23 @@ void *perf_gtk_handle;
static int setup_gtk_browser(void)
{
int (*perf_ui_init)(void);
+ char buf[PATH_MAX];
if (perf_gtk_handle)
return 0;
- perf_gtk_handle = dlopen(PERF_GTK_DSO, RTLD_LAZY);
+ scnprintf(buf, sizeof(buf), "%s/%s", LIBDIR, PERF_GTK_DSO);
+ perf_gtk_handle = dlopen(buf, RTLD_LAZY);
+
if (perf_gtk_handle == NULL) {
- char buf[PATH_MAX];
- scnprintf(buf, sizeof(buf), "%s/%s", LIBDIR, PERF_GTK_DSO);
- perf_gtk_handle = dlopen(buf, RTLD_LAZY);
+ printf("%s\n", dlerror());
+ perf_gtk_handle = dlopen(PERF_GTK_DSO, RTLD_LAZY);
}
- if (perf_gtk_handle == NULL)
+
+ if (perf_gtk_handle == NULL) {
+ printf("%s\n", dlerror());
return -1;
+ }
perf_ui_init = dlsym(perf_gtk_handle, "perf_gtk__init");
if (perf_ui_init == NULL)
--
2.5.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-04-30 16:14 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-30 16:14 [PATCH v2] perf gtk: Print dlerror() and reverse the loading order Kyeongmin Cho
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).