projects
/
lttng-ust.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add library load/unload tracking events
[lttng-ust.git]
/
liblttng-ust-dl
/
lttng-ust-dl.c
diff --git
a/liblttng-ust-dl/lttng-ust-dl.c
b/liblttng-ust-dl/lttng-ust-dl.c
index e457e7a3cbdfa69697c3794465a82a66681a0ec3..81b5bec470ad91dda754776220b9f5bb9435cf3d 100644
(file)
--- a/
liblttng-ust-dl/lttng-ust-dl.c
+++ b/
liblttng-ust-dl/lttng-ust-dl.c
@@
-1,6
+1,7
@@
/*
* Copyright (C) 2013 Paul Woegerer <paul.woegerer@mentor.com>
* Copyright (C) 2015 Antoine Busque <abusque@efficios.com>
/*
* Copyright (C) 2013 Paul Woegerer <paul.woegerer@mentor.com>
* Copyright (C) 2015 Antoine Busque <abusque@efficios.com>
+ * Copyright (C) 2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@
-26,6
+27,7
@@
#include <lttng/ust-dlfcn.h>
#include <lttng/ust-elf.h>
#include <lttng/ust-dlfcn.h>
#include <lttng/ust-elf.h>
+#include <lttng/ust-events.h>
#include <helper.h>
#include "usterr-signal-safe.h"
#include <helper.h>
#include "usterr-signal-safe.h"
@@
-135,19
+137,21
@@
void *dlopen(const char *filename, int flag)
ret = dlinfo(handle, RTLD_DI_LINKMAP, &p);
if (ret != -1 && p != NULL && p->l_addr != 0) {
ret = dlinfo(handle, RTLD_DI_LINKMAP, &p);
if (ret != -1 && p != NULL && p->l_addr != 0) {
- lttng_ust_dl_dlopen((void *) p->l_addr, p->l_name,
+ lttng_ust_dl_dlopen((void *) p->l_addr,
+ p->l_name,
LTTNG_UST_CALLER_IP());
}
}
LTTNG_UST_CALLER_IP());
}
}
-
+ lttng_ust_dl_update(LTTNG_UST_CALLER_IP());
return handle;
}
int dlclose(void *handle)
{
return handle;
}
int dlclose(void *handle)
{
+ int ret;
+
if (__tracepoint_ptrs_registered) {
struct link_map *p = NULL;
if (__tracepoint_ptrs_registered) {
struct link_map *p = NULL;
- int ret;
ret = dlinfo(handle, RTLD_DI_LINKMAP, &p);
if (ret != -1 && p != NULL && p->l_addr != 0) {
ret = dlinfo(handle, RTLD_DI_LINKMAP, &p);
if (ret != -1 && p != NULL && p->l_addr != 0) {
@@
-156,6
+160,7
@@
int dlclose(void *handle)
(void *) p->l_addr);
}
}
(void *) p->l_addr);
}
}
-
- return _lttng_ust_dl_libc_dlclose(handle);
+ ret = _lttng_ust_dl_libc_dlclose(handle);
+ lttng_ust_dl_update(LTTNG_UST_CALLER_IP());
+ return ret;
}
}
This page took
0.02371 seconds
and
4
git commands to generate.