Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1391639
| From | Kyeongmin Cho <korea.drzix@gmail.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2] perf gtk: Print dlerror() and reverse the loading order |
| Date | 2016-04-30 18:20 +0200 |
| Message-ID | <rtFMD-27i-19@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
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
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
[PATCH v2] perf gtk: Print dlerror() and reverse the loading order Kyeongmin Cho <korea.drzix@gmail.com> - 2016-04-30 18:20 +0200
csiph-web