lttng-ust.git
3 years agoMove the getcpu plugin implementation to liblttn-ust-common
Michael Jeanson [Fri, 23 Apr 2021 00:39:28 +0000 (20:39 -0400)] 
Move the getcpu plugin implementation to liblttn-ust-common

The getcpu plugin is used by both liblttng-ust and liblttng-ust-ctl, move
it to liblttng-ust-common.

Change-Id: Ifdef881188e744ffd2c19670959612aaca8d73d9
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove the clock plugin implementation to liblttng-ust-common
Michael Jeanson [Thu, 22 Apr 2021 18:07:20 +0000 (14:07 -0400)] 
Move the clock plugin implementation to liblttng-ust-common

The clock plugin is used by both liblttng-ust and liblttng-ust-ctl, move
it to liblttng-ust-common.

Change-Id: Ie2fd6947b0531cb10f5de2f5aaf42a1701a44458
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMake futex compat internal to liblttng-ust
Michael Jeanson [Thu, 22 Apr 2021 16:48:52 +0000 (12:48 -0400)] 
Make futex compat internal to liblttng-ust

This compat header originated in userspace RCU where it's used across
multiple shared objects hence the need to have the mutexes as public
weak symbols, in our case it's only used internally by liblttng-ust so
we can hide them.

If we end up using this compat header in another library in this project
we will have to use the same scheme, but in the meantime, don't expose
those symbols in the ABI.

Move the code to the liblttng-ust directory to make sure it's not used
by other libraries.

Change-Id: Ibfaef9448eeaf6247b42f71d6b6d8de234d79a3c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove dynamic-type to libcommon
Michael Jeanson [Thu, 22 Apr 2021 16:18:57 +0000 (12:18 -0400)] 
Move dynamic-type to libcommon

It is used by both liblttng-ust and liblttng-ust-ctl and contains no
shared state.

Change-Id: I51fc7a616d5e426a9286d873da29ffa661859f46
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove lttng_ust_enum_get_from_desc to libcommon
Michael Jeanson [Thu, 22 Apr 2021 15:31:50 +0000 (11:31 -0400)] 
Move lttng_ust_enum_get_from_desc to libcommon

It is used by both liblttng-ust and liblttng-ust-ctl and contains no
shared state.

Change-Id: I8079e2c81cf72fe2075205608cf5e99aa07f6dfd
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove lttng_ust_strerror to liblttng-ust
Michael Jeanson [Thu, 22 Apr 2021 00:17:56 +0000 (20:17 -0400)] 
Move lttng_ust_strerror to liblttng-ust

Move the implementation of lttng_ust_strerror to liblttng-ust, it's part
of its public ABI and should not be copied in multiples libraries.

Change-Id: I825769d6c62b25e3e21b71abd18241998c6dde85
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoExpose a common alloc_tls for liblttng-ust-common
Michael Jeanson [Fri, 23 Apr 2021 18:06:31 +0000 (14:06 -0400)] 
Expose a common alloc_tls for liblttng-ust-common

Expose a common function to force the allocation of all TLS variables
owned by liblttng-ust-common, hide the fd-tracker behind it.

Change-Id: I6acfe7f85bce1e8939cd8e1d64ecb979525fa547
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoRename all 'fixup_tls' functions to 'alloc_tls'
Michael Jeanson [Fri, 23 Apr 2021 17:56:39 +0000 (13:56 -0400)] 
Rename all 'fixup_tls' functions to 'alloc_tls'

Use a term that makes it clearer we are forcing the allocation of lazy
allocated TLS variables.

Change-Id: I9bba052598ba9a62553043f91128d676b9393e71
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoHide symbols that shouldn't be part of the ABI
Michael Jeanson [Wed, 21 Apr 2021 23:19:16 +0000 (19:19 -0400)] 
Hide symbols that shouldn't be part of the ABI

Change-Id: I1d3304cb60dddbd8cdb7ec9fdef66326564a3b7c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoHide internal tracepoint and providers data symbols
Mathieu Desnoyers [Fri, 23 Apr 2021 17:59:09 +0000 (13:59 -0400)] 
Hide internal tracepoint and providers data symbols

The tracepoint and providers definitions are always defined and used
within the same module, so there is no point in exporting those symbols.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I6730e1221cc15e5f3be63402828bb755322ca003

3 years agotracepoint: introduce macros to hide tracepoint/provider symbols
Mathieu Desnoyers [Fri, 23 Apr 2021 16:25:53 +0000 (12:25 -0400)] 
tracepoint: introduce macros to hide tracepoint/provider symbols

