lttng-ust.git
2 years agoVersion 2.13.0-rc3 v2.13.0-rc3
Mathieu Desnoyers [Fri, 16 Jul 2021 18:01:30 +0000 (14:01 -0400)] 
Version 2.13.0-rc3

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

2 years agoDocumentation: clarify API backward compatibility comment
Mathieu Desnoyers [Fri, 28 May 2021 15:23:46 +0000 (11:23 -0400)] 
Documentation: clarify API backward compatibility comment

Considering that the ABI (soname major version) and API version can
evolve independently in the future, remove references to the soname
major version from the API compatibility documentation.

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

2 years agodoc/man: only mention `-llttng-ust-common` in synopses (conditionally)
Philippe Proulx [Wed, 9 Jun 2021 19:39:25 +0000 (15:39 -0400)] 
doc/man: only mention `-llttng-ust-common` in synopses (conditionally)

LTTng-UST only requires that you link your application or tracepoint
provider package with `-llttng-ust-common` if you define
`_LGPL_SOURCE` before you include, directly or indirectly,
`<lttng/tracepoint.h>`.

The `_LGPL_SOURCE` definition is specific to the EfficiOS/LTTng
projects.

Because defining `_LGPL_SOURCE` is not considered the typical scenario,
remove instructions to link with `-llttng-ust-common` throughout the
manual pages, except in synopses, to make such instructions more
readable/light.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I460a2f746d5e2904660a11b3151d0d01776361db

2 years agodoc/man: remove vtracef() and vtracelog() manual pages
Philippe Proulx [Wed, 9 Jun 2021 19:26:01 +0000 (15:26 -0400)] 
doc/man: remove vtracef() and vtracelog() manual pages

Following 2268c76f ("Remove vtracelog and vtracef from v0 compat API"),
this patch removes the manual pages of vtracef() and vtracelog() which
don't exist.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I1a07c74b330015ee74bb92235db2171066751503

2 years agoRemove vtracelog and vtracef from v0 compat API
Mathieu Desnoyers [Wed, 9 Jun 2021 15:38:08 +0000 (11:38 -0400)] 
Remove vtracelog and vtracef from v0 compat API

vtracelog and vtracef were introduced between lttng-ust 2.12 and 2.13
(not released yet). They are replaced by lttng_ust_vtracelog and
lttng_ust_vtracef in the v1 API, newly introduced in lttng-ust 2.13.

Therefore, there is no need to expose a v0 compat API for the vtracelog
and vtracef macros which were never officially part of any release
other than the 2.13 release candidates.

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

2 years agoAdd serialized ABI definition files
Michael Jeanson [Wed, 3 Mar 2021 16:56:49 +0000 (11:56 -0500)] 
Add serialized ABI definition files

