From: Mathieu Desnoyers Date: Sun, 27 Dec 2020 19:48:46 +0000 (-0500) Subject: Fix: Use default visibility for tracepoint provider symbol X-Git-Tag: v2.13.0-rc1~397 X-Git-Url: http://git.lttng.org/?p=lttng-ust.git;a=commitdiff_plain;h=6c8cfec756dd209da46aa278133d4b2baaa5ea90 Fix: Use default visibility for tracepoint provider symbol When building a probe provider `someprobe` with -fvisibility=hidden into a shared library, the `__tracepoint_provider_someprobe` symbol is hidden, which does not allow tracepoint instrumentation to link to it. Fix this by using the "default" visibility attribute. For a shared library built with -fvisibility=hidden, this changes the output of nm for that symbol from: 000000000000417c b __tracepoint_provider_someprobe (local BSS symbol) to 000000000000417c B __tracepoint_provider_someprobe (global (external) BSS symbol) Fixes: #1296 Signed-off-by: Mathieu Desnoyers Change-Id: I308374f6cac58cca86e8eb19c872286a3da21a75 --- diff --git a/include/lttng/ust-tracepoint-event.h b/include/lttng/ust-tracepoint-event.h index ef9ea692..505b58e7 100644 --- a/include/lttng/ust-tracepoint-event.h +++ b/include/lttng/ust-tracepoint-event.h @@ -1179,4 +1179,5 @@ _TP_COMBINE_TOKENS(__lttng_events_exit__, TRACEPOINT_PROVIDER)(void) lttng_probe_unregister(&_TP_COMBINE_TOKENS(__probe_desc___, TRACEPOINT_PROVIDER)); } -int _TP_COMBINE_TOKENS(__tracepoint_provider_, TRACEPOINT_PROVIDER); +int _TP_COMBINE_TOKENS(__tracepoint_provider_, TRACEPOINT_PROVIDER) +__attribute__((visibility("default")));