Introduce the following macros:

LTTNG_UST_TRACEPOINT_HIDDEN_DEFINITION: Hide symbols associated with
tracepoint module instrumentation.

LTTNG_UST_TRACEPOINT_PROVIDER_HIDDEN_DEFINITION: Hide symbols associated
with tracepoint provider.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I493c325b73c16044dcc117b48cc91df3b05f18b0

3 years agoNamespace liblttng-ust-ctl symbols
Michael Jeanson [Wed, 21 Apr 2021 22:31:54 +0000 (18:31 -0400)] 
Namespace liblttng-ust-ctl symbols

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Rename all liblttng-ust-ctl symbols from
'ustctl_' to 'lttng_ust_ctl_'.

Change-Id: Ic2b9da019e7776b24b98824ae63d16b86c5a5742
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoPrefix public header include guards with LTTNG_UST_
Mathieu Desnoyers [Thu, 22 Apr 2021 16:57:39 +0000 (12:57 -0400)] 
Prefix public header include guards with LTTNG_UST_

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I00a82a300dfd405bddfd30418236d49160998562

3 years agofix: missing prefix LTTNG_UST_ for FLOAT_WORD_ORDER on FreeBSD
Michael Jeanson [Thu, 22 Apr 2021 15:38:36 +0000 (11:38 -0400)] 
fix: missing prefix LTTNG_UST_ for FLOAT_WORD_ORDER on FreeBSD

Change-Id: Ic9dec8c8c094c00e0066c4d8dfa499a3ec5d68fe
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoCleanup: probe function: use __ prefixed identifiers for local variables
Mathieu Desnoyers [Thu, 22 Apr 2021 15:24:41 +0000 (11:24 -0400)] 
Cleanup: probe function: use __ prefixed identifiers for local variables

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I28aab40777ac2221ede847bc63354170a8741125

3 years agoAPI refactoring: introduce probe context
Mathieu Desnoyers [Thu, 22 Apr 2021 12:46:18 +0000 (08:46 -0400)] 
API refactoring: introduce probe context

Introduce a "probe context" to allow passing the "ip" context from the
probe function to the get_value callback used by the bytecode
interpreter. This enables the "ip" context to be used from the filter
bytecode and from the capture bytecode.

Also fix signedness of the return type of the get_value context
callbacks for cases where the type is unsigned.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I2cb40a9b3bb34c42392bb663368e5af360554dbb

3 years agoFix: move compat macros for tracepoint probes to ust-tracepoint-event.h
Mathieu Desnoyers [Thu, 22 Apr 2021 15:11:36 +0000 (11:11 -0400)] 
Fix: move compat macros for tracepoint probes to ust-tracepoint-event.h

Do not pollute the compile units with API=0 defines for applications
instrumented with tracepoint.h but keeping the probe provider in a
separate compile unit.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ic50c515448d628db33b1a7958853d9cd2034a81d

3 years agoRemove unused tp_list_for_each_entry_rcu
Mathieu Desnoyers [Thu, 22 Apr 2021 15:05:33 +0000 (11:05 -0400)] 
Remove unused tp_list_for_each_entry_rcu

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I27925f8a3c23ab2bf18ad967df04afadae332801

