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.11.3~1 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=397b64418eca71b5f9c1bdc427589ac0505b996b;p=lttng-ust.git 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 63b3bd49..da52162c 100644 --- a/include/lttng/ust-tracepoint-event.h +++ b/include/lttng/ust-tracepoint-event.h @@ -1056,4 +1056,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")));