lttng-ust-dl(3): update documentation
[lttng-ust.git] / doc / man / lttng-ust-dl.3.txt
CommitLineData
4ddbd0b7
PP
1lttng-ust-dl(3)
2===============
3:object-type: library
4
5
6NAME
7----
8lttng-ust-dl - Dynamic linker tracing (LTTng-UST helper)
9
10
11SYNOPSIS
12--------
13Launch your application by preloading `liblttng-ust-dl.so`:
14
15[role="term"]
16[verse]
17*LD_PRELOAD=liblttng-ust-dl.so* my-app
18
19
20DESCRIPTION
21-----------
22When the `liblttng-ust-dl.so` library is preloaded before a given
23application starts, it causes all calls to man:dlopen(3) and
24man:dlclose(3) in said application to be traced with LTTng-UST (see
25man:lttng-ust(3)).
26
27See man:lttng(1) to learn more about how to control LTTng tracing
28sessions.
29
d1194248
PP
30IMPORTANT: This LTTng-UST helper can also emit _shared library
31load/unload_ events (see _Shared library load/unload tracking_ in
32man:lttng-ust(3)). You should :not: use the event records generated by
33this LTTng-UST helper (prefixed with `lttng_ust_dl:`) to track the
34loading and unloading of shared libraries, especially in situations
35where a dynamically loaded library loads its own dependencies. Instead,
36do preload `liblttng-ust-dl.so`, but use the shared library load/unload
37event records, which are more reliable, for your tracking analysis.
38
39The following LTTng-UST events are available when using this library.
40
4ddbd0b7
PP
41
42`lttng_ust_dl:dlopen`::
43 Emitted when man:dlopen(3) is called.
44+
45Fields:
46+
47[options="header"]
8902dadc
PP
48|===
49|Field name |Description
50
51|`baddr`
d01f365a 52|Base address of loaded library.
8902dadc
PP
53
54|`memsz`
d01f365a 55|Size of loaded library in memory.
8902dadc 56
3faa376c
PP
57|`flags`
58|Flags passed to man:dlopen(3).
59
60|`path`
61|Path to loaded library file.
62
63|`has_build_id`
64|Whether or not the loaded library has a build ID. If this field is 1,
65you can expect that an `lttng_ust_dl:build_id` event record
66follows this one (not necessarily immediately after).
67
68|`has_debug_link`
69|Whether or not the loaded library has debug link information. If this
70field is 1, you can expect that an `lttng_ust_dl:debug_link` event
71record follows this one (not necessarily immediately after).
72|===
73
74`lttng_ust_dl:dlmopen`::
75 Emitted when man:dlmopen(3) is called.
76+
77Fields:
78+
79[options="header"]
80|===
81|Field name |Description
82
83|`baddr`
84|Base address of loaded library.
85
86|`memsz`
87|Size of loaded library in memory.
88
89|`nsid`
90|ID of the namespace in which the library is loaded (as passed
91to man:dlmopen(3)).
92
93|`flags`
94|Flags passed to man:dlmopen(3).
95
8902dadc 96|`path`
d01f365a 97|Path to loaded library file.
3faa376c
PP
98
99|`has_build_id`
100|Whether or not the loaded library has a build ID. If this field is 1,
101you can expect that an `lttng_ust_dl:build_id` event record
102follows this one (not necessarily immediately after).
103
104|`has_debug_link`
105|Whether or not the loaded library has debug link information. If this
106field is 1, you can expect that an `lttng_ust_dl:debug_link` event
107record follows this one (not necessarily immediately after).
8902dadc 108|===
4ddbd0b7
PP
109
110`lttng_ust_dl:dlclose`::
111 Emitted when man:dlclose(3) is called.
112+
113Fields:
114+
115[options="header"]
8902dadc
PP
116|===
117|Field name |Description
118
119|`baddr`
d01f365a 120|Base address of loaded library.
8902dadc 121|===
4ddbd0b7
PP
122
123`lttng_ust_dl:debug_link`::
124 Emitted when debug link information is found when loading a library
125 with man:dlopen(3). See
126 https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html[Debugging Information in Separate Files]
127 for more information about debug links.
128+
129Fields:
130+
131[options="header"]
8902dadc
PP
132|===
133|Field name |Description
134
135|`baddr`
d01f365a 136|Base address of loaded library.
8902dadc
PP
137
138|`filename`
d01f365a 139|Debug link file name.
8902dadc
PP
140
141|`crc`
d01f365a 142|Debug link file's CRC.
8902dadc 143|===
4ddbd0b7
PP
144
145`lttng_ust_dl:build_id`::
146 Emitted when a build ID is found when loading a library
147 with man:dlopen(3). See
148 https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html[Debugging Information in Separate Files]
149 for more information about build IDs.
150+
151Fields:
152+
153[options="header"]
8902dadc
PP
154|===
155|Field name |Description
156
157|`baddr`
d01f365a 158|Base address of loaded library.
8902dadc
PP
159
160|`build_id`
d01f365a 161|Build ID.
8902dadc 162|===
4ddbd0b7
PP
163
164
165include::common-footer.txt[]
166
167include::common-copyrights.txt[]
168
169include::common-authors.txt[]
170
171
172SEE ALSO
173--------
174man:lttng-ust(3),
175man:dlopen(3),
176man:lttng(1)
This page took 0.029377 seconds and 4 git commands to generate.