3 years agoTracepoint API namespacing ctf_enum
Michael Jeanson [Wed, 21 Apr 2021 21:44:07 +0000 (17:44 -0400)] 
Tracepoint API namespacing ctf_enum

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I377d89338735a6cc3b2b436e69fefd2e81f39e9a
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctf_unused
Michael Jeanson [Wed, 21 Apr 2021 21:27:39 +0000 (17:27 -0400)] 
Tracepoint API namespacing ctf_unused

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I41531d9e69604f1809d035147779c8ceeed2add7
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctf_string
Michael Jeanson [Wed, 21 Apr 2021 21:04:19 +0000 (17:04 -0400)] 
Tracepoint API namespacing ctf_string

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I5ca6f4574a10b62c397af2f20312e309f6b59563
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctf_sequence
Michael Jeanson [Wed, 21 Apr 2021 20:56:54 +0000 (16:56 -0400)] 
Tracepoint API namespacing ctf_sequence

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I6c8596313ce806dd401d41b9b24e228aad39cfe5
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctf_array
Michael Jeanson [Wed, 21 Apr 2021 20:03:42 +0000 (16:03 -0400)] 
Tracepoint API namespacing ctf_array

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ib1c3694d054cba2b6d27bd62a3db2b64eca27c3f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctf_float
Michael Jeanson [Wed, 21 Apr 2021 19:50:19 +0000 (15:50 -0400)] 
Tracepoint API namespacing ctf_float

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ia34bb89dff2542b8d67f2221353ea2e01ed0e0e8
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctf_integer
Michael Jeanson [Wed, 21 Apr 2021 19:37:36 +0000 (15:37 -0400)] 
Tracepoint API namespacing ctf_integer

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I361286079a409226287eb0c401231f4d147e08a4
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing tracepoint-rcu
Michael Jeanson [Wed, 21 Apr 2021 18:33:28 +0000 (14:33 -0400)] 
Tracepoint API namespacing tracepoint-rcu

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ia07f15d7dd01c6d1e86033c83d329888bb52553f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ust-endian
Michael Jeanson [Wed, 21 Apr 2021 16:42:21 +0000 (12:42 -0400)] 
Tracepoint API namespacing ust-endian

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Iaab4a3630f3cd75adf540e4e849fb374076d87b4
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing tracelog
Michael Jeanson [Wed, 21 Apr 2021 15:19:16 +0000 (11:19 -0400)] 
Tracepoint API namespacing tracelog

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I60a6f7838ddf60ef43c3017a50ed24c8bf188a43
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing tracef
Michael Jeanson [Wed, 21 Apr 2021 15:07:58 +0000 (11:07 -0400)] 
Tracepoint API namespacing tracef

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I1a16b9af1dfabb9483cdf3e5225ebe50fe691935
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__lttng_ust_events_exit'
Michael Jeanson [Tue, 20 Apr 2021 21:15:16 +0000 (17:15 -0400)] 
Tracepoint API namespacing '__lttng_ust_events_exit'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I150273940c94f4b0c86b87adcad724befd480158
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__lttng_ust_events_init'
Michael Jeanson [Tue, 20 Apr 2021 21:11:55 +0000 (17:11 -0400)] 
Tracepoint API namespacing '__lttng_ust_events_init'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I2918a0974bd0c7d0c44a4d383d2092d586a20892
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__lttng_ust_probe_register_cookie'
Michael Jeanson [Tue, 20 Apr 2021 21:08:05 +0000 (17:08 -0400)] 
Tracepoint API namespacing '__lttng_ust_probe_register_cookie'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I8ef2e31d57a37f1f3519c566767aac56ee20bf66
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__probe_register'
Michael Jeanson [Tue, 20 Apr 2021 21:06:10 +0000 (17:06 -0400)] 
Tracepoint API namespacing '__probe_register'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I7fa206f7730802b73c441901572c0f3986d9566a
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__probe_desc'
Michael Jeanson [Tue, 20 Apr 2021 21:05:05 +0000 (17:05 -0400)] 
Tracepoint API namespacing '__probe_desc'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Iabbb87406d25a0fce4371e44d6ead8b6452ebf5f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_EXTRACT_STRING'
Michael Jeanson [Tue, 20 Apr 2021 21:01:33 +0000 (17:01 -0400)] 
Tracepoint API namespacing '_TP_EXTRACT_STRING'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I6e2f65e3510cb0c0bce14b792f1e3fb280a1754d
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__get_dynamic_len'
Michael Jeanson [Tue, 20 Apr 2021 21:00:10 +0000 (17:00 -0400)] 
Tracepoint API namespacing '__get_dynamic_len'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Id3c3f0d08439c6149f835ced5a575f2507b74ef1
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TP_IP_PARAM'
Michael Jeanson [Tue, 20 Apr 2021 20:57:45 +0000 (16:57 -0400)] 
Tracepoint API namespacing 'TP_IP_PARAM'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ie01946b463b9b7a517699b3d7063ef97da134a43
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TP_SESSION_CHECK'
Michael Jeanson [Tue, 20 Apr 2021 20:50:17 +0000 (16:50 -0400)] 
Tracepoint API namespacing 'TP_SESSION_CHECK'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I7c68548f40594250ba10defcdd0775cdb1a3172e
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__tp_stringify'
Michael Jeanson [Tue, 20 Apr 2021 20:28:58 +0000 (16:28 -0400)] 
Tracepoint API namespacing '__tp_stringify'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I98e1265e8f9118a27df89e6142ba59fcdd5ae131
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__event_'
Michael Jeanson [Tue, 20 Apr 2021 19:05:29 +0000 (15:05 -0400)] 
Tracepoint API namespacing '__event_'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I49ba4ed31dff075d66eb4c4deec878243c0080b5
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_tp_max_t'
Michael Jeanson [Tue, 20 Apr 2021 18:59:10 +0000 (14:59 -0400)] 
Tracepoint API namespacing '_tp_max_t'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I3f80c5a299e537897d9f0dd3e48ce2c1ccf68c30
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_ARRAY_SIZE'
Michael Jeanson [Tue, 20 Apr 2021 18:58:11 +0000 (14:58 -0400)] 
Tracepoint API namespacing '_TP_ARRAY_SIZE'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ic2eff29524e1afadeae87cf97b28ab904a95f0f8
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__LTTNG_UST_NULL_STRING'
Michael Jeanson [Tue, 20 Apr 2021 18:31:00 +0000 (14:31 -0400)] 
Tracepoint API namespacing '__LTTNG_UST_NULL_STRING'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I1517464f5c50b890bdcf2825d10be1690a699eac
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TP_ENUM_VALUES'
Michael Jeanson [Wed, 21 Apr 2021 19:11:16 +0000 (15:11 -0400)] 
Tracepoint API namespacing 'TP_ENUM_VALUES'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I4f8755f8eddfb2c76dce18fe6193489dbe36aa7f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_PROVIDER'
Michael Jeanson [Tue, 20 Apr 2021 20:23:32 +0000 (16:23 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_PROVIDER'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ie72e03c0232f2b51e38783da2aed1305feab3c57
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_INCLUDE'
Michael Jeanson [Tue, 20 Apr 2021 18:28:44 +0000 (14:28 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_INCLUDE'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I1fe79f1914c0f2da86c419c578f0f4d2f36df3b7
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_HEADER_MULTI_READ'
Michael Jeanson [Tue, 20 Apr 2021 18:11:59 +0000 (14:11 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_HEADER_MULTI_READ'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ib8d0af6af18882283b239593517a4c33384fcf93
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_CREATE_PROBES'
Michael Jeanson [Tue, 20 Apr 2021 17:59:50 +0000 (13:59 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_CREATE_PROBES'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ibb5e359d4d594b8c7a51852acde8e80d9f79e131
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_MODEL_EMF_URI'
Michael Jeanson [Tue, 20 Apr 2021 17:49:22 +0000 (13:49 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_MODEL_EMF_URI'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ib0aa6d868dde81bd7deb79d3a41d826bf6ed6419
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_LOGLEVEL'
Michael Jeanson [Tue, 20 Apr 2021 17:17:11 +0000 (13:17 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_LOGLEVEL'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I3be1cdd214cfcad38613fdae0e9620f9ee8d0437
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_ENUM'
Michael Jeanson [Tue, 20 Apr 2021 17:03:34 +0000 (13:03 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_ENUM'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I40ce57d796361cc9393d07792e5c5225a38db00f
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_DEFINE'
Michael Jeanson [Tue, 20 Apr 2021 17:00:16 +0000 (13:00 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_DEFINE'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Iffa8f15a1050e8d995bcc94c46f1cd588bb70aac
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'tracepoint_(un)register'
Michael Jeanson [Tue, 20 Apr 2021 16:42:50 +0000 (12:42 -0400)] 
Tracepoint API namespacing 'tracepoint_(un)register'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I4eb585902ed4ec4b2207d4c32b744d9a8b454ae6
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__tp_provider' and '__tp_name'
Michael Jeanson [Tue, 20 Apr 2021 16:16:36 +0000 (12:16 -0400)] 
Tracepoint API namespacing '__tp_provider' and '__tp_name'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ic9b1bda1f88a9c5b3384b7fc368effec8c239ee9
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_PROBE_DYNAMIC_LINKAGE'
Michael Jeanson [Tue, 20 Apr 2021 16:13:28 +0000 (12:13 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_PROBE_DYNAMIC_LINKAGE'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Iee16eccc8fa796c0154a879d5fc04b9d84597e14
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing ctor, dtor and sections
Michael Jeanson [Tue, 20 Apr 2021 16:05:13 +0000 (12:05 -0400)] 
Tracepoint API namespacing ctor, dtor and sections

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ibffb8334fdd001671fb6b9c5e001598648499a54
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_NARGS'
Michael Jeanson [Tue, 20 Apr 2021 15:53:04 +0000 (11:53 -0400)] 
Tracepoint API namespacing '_TP_NARGS'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I8fb892f7a1d1053d5b7b87dc3445bd1f254a3fe3
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_EXPROTO'
Michael Jeanson [Tue, 20 Apr 2021 15:17:15 +0000 (11:17 -0400)] 
Tracepoint API namespacing '_TP_EXPROTO'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I32f62c8bbe1c8f86a717772324f764ca040c3256
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_EXDATA'
Michael Jeanson [Tue, 20 Apr 2021 15:16:10 +0000 (11:16 -0400)] 
Tracepoint API namespacing '_TP_EXDATA'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I106630677f62edaf5cb22b076f1642c7c8a456bb
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_EXVAR'
Michael Jeanson [Tue, 20 Apr 2021 15:14:48 +0000 (11:14 -0400)] 
Tracepoint API namespacing '_TP_EXVAR'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I83752deb692413bba6e335fe35a10d127b921bcd
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '_TP_COMBINE_TOKENS'
Michael Jeanson [Tue, 20 Apr 2021 15:13:42 +0000 (11:13 -0400)] 
Tracepoint API namespacing '_TP_COMBINE_TOKENS'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ife2aa364f3a5f60b248b93a00854694eb351b8c8
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'LTTNG_UST_SDT'
Michael Jeanson [Tue, 20 Apr 2021 15:05:36 +0000 (11:05 -0400)] 
Tracepoint API namespacing 'LTTNG_UST_SDT'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ie7e9c62200b6874141e2fdc3c656a9eb95029273
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing '__tracepoint_'
Michael Jeanson [Tue, 20 Apr 2021 14:39:07 +0000 (10:39 -0400)] 
Tracepoint API namespacing '__tracepoint_'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I2ecc085f05956cedb58f8e3109a746304aef2ec6
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'tracepoint_destructors_syms'
Michael Jeanson [Mon, 19 Apr 2021 20:28:55 +0000 (16:28 -0400)] 
Tracepoint API namespacing 'tracepoint_destructors_syms'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I775858f7533c6fc2fad4a1d51e5a677c1a7d5cbb
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'tracepoint_dlopen'
Michael Jeanson [Mon, 19 Apr 2021 20:26:35 +0000 (16:26 -0400)] 
Tracepoint API namespacing 'tracepoint_dlopen'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I3349b267ee0c1e119fed509f6e600bc8edb27f1c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TRACEPOINT_EVENT'
Michael Jeanson [Mon, 19 Apr 2021 19:10:30 +0000 (15:10 -0400)] 
Tracepoint API namespacing 'TRACEPOINT_EVENT'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: I385cbae2b4adcea8551ab8dca66d2a0efe60f9b9
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TP_FIELDS'
Michael Jeanson [Mon, 19 Apr 2021 18:56:24 +0000 (14:56 -0400)] 
Tracepoint API namespacing 'TP_FIELDS'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Ifa379bae616d4c3e6f5a7e99fe436639b65f12ea
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoTracepoint API namespacing 'TP_ARGS'
Michael Jeanson [Mon, 19 Apr 2021 17:55:07 +0000 (13:55 -0400)] 
Tracepoint API namespacing 'TP_ARGS'

The ABI bump gives us the opportunity to namespace all public symbols
under the 'lttng_ust_' prefix. Namespace all API symbols and macros
under 'lttng_ust_' / 'LTTNG_UST_' and add compat macros to keep
compatibility with the previous API.

Change-Id: Id0a63bc4cf96ac2980690fae0e6b22fdf17a4fc1
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoIntroduce API compatibility macros
Mathieu Desnoyers [Fri, 16 Apr 2021 13:36:07 +0000 (09:36 -0400)] 
Introduce API compatibility macros

Introduce API compatibility macros, allowing to compile-out backward
compatibility for older API major versions.

The initial use-case introduced here is renaming of the tracepoint(),
do_tracepoint() and tracepoint_enabled() macros to add the lttng_ust_
prefix. The old macros are only defined when API compatibility with
soname 0 is enabled.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I39e5eb4ae6ceea91dd039d52c429a791bb11ce66

3 years agotracepoint: split provider and event name
Mathieu Desnoyers [Thu, 15 Apr 2021 18:00:13 +0000 (14:00 -0400)] 
tracepoint: split provider and event name

Now that we bump the ABI, it's a good opportunity to split the
tracepoint "name" field, which is a concatenation of

  #provider_name ':' #event_name

into separate provider and name fields.

Reject tracepoints and callsites which are larger than the maximum
length supported by LTTng-UST rather than silently truncating them.
This emits a warning visible with LTTNG_UST_DEBUG=1 to allow pinpointing
erroneous users.

Note that as long as tracepoints are defined statically with the
tracepoint API, the length of the provider and event names is validated
with a build-time check.

This means the core of tracepoint.c is now agnostic to the length of the
tracepoint provider/event name. If there is ever a change to the
LTTng-UST protocol allowing larger length for those, changing the
length validations will be straightforward.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I770cf57e1f19ec6f4d8c1c7b05e537a176a046cb

3 years agolttng-gen-tp: no linker flags when compiling .o
Michael Jeanson [Mon, 19 Apr 2021 19:49:19 +0000 (15:49 -0400)] 
lttng-gen-tp: no linker flags when compiling .o

The lttng-gen-tp scripts appends the content of the LDFLAGS variable to
the cc command use to compile object files, this is unnecessary since we
are not linking an executable or shared object and will generate
warnings with recent clang.

Change-Id: I87812028f145e0fc3848cf9d58de998abc98e57e
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoFix warnings on FreeBSD
Michael Jeanson [Mon, 19 Apr 2021 19:47:50 +0000 (15:47 -0400)] 
Fix warnings on FreeBSD

Change-Id: I86e0ca340ceb479bf5443e72b1643f52467d8891
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoAdd glibc gettid to wrapper
Michael Jeanson [Mon, 19 Apr 2021 14:53:05 +0000 (10:53 -0400)] 
Add glibc gettid to wrapper

Change-Id: I706df1c63f49998336c4432575bc1fd31b91b91c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoust-events.h API const-ness
Mathieu Desnoyers [Mon, 19 Apr 2021 14:07:08 +0000 (10:07 -0400)] 
ust-events.h API const-ness

Ensure ust-events.h definitions, fields, and arguments referring to
const arrays of pointers are const.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I9b1173221c2cfd2d574c300233e15a3fc0e72bce

3 years agoHide lttng_ust_elf symbols
Michael Jeanson [Fri, 16 Apr 2021 20:56:14 +0000 (16:56 -0400)] 
Hide lttng_ust_elf symbols

Change-Id: I5747d0dd9c5fe3d2fdba4f5606e8aa1b7138016a
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoDisable strict-aliasing globally
Michael Jeanson [Tue, 6 Apr 2021 22:18:02 +0000 (18:18 -0400)] 
Disable strict-aliasing globally

Change-Id: Idaf3407c827eeff05f5e52afb446484ff959dbd0
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoconfigure: enable extended compiler warnings
Michael Jeanson [Mon, 22 Mar 2021 22:02:49 +0000 (18:02 -0400)] 
configure: enable extended compiler warnings

Import the compiler warning flag detection system from Babeltrace and
enable extended compiler warnings.

Change-Id: Id7d783a946a014b9b0811fbd934377cd9cde93c7
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoFix warnings on non-x86_64 systems
Michael Jeanson [Fri, 16 Apr 2021 21:09:27 +0000 (17:09 -0400)] 
Fix warnings on non-x86_64 systems

Change-Id: I1043786d066576c91ef5a62bf45e890e870c4454
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoRemove -Wsystem-headers from tests
Michael Jeanson [Fri, 16 Apr 2021 20:06:11 +0000 (16:06 -0400)] 
Remove -Wsystem-headers from tests

The objective of add -Wsystem-headers to the tests Makefiles was to
catch warnings in the tracepoint headers when they are installed in the
compiler system header path. However the tests are always built against
the headers inside the tree which are not in the system header path.

A side effect is that it causes problems on some system where the system
headers generate warnings and thus prevent us from building with
warnings treated as errors.

Change-Id: I65529c50cf48e49ba34692e6d501e3218be8d41c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoInitialize liblttng-ust-common in dependent libraries
Michael Jeanson [Tue, 13 Apr 2021 20:39:18 +0000 (16:39 -0400)] 
Initialize liblttng-ust-common in dependent libraries

liblttng-ust-common is a new public library introduced in this
developement cycle to contain the shared state between liblttng-ust and
our other libs that can't link directly on liblttng-ust. The constructor
of each of these libraries should now call the liblttng-ust-common
constructor early in their own constructors to ensure proper execution
order.

  * Rename library constructors with the _ctor suffix to help
    distinguish them from other _init functions.
  * Hide the fd-tracker init fonction, the liblttng-ust-common ctor
    should be called instead.
  * All libraries linked on 'liblttng-ust-common' call its constructor
    early in theirs.

Change-Id: I8e083f392b4ef2427addd00120cffc61a6314697
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoInternal logging lazy-initialization
Michael Jeanson [Wed, 14 Apr 2021 17:39:03 +0000 (13:39 -0400)] 
Internal logging lazy-initialization

Replace the initialization function by a lazy-init scheme, this way we
don't loose logging messages when called from constructors across
libraries or ld preloaded wrappers.

Change-Id: Idb1593c025351af6aed152b31a2aab17b4d884b0
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agogetenv: make getenv helper init state mt-safe
Mathieu Desnoyers [Fri, 16 Apr 2021 16:02:01 +0000 (12:02 -0400)] 
getenv: make getenv helper init state mt-safe

Change-Id: Idebb709fe4dd5501dfe657ea23fc6a67a65ce1ff
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoRemove duplicated 'smp' code
Michael Jeanson [Thu, 8 Apr 2021 16:04:20 +0000 (12:04 -0400)] 
Remove duplicated 'smp' code

libcounter contains a namespaced copy of the smp code from libringbuffer,
remove it and move the original to libcommon.

Also add comments and hide some implementation details following the ABI
cleanup.

Change-Id: Ie7d78d4f34312c5c788abc07d1806de3ce6fc04c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove liblttng-ust-pthread-wrapper to 'src/lib/'
Michael Jeanson [Wed, 14 Apr 2021 18:55:30 +0000 (14:55 -0400)] 
Move liblttng-ust-pthread-wrapper to 'src/lib/'

Change-Id: Id38841b2338de290f7dc9ec68c10411031fc3d58
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agotracepoint: validate provider/event name length with static assert
Mathieu Desnoyers [Thu, 15 Apr 2021 21:26:32 +0000 (17:26 -0400)] 
tracepoint: validate provider/event name length with static assert

Validate the provider/event name length with static assert in both
_DEFINE_TRACEPOINT() and within the tracepoint probe.

Validating the length in _DEFINE_TRACEPOINT() ensures that the
tracepoints don't try to register a callsite with a too long name by
mistake. This will enable handling of too long names with rejection of
the tracepoint rather than truncation of the name in a future patch.

The tracepoint probe was already validating the length, but using a
static assert makes the error message clearer.

Introduce LTTNG_UST_TRACEPOINT_NAME_LEN_MAX which is separate from the
communication protocol's LTTNG_UST_ABI_SYM_NAME_LEN to ensure both
communication protocol and instrumentation API can evolve independently.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ia2e9898ef2f7a5708c692476aff7df6113bccb90

3 years agoRename ringbuffer-context.h to ust-ringbuffer-context.h
Mathieu Desnoyers [Thu, 15 Apr 2021 20:28:08 +0000 (16:28 -0400)] 
Rename ringbuffer-context.h to ust-ringbuffer-context.h

For naming consistency of public headers.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: If01b2157c4e150b5bd7740348c9f7372ebf5ac97

3 years agoRename LTTNG_ALLOCATE_COMPOUND_LITERAL_ON_HEAP to add LTTNG_UST_ prefix
Mathieu Desnoyers [Thu, 15 Apr 2021 20:21:19 +0000 (16:21 -0400)] 
Rename LTTNG_ALLOCATE_COMPOUND_LITERAL_ON_HEAP to add LTTNG_UST_ prefix

Rename LTTNG_ALLOCATE_COMPOUND_LITERAL_ON_HEAP to
LTTNG_UST_ALLOCATE_COMPOUND_LITERAL_ON_HEAP to use the LTTNG_UST_
prefix. This is public API, but was never documented, recently
introduced, and does not appear to be actively used by any open source
project. Since we are doing an ABI bump, clean this up.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Id59c9a589568826008accb3a810678cdddf242e3

3 years agoRename lttng_ust_lib_ring_buffer to lttng_ust_ring_buffer
Mathieu Desnoyers [Thu, 15 Apr 2021 20:19:13 +0000 (16:19 -0400)] 
Rename lttng_ust_lib_ring_buffer to lttng_ust_ring_buffer

Rename type and identifiers across the entire lttng-ust project. The
"lib_" part does not add any information.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I861d9edc7c43689288c0765a8f66b20087aa3e88

3 years agoRemove unused ringbuffer-abi.h public header
Mathieu Desnoyers [Thu, 15 Apr 2021 20:09:47 +0000 (16:09 -0400)] 
Remove unused ringbuffer-abi.h public header

This header has always been unused. The consumer daemon interacts with
the ring buffer in lttng-ust is through liblttng-ust-ctl, and not
through an ioctl-style ABI.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I24239a40a30c56fb68917a132f4f58b219ea3e4a

3 years agotracepoint: namespace systemtap UST macros with LTTNG_UST_ prefix
Mathieu Desnoyers [Thu, 15 Apr 2021 19:56:48 +0000 (15:56 -0400)] 
tracepoint: namespace systemtap UST macros with LTTNG_UST_ prefix

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I7eba388a741917e790e0c270c3b898fc9ea8ebb2

3 years agoRename LTTNG_TP_EXTERN_C to LTTNG_UST_TP_EXTERN_C
Mathieu Desnoyers [Thu, 15 Apr 2021 19:54:16 +0000 (15:54 -0400)] 
Rename LTTNG_TP_EXTERN_C to LTTNG_UST_TP_EXTERN_C

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ia99792a6857f2e3b5d421bace875ab34b3d29901

3 years agoRename __LTTNG_COMPOUND_LITERAL to LTTNG_UST_COMPOUND_LITERAL
Mathieu Desnoyers [Thu, 15 Apr 2021 19:53:03 +0000 (15:53 -0400)] 
Rename __LTTNG_COMPOUND_LITERAL to LTTNG_UST_COMPOUND_LITERAL

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Id92634444681f187ce6d4b15a64c739e93d243f2

3 years agolttng_ust_static_assert: remove extra semicolons
Mathieu Desnoyers [Thu, 15 Apr 2021 19:47:22 +0000 (15:47 -0400)] 
lttng_ust_static_assert: remove extra semicolons

Also ensure none of recent nor compatibility lttng_ust_static_assert
implementations end with a semicolon.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ie43dbd3d0068ddc63c5317c73f9f831390662535

3 years agoFix: statedump init/exit namespacing
Mathieu Desnoyers [Thu, 15 Apr 2021 19:41:47 +0000 (15:41 -0400)] 
Fix: statedump init/exit namespacing

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I8da1d28cdde39ebef34c5999cf571eb5ff3b3d31

3 years agoNamespace tracepoint probes init/exit under lttng_ust_
Mathieu Desnoyers [Thu, 15 Apr 2021 19:39:59 +0000 (15:39 -0400)] 
Namespace tracepoint probes init/exit under lttng_ust_

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: If487b517c5691cde3ae773b0902d8f08050fc6c1

3 years agoNamespace lttng_static_assert to lttng_ust_static_assert
Mathieu Desnoyers [Thu, 15 Apr 2021 19:38:43 +0000 (15:38 -0400)] 
Namespace lttng_static_assert to lttng_ust_static_assert

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I89c2d874ec72a82f1bc84b04abd34af2aa4b8505

3 years agonotification_send callback takes const event_notifier parameter
Mathieu Desnoyers [Thu, 15 Apr 2021 17:31:13 +0000 (13:31 -0400)] 
notification_send callback takes const event_notifier parameter

The event parameter of the notification_send callback should be const,
because it should not be modified, only read.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Iff6b7454bb4a87ed4a75d842f67e18e5a11be4dd

3 years agorun_filter callback takes const event parameter
Mathieu Desnoyers [Thu, 15 Apr 2021 17:25:51 +0000 (13:25 -0400)] 
run_filter callback takes const event parameter

The event parameter of the run_filter callback should be const, because
it should not be modified, only read.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ie25a3e228d4e0971b447ab4b25d4b2b5e03efa2e

3 years agoFix: perform lazy initialization of getenv common lib
Mathieu Desnoyers [Tue, 13 Apr 2021 21:24:50 +0000 (17:24 -0400)] 
Fix: perform lazy initialization of getenv common lib

The ust-dl wrapper ends up calling into the getenv common lib very early
from library constructors through use of dlopen by the tracepoint
instrumentation code.

This happens before the getenv common lib is explicitly initialized by
liblttng-ust's contructor.

Perform lazy initialization for those early use by constructor
scenarios.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I9f84bb776a62e03b11db0386e267df00eb165ddd

3 years agofix: remove unused include wait.h
Michael Jeanson [Tue, 13 Apr 2021 19:49:20 +0000 (15:49 -0400)] 
fix: remove unused include wait.h

We moved our internal 'wait.h' to 'common/wait.h' but forgot the include
in 'lttng-events.c'. This was a stale include as we don't use anything
from wait.h here. On Linux this went unnoticed as there is a system
'wait.h' which is an alias for 'sys/wait.h'. However, there is no such
system header on FreeBSD and it results in a build failure.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I10034b65e4cacae0ef729ce07d505a37f0b2f1cc

This page took 0.044254 seconds and 4 git commands to generate.