* [lttng-dev] [PATCH lttng-ust] Rename statedump and dl events and fields
@ 2016-04-20 17:09 Antoine Busque
2016-04-20 18:35 ` Mathieu Desnoyers
0 siblings, 1 reply; 2+ messages in thread
From: Antoine Busque @ 2016-04-20 17:09 UTC (permalink / raw)
The current names of the `lttng_ust_statedump:soinfo` event, as well
as its field `sopath` both refer exclusively to shared objects (so),
although the event applies to any executables, including
position-independent executables (PIE), as well as shared objects.
Thus, this patch changes the name of the event to `bin_info` and the
field to `path`, to avoid any confusion.
For consistency, the `sopath` field in the `lttng_ust_dl:dlopen` event
is also renamed to `path`, although dlopen only applies to shared
objects.
Signed-off-by: Antoine Busque <abusque at efficios.com>
---
liblttng-ust-dl/ust_dl.h | 4 +-
liblttng-ust/lttng-ust-statedump-provider.h | 6 +-
liblttng-ust/lttng-ust-statedump.c | 85 +++++++++++++++--------------
3 files changed, 48 insertions(+), 47 deletions(-)
diff --git a/liblttng-ust-dl/ust_dl.h b/liblttng-ust-dl/ust_dl.h
index e87ec12..72b23ac 100644
--- a/liblttng-ust-dl/ust_dl.h
+++ b/liblttng-ust-dl/ust_dl.h
@@ -38,12 +38,12 @@ extern "C" {
#include <lttng/tracepoint.h>
TRACEPOINT_EVENT(lttng_ust_dl, dlopen,
- TP_ARGS(void *, ip, void *, baddr, const char*, sopath,
+ TP_ARGS(void *, ip, void *, baddr, const char*, path,
uint64_t, memsz),
TP_FIELDS(
ctf_integer_hex(void *, baddr, baddr)
ctf_integer(uint64_t, memsz, memsz)
- ctf_string(sopath, sopath)
+ ctf_string(path, path)
)
)
diff --git a/liblttng-ust/lttng-ust-statedump-provider.h b/liblttng-ust/lttng-ust-statedump-provider.h
index 427ba27..9f1f74c 100644
--- a/liblttng-ust/lttng-ust-statedump-provider.h
+++ b/liblttng-ust/lttng-ust-statedump-provider.h
@@ -43,18 +43,18 @@ TRACEPOINT_EVENT(lttng_ust_statedump, start,
TP_FIELDS()
)
-TRACEPOINT_EVENT(lttng_ust_statedump, soinfo,
+TRACEPOINT_EVENT(lttng_ust_statedump, bin_info,
TP_ARGS(
struct lttng_session *, session,
void *, baddr,
- const char*, sopath,
+ const char*, path,
uint64_t, memsz,
uint8_t, is_pic
),
TP_FIELDS(
ctf_integer_hex(void *, baddr, baddr)
ctf_integer(uint64_t, memsz, memsz)
- ctf_string(sopath, sopath)
+ ctf_string(path, path)
ctf_integer(uint8_t, is_pic, is_pic)
)
)
diff --git a/liblttng-ust/lttng-ust-statedump.c b/liblttng-ust/lttng-ust-statedump.c
index b160e19..10854d9 100644
--- a/liblttng-ust/lttng-ust-statedump.c
+++ b/liblttng-ust/lttng-ust-statedump.c
@@ -42,7 +42,7 @@ struct dl_iterate_data {
int exec_found;
};
-struct soinfo_data {
+struct bin_info_data {
void *owner;
void *base_addr_ptr;
const char *resolved_path;
@@ -79,33 +79,33 @@ int trace_statedump_event(tracepoint_cb tp_cb, void *owner, void *priv)
}
static
-void trace_soinfo_cb(struct lttng_session *session, void *priv)
+void trace_bin_info_cb(struct lttng_session *session, void *priv)
{
- struct soinfo_data *so_data = (struct soinfo_data *) priv;
+ struct bin_info_data *bin_data = (struct bin_info_data *) priv;
- tracepoint(lttng_ust_statedump, soinfo,
- session, so_data->base_addr_ptr,
- so_data->resolved_path, so_data->memsz, so_data->is_pic);
+ tracepoint(lttng_ust_statedump, bin_info,
+ session, bin_data->base_addr_ptr,
+ bin_data->resolved_path, bin_data->memsz, bin_data->is_pic);
}
static
void trace_build_id_cb(struct lttng_session *session, void *priv)
{
- struct soinfo_data *so_data = (struct soinfo_data *) priv;
+ struct bin_info_data *bin_data = (struct bin_info_data *) priv;
tracepoint(lttng_ust_statedump, build_id,
- session, so_data->base_addr_ptr,
- so_data->build_id, so_data->build_id_len);
+ session, bin_data->base_addr_ptr,
+ bin_data->build_id, bin_data->build_id_len);
}
static
void trace_debug_link_cb(struct lttng_session *session, void *priv)
{
- struct soinfo_data *so_data = (struct soinfo_data *) priv;
+ struct bin_info_data *bin_data = (struct bin_info_data *) priv;
tracepoint(lttng_ust_statedump, debug_link,
- session, so_data->base_addr_ptr,
- so_data->dbg_file, so_data->crc);
+ session, bin_data->base_addr_ptr,
+ bin_data->dbg_file, bin_data->crc);
}
static
@@ -121,34 +121,34 @@ void trace_end_cb(struct lttng_session *session, void *priv)
}
static
-int get_elf_info(struct soinfo_data *so_data, int *has_build_id,
+int get_elf_info(struct bin_info_data *bin_data, int *has_build_id,
int *has_debug_link) {
struct lttng_ust_elf *elf;
int ret = 0;
- elf = lttng_ust_elf_create(so_data->resolved_path);
+ elf = lttng_ust_elf_create(bin_data->resolved_path);
if (!elf) {
ret = -1;
goto end;
}
- ret = lttng_ust_elf_get_memsz(elf, &so_data->memsz);
+ ret = lttng_ust_elf_get_memsz(elf, &bin_data->memsz);
if (ret) {
goto end;
}
- ret = lttng_ust_elf_get_build_id(elf, &so_data->build_id,
- &so_data->build_id_len, has_build_id);
+ ret = lttng_ust_elf_get_build_id(elf, &bin_data->build_id,
+ &bin_data->build_id_len, has_build_id);
if (ret) {
goto end;
}
- ret = lttng_ust_elf_get_debug_link(elf, &so_data->dbg_file,
- &so_data->crc, has_debug_link);
+ ret = lttng_ust_elf_get_debug_link(elf, &bin_data->dbg_file,
+ &bin_data->crc, has_debug_link);
if (ret) {
goto end;
}
- so_data->is_pic = lttng_ust_elf_is_pic(elf);
+ bin_data->is_pic = lttng_ust_elf_is_pic(elf);
end:
lttng_ust_elf_destroy(elf);
@@ -156,28 +156,29 @@ end:
}
static
-int trace_baddr(struct soinfo_data *so_data)
+int trace_baddr(struct bin_info_data *bin_data)
{
int ret = 0, has_build_id = 0, has_debug_link = 0;
- if (!so_data->vdso) {
- ret = get_elf_info(so_data, &has_build_id, &has_debug_link);
+ if (!bin_data->vdso) {
+ ret = get_elf_info(bin_data, &has_build_id, &has_debug_link);
if (ret) {
goto end;
}
} else {
- so_data->memsz = 0;
+ bin_data->memsz = 0;
}
- ret = trace_statedump_event(trace_soinfo_cb, so_data->owner, so_data);
+ ret = trace_statedump_event(trace_bin_info_cb, bin_data->owner,
+ bin_data);
if (ret) {
goto end;
}
if (has_build_id) {
ret = trace_statedump_event(
- trace_build_id_cb, so_data->owner, so_data);
- free(so_data->build_id);
+ trace_build_id_cb, bin_data->owner, bin_data);
+ free(bin_data->build_id);
if (ret) {
goto end;
}
@@ -185,8 +186,8 @@ int trace_baddr(struct soinfo_data *so_data)
if (has_debug_link) {
ret = trace_statedump_event(
- trace_debug_link_cb, so_data->owner, so_data);
- free(so_data->dbg_file);
+ trace_debug_link_cb, bin_data->owner, bin_data);
+ free(bin_data->dbg_file);
if (ret) {
goto end;
}
@@ -209,7 +210,7 @@ int trace_statedump_end(void *owner)
}
static
-int extract_soinfo_events(struct dl_phdr_info *info, size_t size, void *_data)
+int extract_bin_info_events(struct dl_phdr_info *info, size_t size, void *_data)
{
int j, ret = 0;
struct dl_iterate_data *data = _data;
@@ -226,7 +227,7 @@ int extract_soinfo_events(struct dl_phdr_info *info, size_t size, void *_data)
}
for (j = 0; j < info->dlpi_phnum; j++) {
- struct soinfo_data so_data;
+ struct bin_info_data bin_data;
char resolved_path[PATH_MAX];
void *base_addr_ptr;
@@ -258,30 +259,30 @@ int extract_soinfo_events(struct dl_phdr_info *info, size_t size, void *_data)
break;
resolved_path[path_len] = '\0';
- so_data.vdso = 0;
+ bin_data.vdso = 0;
} else {
snprintf(resolved_path, PATH_MAX - 1, "[vdso]");
- so_data.vdso = 1;
+ bin_data.vdso = 1;
}
} else {
/*
* For regular dl_phdr_info entries check if
- * the path to the SO really exists. If not,
+ * the path to the binary really exists. If not,
* treat as vdso and use dlpi_name as 'path'.
*/
if (!realpath(info->dlpi_name, resolved_path)) {
snprintf(resolved_path, PATH_MAX - 1, "[%s]",
info->dlpi_name);
- so_data.vdso = 1;
+ bin_data.vdso = 1;
} else {
- so_data.vdso = 0;
+ bin_data.vdso = 0;
}
}
- so_data.owner = data->owner;
- so_data.base_addr_ptr = base_addr_ptr;
- so_data.resolved_path = resolved_path;
- ret = trace_baddr(&so_data);
+ bin_data.owner = data->owner;
+ bin_data.base_addr_ptr = base_addr_ptr;
+ bin_data.resolved_path = resolved_path;
+ ret = trace_baddr(&bin_data);
break;
}
end:
@@ -307,9 +308,9 @@ int do_baddr_statedump(void *owner)
/*
* Iterate through the list of currently loaded shared objects and
* generate events for loadable segments using
- * extract_soinfo_events.
+ * extract_bin_info_events.
*/
- dl_iterate_phdr(extract_soinfo_events, &data);
+ dl_iterate_phdr(extract_bin_info_events, &data);
return 0;
}
--
2.8.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* [lttng-dev] [PATCH lttng-ust] Rename statedump and dl events and fields
2016-04-20 17:09 [lttng-dev] [PATCH lttng-ust] Rename statedump and dl events and fields Antoine Busque
@ 2016-04-20 18:35 ` Mathieu Desnoyers
0 siblings, 0 replies; 2+ messages in thread
From: Mathieu Desnoyers @ 2016-04-20 18:35 UTC (permalink / raw)
Merged into master and stable-2.8,
Feature branches using those fields (babeltrace, trace compass)
should update.
Thanks,
Mathieu
----- On Apr 20, 2016, at 1:09 PM, Antoine Busque abusque at efficios.com wrote:
> The current names of the `lttng_ust_statedump:soinfo` event, as well
> as its field `sopath` both refer exclusively to shared objects (so),
> although the event applies to any executables, including
> position-independent executables (PIE), as well as shared objects.
>
> Thus, this patch changes the name of the event to `bin_info` and the
> field to `path`, to avoid any confusion.
>
> For consistency, the `sopath` field in the `lttng_ust_dl:dlopen` event
> is also renamed to `path`, although dlopen only applies to shared
> objects.
>
> Signed-off-by: Antoine Busque <abusque at efficios.com>
> ---
> liblttng-ust-dl/ust_dl.h | 4 +-
> liblttng-ust/lttng-ust-statedump-provider.h | 6 +-
> liblttng-ust/lttng-ust-statedump.c | 85 +++++++++++++++--------------
> 3 files changed, 48 insertions(+), 47 deletions(-)
>
> diff --git a/liblttng-ust-dl/ust_dl.h b/liblttng-ust-dl/ust_dl.h
> index e87ec12..72b23ac 100644
> --- a/liblttng-ust-dl/ust_dl.h
> +++ b/liblttng-ust-dl/ust_dl.h
> @@ -38,12 +38,12 @@ extern "C" {
> #include <lttng/tracepoint.h>
>
> TRACEPOINT_EVENT(lttng_ust_dl, dlopen,
> - TP_ARGS(void *, ip, void *, baddr, const char*, sopath,
> + TP_ARGS(void *, ip, void *, baddr, const char*, path,
> uint64_t, memsz),
> TP_FIELDS(
> ctf_integer_hex(void *, baddr, baddr)
> ctf_integer(uint64_t, memsz, memsz)
> - ctf_string(sopath, sopath)
> + ctf_string(path, path)
> )
> )
>
> diff --git a/liblttng-ust/lttng-ust-statedump-provider.h
> b/liblttng-ust/lttng-ust-statedump-provider.h
> index 427ba27..9f1f74c 100644
> --- a/liblttng-ust/lttng-ust-statedump-provider.h
> +++ b/liblttng-ust/lttng-ust-statedump-provider.h
> @@ -43,18 +43,18 @@ TRACEPOINT_EVENT(lttng_ust_statedump, start,
> TP_FIELDS()
> )
>
> -TRACEPOINT_EVENT(lttng_ust_statedump, soinfo,
> +TRACEPOINT_EVENT(lttng_ust_statedump, bin_info,
> TP_ARGS(
> struct lttng_session *, session,
> void *, baddr,
> - const char*, sopath,
> + const char*, path,
> uint64_t, memsz,
> uint8_t, is_pic
> ),
> TP_FIELDS(
> ctf_integer_hex(void *, baddr, baddr)
> ctf_integer(uint64_t, memsz, memsz)
> - ctf_string(sopath, sopath)
> + ctf_string(path, path)
> ctf_integer(uint8_t, is_pic, is_pic)
> )
> )
> diff --git a/liblttng-ust/lttng-ust-statedump.c
> b/liblttng-ust/lttng-ust-statedump.c
> index b160e19..10854d9 100644
> --- a/liblttng-ust/lttng-ust-statedump.c
> +++ b/liblttng-ust/lttng-ust-statedump.c
> @@ -42,7 +42,7 @@ struct dl_iterate_data {
> int exec_found;
> };
>
> -struct soinfo_data {
> +struct bin_info_data {
> void *owner;
> void *base_addr_ptr;
> const char *resolved_path;
> @@ -79,33 +79,33 @@ int trace_statedump_event(tracepoint_cb tp_cb, void *owner,
> void *priv)
> }
>
> static
> -void trace_soinfo_cb(struct lttng_session *session, void *priv)
> +void trace_bin_info_cb(struct lttng_session *session, void *priv)
> {
> - struct soinfo_data *so_data = (struct soinfo_data *) priv;
> + struct bin_info_data *bin_data = (struct bin_info_data *) priv;
>
> - tracepoint(lttng_ust_statedump, soinfo,
> - session, so_data->base_addr_ptr,
> - so_data->resolved_path, so_data->memsz, so_data->is_pic);
> + tracepoint(lttng_ust_statedump, bin_info,
> + session, bin_data->base_addr_ptr,
> + bin_data->resolved_path, bin_data->memsz, bin_data->is_pic);
> }
>
> static
> void trace_build_id_cb(struct lttng_session *session, void *priv)
> {
> - struct soinfo_data *so_data = (struct soinfo_data *) priv;
> + struct bin_info_data *bin_data = (struct bin_info_data *) priv;
>
> tracepoint(lttng_ust_statedump, build_id,
> - session, so_data->base_addr_ptr,
> - so_data->build_id, so_data->build_id_len);
> + session, bin_data->base_addr_ptr,
> + bin_data->build_id, bin_data->build_id_len);
> }
>
> static
> void trace_debug_link_cb(struct lttng_session *session, void *priv)
> {
> - struct soinfo_data *so_data = (struct soinfo_data *) priv;
> + struct bin_info_data *bin_data = (struct bin_info_data *) priv;
>
> tracepoint(lttng_ust_statedump, debug_link,
> - session, so_data->base_addr_ptr,
> - so_data->dbg_file, so_data->crc);
> + session, bin_data->base_addr_ptr,
> + bin_data->dbg_file, bin_data->crc);
> }
>
> static
> @@ -121,34 +121,34 @@ void trace_end_cb(struct lttng_session *session, void
> *priv)
> }
>
> static
> -int get_elf_info(struct soinfo_data *so_data, int *has_build_id,
> +int get_elf_info(struct bin_info_data *bin_data, int *has_build_id,
> int *has_debug_link) {
> struct lttng_ust_elf *elf;
> int ret = 0;
>
> - elf = lttng_ust_elf_create(so_data->resolved_path);
> + elf = lttng_ust_elf_create(bin_data->resolved_path);
> if (!elf) {
> ret = -1;
> goto end;
> }
>
> - ret = lttng_ust_elf_get_memsz(elf, &so_data->memsz);
> + ret = lttng_ust_elf_get_memsz(elf, &bin_data->memsz);
> if (ret) {
> goto end;
> }
>
> - ret = lttng_ust_elf_get_build_id(elf, &so_data->build_id,
> - &so_data->build_id_len, has_build_id);
> + ret = lttng_ust_elf_get_build_id(elf, &bin_data->build_id,
> + &bin_data->build_id_len, has_build_id);
> if (ret) {
> goto end;
> }
> - ret = lttng_ust_elf_get_debug_link(elf, &so_data->dbg_file,
> - &so_data->crc, has_debug_link);
> + ret = lttng_ust_elf_get_debug_link(elf, &bin_data->dbg_file,
> + &bin_data->crc, has_debug_link);
> if (ret) {
> goto end;
> }
>
> - so_data->is_pic = lttng_ust_elf_is_pic(elf);
> + bin_data->is_pic = lttng_ust_elf_is_pic(elf);
>
> end:
> lttng_ust_elf_destroy(elf);
> @@ -156,28 +156,29 @@ end:
> }
>
> static
> -int trace_baddr(struct soinfo_data *so_data)
> +int trace_baddr(struct bin_info_data *bin_data)
> {
> int ret = 0, has_build_id = 0, has_debug_link = 0;
>
> - if (!so_data->vdso) {
> - ret = get_elf_info(so_data, &has_build_id, &has_debug_link);
> + if (!bin_data->vdso) {
> + ret = get_elf_info(bin_data, &has_build_id, &has_debug_link);
> if (ret) {
> goto end;
> }
> } else {
> - so_data->memsz = 0;
> + bin_data->memsz = 0;
> }
>
> - ret = trace_statedump_event(trace_soinfo_cb, so_data->owner, so_data);
> + ret = trace_statedump_event(trace_bin_info_cb, bin_data->owner,
> + bin_data);
> if (ret) {
> goto end;
> }
>
> if (has_build_id) {
> ret = trace_statedump_event(
> - trace_build_id_cb, so_data->owner, so_data);
> - free(so_data->build_id);
> + trace_build_id_cb, bin_data->owner, bin_data);
> + free(bin_data->build_id);
> if (ret) {
> goto end;
> }
> @@ -185,8 +186,8 @@ int trace_baddr(struct soinfo_data *so_data)
>
> if (has_debug_link) {
> ret = trace_statedump_event(
> - trace_debug_link_cb, so_data->owner, so_data);
> - free(so_data->dbg_file);
> + trace_debug_link_cb, bin_data->owner, bin_data);
> + free(bin_data->dbg_file);
> if (ret) {
> goto end;
> }
> @@ -209,7 +210,7 @@ int trace_statedump_end(void *owner)
> }
>
> static
> -int extract_soinfo_events(struct dl_phdr_info *info, size_t size, void *_data)
> +int extract_bin_info_events(struct dl_phdr_info *info, size_t size, void
> *_data)
> {
> int j, ret = 0;
> struct dl_iterate_data *data = _data;
> @@ -226,7 +227,7 @@ int extract_soinfo_events(struct dl_phdr_info *info, size_t
> size, void *_data)
> }
>
> for (j = 0; j < info->dlpi_phnum; j++) {
> - struct soinfo_data so_data;
> + struct bin_info_data bin_data;
> char resolved_path[PATH_MAX];
> void *base_addr_ptr;
>
> @@ -258,30 +259,30 @@ int extract_soinfo_events(struct dl_phdr_info *info,
> size_t size, void *_data)
> break;
>
> resolved_path[path_len] = '\0';
> - so_data.vdso = 0;
> + bin_data.vdso = 0;
> } else {
> snprintf(resolved_path, PATH_MAX - 1, "[vdso]");
> - so_data.vdso = 1;
> + bin_data.vdso = 1;
> }
> } else {
> /*
> * For regular dl_phdr_info entries check if
> - * the path to the SO really exists. If not,
> + * the path to the binary really exists. If not,
> * treat as vdso and use dlpi_name as 'path'.
> */
> if (!realpath(info->dlpi_name, resolved_path)) {
> snprintf(resolved_path, PATH_MAX - 1, "[%s]",
> info->dlpi_name);
> - so_data.vdso = 1;
> + bin_data.vdso = 1;
> } else {
> - so_data.vdso = 0;
> + bin_data.vdso = 0;
> }
> }
>
> - so_data.owner = data->owner;
> - so_data.base_addr_ptr = base_addr_ptr;
> - so_data.resolved_path = resolved_path;
> - ret = trace_baddr(&so_data);
> + bin_data.owner = data->owner;
> + bin_data.base_addr_ptr = base_addr_ptr;
> + bin_data.resolved_path = resolved_path;
> + ret = trace_baddr(&bin_data);
> break;
> }
> end:
> @@ -307,9 +308,9 @@ int do_baddr_statedump(void *owner)
> /*
> * Iterate through the list of currently loaded shared objects and
> * generate events for loadable segments using
> - * extract_soinfo_events.
> + * extract_bin_info_events.
> */
> - dl_iterate_phdr(extract_soinfo_events, &data);
> + dl_iterate_phdr(extract_bin_info_events, &data);
>
> return 0;
> }
> --
> 2.8.0
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-04-20 18:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-20 17:09 [lttng-dev] [PATCH lttng-ust] Rename statedump and dl events and fields Antoine Busque
2016-04-20 18:35 ` Mathieu Desnoyers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox