projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Turn base address dump into experimental feature
[lttng-ust.git]
/
liblttng-ust
/
lttng-ust-baddr.c
diff --git
a/liblttng-ust/lttng-ust-baddr.c
b/liblttng-ust/lttng-ust-baddr.c
index 90ffe688a3c65ba18c28f54a719f5a33ac235db8..dec7e82d6e9c84afb065a1d33ec9ea0f53760c5c 100644
(file)
--- a/
liblttng-ust/lttng-ust-baddr.c
+++ b/
liblttng-ust/lttng-ust-baddr.c
@@
-18,7
+18,6
@@
#define _LGPL_SOURCE
#define _GNU_SOURCE
#define _LGPL_SOURCE
#define _GNU_SOURCE
-#include <dlfcn.h>
#include <link.h>
#include <sys/types.h>
#include <link.h>
#include <sys/types.h>
@@
-155,28
+154,29
@@
static
void dump_exec_baddr(struct extract_data *data)
{
void *owner = data->owner;
void dump_exec_baddr(struct extract_data *data)
{
void *owner = data->owner;
- Dl_info dl_info = { 0 };
void *base_addr_ptr;
void *base_addr_ptr;
- char resolved_path[PATH_MAX];
+ char exe_path[PATH_MAX];
+ ssize_t exe_len;
base_addr_ptr = data->exec_baddr;
if (!base_addr_ptr)
return;
/*
base_addr_ptr = data->exec_baddr;
if (!base_addr_ptr)
return;
/*
- * We have to use Dl_info to determine the executable full path.
+ * We have to use /proc/self/exe to determine the executable full
+ * path.
*/
*/
- if (!dladdr(base_addr_ptr, &dl_info))
+ exe_len = readlink("/proc/self/exe", exe_path, sizeof(exe_path) - 1);
+ if (exe_len <= 0)
return;
return;
- if (!realpath(dl_info.dli_fname, resolved_path))
- return;
- trace_baddr(base_addr_ptr, resolved_path, 0, owner);
+ exe_path[exe_len] = '\0';
+ trace_baddr(base_addr_ptr, exe_path, 0, owner);
}
int lttng_ust_baddr_statedump(void *owner)
{
struct extract_data data;
}
int lttng_ust_baddr_statedump(void *owner)
{
struct extract_data data;
- if (
getenv("LTTNG_UST_WITHOUT
_BADDR_STATEDUMP"))
+ if (
!getenv("LTTNG_UST_WITH_EXPERIMENTAL
_BADDR_STATEDUMP"))
return 0;
data.owner = owner;
return 0;
data.owner = owner;
This page took
0.024244 seconds
and
4
git commands to generate.