We have updated this feature, see:
commit 405be6583fc840d2ad298516edb267281bc2c4dc
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Mon Aug 31 16:50:50 2015 -0400
baddr statedump: remove dependency on file streams
None of the rest of UST used by applications use file streams (only the
sessiond uses a file streams for metadata). Therefore, use file
descriptors directly for baddr statedump.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
commit d34e6761379227cfd49abb6eab184e1e254ee0b2
Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Date: Mon Aug 31 16:50:03 2015 -0400
baddr statedump: hold ust lock around allocations
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
commit 22609c7a82c5c8ebc07c19cade9b4d6ff61bd0d0
Author: Antoine Busque <abusque@efficios.com>
Date: Thu Jul 30 16:37:04 2015 -0400
Add unit tests for lttng_ust_elf
This adds unit tests for UST's ELF parser. Also included are test ELF
files for multiple architectures (x86, x86_64, armeb, aarch64_be). The
procedure to generate these test files is described in
`tests/ust-elf/README.md`.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
commit 8e2aed3f18adc14ec586ef717e396bcac4473dd7
Author: Antoine Busque <abusque@efficios.com>
Date: Thu Jul 2 11:55:53 2015 -0400
Add memory size, build id, and debug link info to statedump and dl
Implement a minimal ELF parser allowing to compute an executable's
in-memory size and to read its build id and debug link info, if any,
at runtime. This is performed during base address statedump, and on
dlopen when using the `liblttng-ust-dl.so` helper.
This adds a `memsz` field to `lttng_ust_statedump:soinfo` and
`lttng_ust_dl:dlopen`. Also adds two events to both providers,
`build_id` and `debug_link`, which are only traced when the
corresponding information is found in the executable file. They can be
matched with the corresponding `soinfo` or `dlopen` via the `baddr`
field shared amongst all the events. Build ID and debug link are
standard methods of identifying and retrieving debug information
corresponding to a specific version of an executable.
The fields `size` and `mtime` from the existing `soinfo` and `dlopen`
events have been removed as they provided no valuable information for
analysis, whereas build ID or debug link allow unambiguous retrieval
of the debug information, and the on-disk `size` is superseded by the
in-memory `memsz`.
Signed-off-by: Antoine Busque <abusque@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>