This commit contains the serialized ABI definitions for a typical build
of the lttng-ust librairies. This information is extracted using
libabigail (https://sourceware.org/libabigail/).

The artefacts used to generate these were built with CFLAGS="-O0 -ggdb"
and all optional configure switches enabled.

You can compare the serialized ABI with a shared object to check for
changes. For example, here we compare an in-tree built version of
liblttng-ust.so with the serialized ABI of stable-2.13 :

  abidiff \
    extras/abi/2.13/x86_64-pc-linux-gnu/liblttng-ust.so.1.xml \
    src/lib/lttng-ust/.libs/liblttng-ust.so

Change-Id: Ie3b6fa78b156556bb9967bebab36c8e4f563bbe3
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agodoc/man: document LTTng-UST 2.13
Philippe Proulx [Tue, 25 May 2021 17:06:56 +0000 (13:06 -0400)] 
doc/man: document LTTng-UST 2.13

Significant changes:

* Prefix all macro/definition names with `LTTNG_UST_` or `lttng_ust_`
  where needed.

* Prefix all log level definitions with `LTTNG_UST_TRACEPOINT_LOGLEVEL`.

* lttng-ust(3):

  * Add "Compatibility with previous APIs" section to explain
    the new `LTTNG_UST_COMPAT_API_VERSION` definition.

  * Document the new tracepoint class provider name parameter of
    `LTTNG_UST_TRACEPOINT_EVENT_INSTANCE()`.

    Update examples accordingly.

* Mention `liblttng-ust-common` where missing.

* tracef(3), vtracef(3), tracelog(3), and vtracelog(3) now indicate that
  the macros are part of version 0 of the LTTng-UST API, albeit still
  available, and point to lttng_ust_tracef(3), lttng_ust_vtracef(3),
  lttng_ust_tracelog(3), and lttng_ust_vtracelog(3).

* New lttng_ust_do_tracepoint(3), lttng_ust_tracepoint(3),
  and lttng_ust_tracepoint_enabled(3) manual pages which source
  lttng-ust(3).

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I07d6ace0d6f219c36d7c99a455726bbf4b0736a2

2 years agodoc: add -llttng-ust-common to linking cmd in manpages
Michael Jeanson [Tue, 27 Apr 2021 15:12:20 +0000 (11:12 -0400)] 
doc: add -llttng-ust-common to linking cmd in manpages

Change-Id: I82de93db32dd35b044810801ceab9dd2816d7fbd
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agodoc: xmlto output to stdout on a verbose build
Michael Jeanson [Tue, 27 Apr 2021 15:00:41 +0000 (11:00 -0400)] 
doc: xmlto output to stdout on a verbose build

When running 'make V=1' send the output of xmlto to stdout to help with
debugging command failures.

Change-Id: Ia974bb0ca9671129499b7966e8790a594ce034b2
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoCleanup: remove useless lttng_ust_probe_supports_event_notifier
Mathieu Desnoyers [Thu, 27 May 2021 14:44:38 +0000 (10:44 -0400)] 
Cleanup: remove useless lttng_ust_probe_supports_event_notifier

LTTng-UST 2.13 bumps the accepted probe provider major version to 3,
therefore we can remove the lttng_ust_probe_supports_event_notifier
version check, which requires that the probe provider major version is
>= 2, because it is now useless.

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

2 years agofix: disable some abi conflict tests on FreeBSD
Michael Jeanson [Mon, 17 May 2021 15:24:47 +0000 (11:24 -0400)] 
fix: disable some abi conflict tests on FreeBSD

On FreeBSD, symbol resolution when dlopening a shared object will always
favor symbols local to this shared object and thus our canary function will
never be called which breaks our abi conflict detection when abi1 is loaded
first.

Disable the test cases with this scenario on FreeBSD as we have no way
to fix this at the moment.

Change-Id: Ic0451ce61e21f94ece55429b41bf76db3ad74b3a
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix: handle leak in abi tests
Mathieu Desnoyers [Mon, 17 May 2021 12:40:17 +0000 (08:40 -0400)] 
Fix: handle leak in abi tests

Coverity finds that dlopen_ust leaks handles. Modify the code structure
to keep track of those handles in library descriptors so they are not
leaked.

*** CID 1453155:    (RESOURCE_LEAK)
/tests/regression/abi0-conflict/app_ust_dlopen.c: 35 in dlopen_ust()
29                     printf("Error: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
30                     ret = EXIT_FAILURE;
31             } else {
32                     printf("Success: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
33             }
34
>>>     CID 1453155:    (RESOURCE_LEAK)
>>>     Variable "handle" going out of scope leaks the storage it points to.
35             return ret;
36     }
37
38     static
39     int dlopen_abi0(void)
40     {
/tests/regression/abi0-conflict/app_noust_dlopen.c: 31 in dlopen_ust()
25                     printf("Error: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
26                     ret = EXIT_FAILURE;
27             } else {
28                     printf("Success: dlopen of liblttng-ust shared library (%s).\n", lib_soname);
29             }
30
>>>     CID 1453155:    (RESOURCE_LEAK)
>>>     Variable "handle" going out of scope leaks the storage it points to.
31             return ret;
32     }
33
34     static
35     int dlopen_abi0(void)
36     {

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

2 years agoVersion 2.13.0-rc2 v2.13.0-rc2
Mathieu Desnoyers [Sat, 15 May 2021 01:31:26 +0000 (21:31 -0400)] 
Version 2.13.0-rc2

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

2 years agoFix: ustcomm: application name uses the '-ust'-suffixed thread name
Jérémie Galarneau [Fri, 14 May 2021 23:13:32 +0000 (19:13 -0400)] 
Fix: ustcomm: application name uses the '-ust'-suffixed thread name

During the 2.13 development cycle, the compatibility pthread_setname_np
compatibility layer was fixed (see 0db3d6ee). Unfortunately, this had a
detrimental effect.

Upon the registration of an application to the session daemon, its name
is sent as part of the 'struct lttng_ust_ctl_reg_msg' registration
message. The application name is sampled using lttng_pthread_getname_np
during the preparation of the message.

However, when the listener thread is launched, its name is changed
early-on to add a '-ust' suffix (see 01f0e40c). This suffixed name is
sampled and sent to the session daemon. Since, until recently, the
pthread_setname_np had no effect on most configurations, this had no
consequence.

I noticed that this has a ripple-effect in the generation of some
path names. For instance, in per-pid mode, snapshots end-up with the
following hierarchy:

/home/jgalar/lttng-traces
└── Mercury
    └── florence_jacques-20210514-162630
        └── snapshot-0-20210514-162726-1
            └── ust
                └── pid
                    └── hello-ust-332607-20210514-162538
                        ├── lol_0
                        ├── lol_1
                        ├── lol_10
                        ├── lol_11
                        ├── lol_2
                        ├── lol_3
                        ├── lol_4
                        ├── lol_5
                        ├── lol_6
                        ├── lol_7
                        ├── lol_8
                        ├── lol_9
                        └── metadata

Notice how the 'hello' application presents itself with the '-ust'
prefix. For such a short application name, it doesn't really matter
much beyond repeating the 'ust' unnecessarily. However, longer
application names quickly become less readable as we lose four of
the 16 precious allowed characters for a process name.

The procname sampled during the execution of the constructors is
reused. My understanding is that the procname stored in the sock_info
is already used for the 'procname' context.

The resulting hierarchy becomes:

/home/jgalar/lttng-traces
└── Mercury
    └── sylvie_rouillard-20210514-193524
        └── snapshot-0-20210514-193553-0
            └── ust
                └── pid
                    └── hello-466576-20210514-193514
                        ├── lol_0
                        ├── lol_1
                        ├── lol_10
                        ├── lol_11
                        ├── lol_2
                        ├── lol_3
                        ├── lol_4
                        ├── lol_5
                        ├── lol_6
                        ├── lol_7
                        ├── lol_8
                        ├── lol_9
                        └── metadata

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ibd6f4763c96ea5fb680f55e5cc3d250baca175b0

2 years agoAdd abi0 conflict tests
Michael Jeanson [Tue, 27 Apr 2021 16:14:15 +0000 (12:14 -0400)] 
Add abi0 conflict tests

Add tests to make sure abi0 detection works properly in different
linking and dlopen scenarios.

Change-Id: I70927298163e5961e255250f7d8d6dd849d9d135
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoDetect unsupported use of .so.0 and .so.1 libraries within same process
Mathieu Desnoyers [Tue, 27 Apr 2021 16:13:04 +0000 (12:13 -0400)] 
Detect unsupported use of .so.0 and .so.1 libraries within same process

Abort process if unsupported use of liblttng-ust and
liblttng-ust-tracepoint .so.0 vs .so.1 within the same process
is detected.

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

2 years agoAdd critical log level
Michael Jeanson [Thu, 13 May 2021 22:41:35 +0000 (18:41 -0400)] 
Add critical log level

Rename the unused BUG() macro to CRIT() to signify an error that can't
be recovered from. Add a new environment variable
LTTNG_UST_ABORT_ON_CRITICAL that when set will abort() on a critical log
statement.

Change-Id: Ib3384a66b7efa4004677b3c153f86cb97b06a091
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoFix: shutdown communication socket on -EINVAL
Mathieu Desnoyers [Fri, 14 May 2021 19:24:27 +0000 (15:24 -0400)] 
Fix: shutdown communication socket on -EINVAL

Found by Coverity:
>>>     CID 1453150:  Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "(void)ustcomm_shutdown_unix...".

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

2 years agoFix: lttng-ust control protocol handling of variable length command data
Mathieu Desnoyers [Thu, 13 May 2021 14:02:42 +0000 (10:02 -0400)] 
Fix: lttng-ust control protocol handling of variable length command data

The scheme for sending variable length data and file descriptors after
the command message causes irrecoverable "unknown commands" errors when
communicating with older versions of lttng-ust, because the receiver
(lttng-ust in applications) does not know that it needs to consume the
variable length data on the communication socket.

For the new commands introduced in the 2.13 cycle, we can change the
protocol on both ends (liblttng-ust-ctl and liblttng-ust) now to add
a reply to the fixed-size part of the command before sending the
variable length data and file descriptors.

For pre-existing commands sending variable length data and file
descriptors right after the fixed-size command, handle this
irrecoverable "unknown command" error by doing a socket shutdown from
liblttng-ust-ctl.

Also document the protocol for each command sending variable length data
and file descriptors after the fixed-size command structure.

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

2 years agoustcomm: implement shutdown API
Mathieu Desnoyers [Thu, 13 May 2021 13:55:49 +0000 (09:55 -0400)] 
ustcomm: implement shutdown API

Implement socket shutdown API to allow the ust-ctl library to shutdown
the communication socket when it cannot recover from errors which make
the sender and receiver out-of-sync.

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

2 years agoFix: add missing fields in struct lttng_ust_abi_channel_config
Mathieu Desnoyers [Wed, 12 May 2021 19:48:27 +0000 (15:48 -0400)] 
Fix: add missing fields in struct lttng_ust_abi_channel_config

struct lttng_ust_abi_channel_config is meant to have the same binary
layout as struct lttng_channel in lttng-ust 2.12. Some fields were
removed (and should not be).

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

2 years agoFix: liblttng-ust-ctl: keep using lttng-ust-sock-8 and lttng-ust-wait-8 filenames
Mathieu Desnoyers [Wed, 12 May 2021 18:02:32 +0000 (14:02 -0400)] 
Fix: liblttng-ust-ctl: keep using lttng-ust-sock-8 and lttng-ust-wait-8 filenames

commit 6a359b8a4006 ("Bump LTTNG_UST_ABI version from 8.1 to 9.0")
attempted to ensure that a session daemon linked against an old
lttng-ust-ctl (2.12) would not attempt to interact with newer
applications.

This was done by increasing the major ABI version number, but
introducing LTTNG_UST_ABI_MAJOR_VERSION_OLDEST_COMPATIBLE (set to 8) as
a mean to allow session daemon to accept both major versions 8 and 9.

Unfortunately, changing LTTNG_UST_ABI_MAJOR_VERSION means the filenames
used for communication changed as well, meaning that applications linked
against older lttng-ust 2.12 cannot interact with lttng sessiond linked
against lttng-ust-ctl 2.13, which is unintended.

Therefore, go back to using the previous filenames: lttng-ust-sock-8,
and lttng-ust-wait-8 for communication.

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

2 years agoliblttng-ust-ctl: Implement SIGBUS handling
Mathieu Desnoyers [Thu, 8 Oct 2020 15:08:59 +0000 (11:08 -0400)] 
liblttng-ust-ctl: Implement SIGBUS handling

There is an issue with the security model of lib ring buffer (lttng-ust)
vs SIGBUS handling by consumer daemon. We do not handle SIGBUS in the
consumer daemon. An application using ftruncate on a ring buffer shm
could cause the consumer to be killed with SIGBUS.

Expose the relevant APIs to allow consumer daemon to handle SIGBUS.

It requires the user application (consumerd) to define the TLS sigbus
state with DEFINE_LTTNG_UST_SIGBUS_STATE(), and to invoke
lttng_ust_ctl_sigbus_handle() when a SIGBUS is received, passing the
address causing the SIGBUS (siginfo->si_addr) as parameter.

Internally, liblttng-ust-ctl uses sigsetjmp and siglongjmp to recover
from SIGBUS, and track all accesses to shared memory ranges within the
library.

This modifies the API of liblttng-ust-ctl, and requires the user
application to define the TLS sigbus state with
DEFINE_LTTNG_UST_SIGBUS_STATE(). It therefore needs to be introduced in
locked-step between lttng-ust and lttng-tools.

It requires a major version bump of liblttng-ust-ctl soname.

Fixes: #1284
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I7ade988e3e68a87930fbcee3e14e59c3fb66e755

2 years agoFix: Java application context: pass application context argument to callbacks
Mathieu Desnoyers [Tue, 11 May 2021 18:59:49 +0000 (14:59 -0400)] 
Fix: Java application context: pass application context argument to callbacks

The callbacks require the complete application context field names to
compare against the tables received from the TLS area.

We also need to free memory allocated by for the context event field and
context name in a destroy callback.

Therefore, allocate a data structure for each application context, and
use that data structure as private data. This allows callback to reach
the context name, and a destroy callback to free the allocated memory.

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

2 years agoFix: java application context segmentation fault
Mathieu Desnoyers [Tue, 11 May 2021 14:28:02 +0000 (10:28 -0400)] 
Fix: java application context segmentation fault

Type mismatch for application context private data causes segmentation
faults in the lttng-ust java testsuite.

This can be solved by using the private data provided by the application
context rather than struct lttng_ust_app_ctx, which is not needed
anymore.

This also fixes a memory leak on context add error.

Those issues were introduced by the 2.13 development cycle refactorings.

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

2 years agoAdd api0 compile tests
Michael Jeanson [Thu, 29 Apr 2021 17:44:46 +0000 (13:44 -0400)] 
Add api0 compile tests

These compile tests will detect if we break the build of tracepoint
providers using the api0 of lttng-ust <= 2.12.

Change-Id: I208cfcbb624a799b3e32fc22bcbcfc03c547a466
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoMove current compile tests to 'api1'
Michael Jeanson [Thu, 29 Apr 2021 16:03:02 +0000 (12:03 -0400)] 
Move current compile tests to 'api1'

Move the current compile tests to the 'api1' directory and build them
with LTTNG_UST_COMPAT_API_VERSION=0 and LTTNG_UST_COMPAT_API_VERSION=1.

Change-Id: Ic46d549b5ec0735931bb2aa64115909fb2e25414
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agofix: namespacing of 'tp_rcu_read_lock'
Michael Jeanson [Thu, 29 Apr 2021 16:23:04 +0000 (12:23 -0400)] 
fix: namespacing of 'tp_rcu_read_lock'

Namespace a forgotten instance of 'tp_rcu_read_lock'.

Change-Id: I7572684c5c6de1bb7b7721e81a8a706c5f2d3f02
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 years agoValidate provider version for event enum field types
Mathieu Desnoyers [Wed, 5 May 2021 20:42:33 +0000 (16:42 -0400)] 
Validate provider version for event enum field types

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

2 years agoValidate provider version for event class
Mathieu Desnoyers [Wed, 5 May 2021 20:19:52 +0000 (16:19 -0400)] 
Validate provider version for event class

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

2 years agoAdd probe descriptor field to enum and event class
Mathieu Desnoyers [Wed, 5 May 2021 20:08:19 +0000 (16:08 -0400)] 
Add probe descriptor field to enum and event class

If future event instances can refer to event classes located in
different probe providers, the tracer needs to be able to query the
major/minor version of the probe provider containing the class.

Likewise for enumerations.

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

2 years agoRefactoring: tracepoint: allow explicit tracepoint instance provider name
Mathieu Desnoyers [Wed, 5 May 2021 19:04:38 +0000 (15:04 -0400)] 
Refactoring: tracepoint: allow explicit tracepoint instance provider name

Add a template_provider argument to LTTNG_UST_TRACEPOINT_EVENT_INSTANCE
to allow a tracepoint instance to refer to a tracepoint class from
another provider within the same compile unit.

Also introduce struct lttng_ust_tracepoint_class to clearly split the
event instance from the class, thus allowing the event instance to refer
to the class through a single symbol. This removes the need to rely on
LTTNG_UST__TP_ARRAY_SIZE() to calculate the size of the event field
array (part of the class) from within the event instance. This
refactoring opens the door to have event class and instance not only in
different providers, but also in providers emitted within different
compile units and shared objects in the future.

For instance, if a .c includes the following headers:

 #define LTTNG_UST_TRACEPOINT_CREATE_PROBES
 #include "a.h"
 #include "b.h"

where a.h contains:

LTTNG_UST_TRACEPOINT_EVENT_CLASS(a, myclass,
        LTTNG_UST_TP_ARGS(int, anint),
        LTTNG_UST_TP_FIELDS(
                lttng_ust_field_integer(int, intfield, anint)
        )
)

and b.h contains:

LTTNG_UST_TRACEPOINT_EVENT_INSTANCE(a, myclass,
        b, myeventinstance,
        LTTNG_UST_TP_ARGS(int, anint)
)

This is a localized API-breaking change introduced very early in the
2.13-rc cycle.

This changes the ABI exposed by the probe providers, so bump the probe
provider major version, and make newer lttng-ust reject old incompatible
major. We can do this because it is very early in the 2.13-rc cycle.

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

2 years agoFix: rename struct lttng_bytecode_runtime to struct lttng_ust_bytecode_runtime
Mathieu Desnoyers [Mon, 3 May 2021 14:23:00 +0000 (10:23 -0400)] 
Fix: rename struct lttng_bytecode_runtime to struct lttng_ust_bytecode_runtime

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

2 years agoRemove unused ip field from struct lttng_ust_ring_buffer_ctx_private
Mathieu Desnoyers [Wed, 28 Apr 2021 18:19:12 +0000 (14:19 -0400)] 
Remove unused ip field from struct lttng_ust_ring_buffer_ctx_private

This field has been moved to struct lttng_ust_probe_ctx.

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

3 years agoVersion 2.13.0-rc1 v2.13.0-rc1
Mathieu Desnoyers [Sat, 24 Apr 2021 01:14:30 +0000 (21:14 -0400)] 
Version 2.13.0-rc1

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

3 years agoSet the 2.13 release codename and description
Michael Jeanson [Fri, 23 Apr 2021 19:22:06 +0000 (15:22 -0400)] 
Set the 2.13 release codename and description

Change-Id: If25fb57fcd384f1b9868f1c8d4be2fbc6af71163
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agosequence type: use previous field for length if length_name is NULL
Mathieu Desnoyers [Mon, 12 Apr 2021 18:04:36 +0000 (14:04 -0400)] 
sequence type: use previous field for length if length_name is NULL

A common use-case for sequences is to use the field located immediately
prior to the sequence as sequence length.

The fact that the sequence type needs to explicitly contain its length
name ties the sequence type to where it is placed within the structure
fields, preventing re-use of the sequence type.

In order to reduce the memory footprint of the field descriptions and
allow re-use of common field types, special-case the NULL length_name to
use the field prior to the sequence as length.

This allows more efficient type descriptions without reducing the
overall flexibility of sequence layout.

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

3 years agotracepoint: Declare tracepoint module register/unregister API
Mathieu Desnoyers [Sat, 24 Apr 2021 00:05:40 +0000 (20:05 -0400)] 
tracepoint: Declare tracepoint module register/unregister API

The registration/unregistration API is part of the ABI, and used through
dlopen/dlsym, but its declaration is not exposed in the API.

Add the missing declarations.

Also remove useless "extern" on
lttng_ust_tracepoint_provider_register/unregister.

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

3 years agoconfigure: fix printing a description containing a comma
Michael Jeanson [Fri, 23 Apr 2021 19:39:58 +0000 (15:39 -0400)] 
configure: fix printing a description containing a comma

Change-Id: I66258d1f790193e3a3fa4c65d194822c09e49f0c
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoRename lttng_ust_tracepoint_(un)register_lib
Michael Jeanson [Fri, 23 Apr 2021 18:13:45 +0000 (14:13 -0400)] 
Rename lttng_ust_tracepoint_(un)register_lib

Change-Id: I15d84c682da4ce98ca872f36a765ab8db22c1dcc
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoRename lttng_ust_tracepoint_probe_(un)register
Michael Jeanson [Fri, 23 Apr 2021 18:12:20 +0000 (14:12 -0400)] 
Rename lttng_ust_tracepoint_probe_(un)register

Change-Id: Ic010cf596f1c89c41322e0cad2f0b044440cc187
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove pkgconfig file to 'src/lib/'
Michael Jeanson [Fri, 23 Apr 2021 01:01:41 +0000 (21:01 -0400)] 
Move pkgconfig file to 'src/lib/'

Change-Id: I9e57ae0ddcf97466ea2ad5b335c0c9318c156daf
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
3 years agoMove the ringbuffer and counter clients to 'src/common/'
Michael Jeanson [Thu, 22 Apr 2021 22:36:47 +0000 (18:36 -0400)] 
Move the ringbuffer and counter clients to 'src/common/'

The clients are used by both liblttng-ust and liblttng-ust-ctl, now that
the clock and getcpu plugins on which they depend have been moved to
liblttng-ust-common, they can be extracted from liblttng-ust-ctl and
move to common convenience libraries.

Change-Id: I8384570007950ca18d00759790cb5264b7c3b528
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
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>
This page took 0.045658 seconds and 4 git commands to generate.