1# exports_so.txt #
2
3#
4#//===----------------------------------------------------------------------===//
5#//
6#// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
7#// See https://llvm.org/LICENSE.txt for license information.
8#// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
9#//
10#//===----------------------------------------------------------------------===//
11#
12
13# This is version script for OMP RTL shared library (libomp*.so)
14
15VERSION {
16
17    global: # Exported symbols.
18
19        #
20        # "Normal" symbols.
21        #
22        omp_*;     # Standard OpenMP functions.
23        OMP_*;     # Standard OpenMP symbols.
24
25        #
26        # OMPT API
27        #
28        ompt_start_tool;     # OMPT start interface
29
30        # icc drops weak attribute at linking step without the following line:
31        Annotate*;           # TSAN annotation
32
33        ompc_*;    # omp.h renames some standard functions to ompc_*.
34        kmp_*;     # Intel extensions.
35        kmpc_*;    # Intel extensions.
36        __kmpc_*;  # Functions called by compiler-generated code.
37        GOMP_*;    # GNU C compatibility functions.
38
39        _You_must_link_with_*;     # Mutual detection/MS compatibility symbols.
40
41        #
42        # Debugger support.
43        #
44#if USE_DEBUGGER
45        __kmp_debugging;
46        __kmp_omp_debug_struct_info;
47#endif /* USE_DEBUGGER */
48
49        #
50        # Internal functions exported for testing purposes.
51        #
52        __kmp_get_reduce_method;
53        ___kmp_allocate;
54        ___kmp_free;
55        __kmp_thread_pool;
56
57	__kmp_reset_stats;
58
59#if USE_ITT_BUILD
60        #
61        # ITT support.
62        #
63        # The following entry points are added so that the backtraces from
64        # the tools contain meaningful names for all the functions that might
65        # appear in a backtrace of a thread which is blocked in the RTL.
66        __kmp_acquire_drdpa_lock;
67        __kmp_acquire_nested_drdpa_lock;
68        __kmp_acquire_nested_queuing_lock;
69        __kmp_acquire_nested_tas_lock;
70        __kmp_acquire_nested_ticket_lock;
71        __kmp_acquire_queuing_lock;
72        __kmp_acquire_tas_lock;
73        __kmp_acquire_ticket_lock;
74        __kmp_fork_call;
75        __kmp_invoke_microtask;
76#if KMP_USE_MONITOR
77        __kmp_launch_monitor;
78        __kmp_reap_monitor;
79#endif
80        __kmp_launch_worker;
81        __kmp_reap_worker;
82        __kmp_release_64;
83        __kmp_wait_64;
84        __kmp_wait_4;
85
86        # ittnotify symbols to be used by debugger
87        __kmp_itt_fini_ittlib;
88        __kmp_itt_init_ittlib;
89#endif /* USE_ITT_BUILD */
90
91    local: # Non-exported symbols.
92
93        *;         # All other symbols are not exported.
94
95}; # VERSION
96
97# sets up GCC OMP_ version dependency chain
98OMP_1.0 {
99};
100OMP_2.0 {
101} OMP_1.0;
102OMP_3.0 {
103} OMP_2.0;
104OMP_3.1 {
105} OMP_3.0;
106OMP_4.0 {
107} OMP_3.1;
108OMP_4.5 {
109} OMP_4.0;
110
111# sets up GCC GOMP_ version dependency chain
112GOMP_1.0 {
113};
114GOMP_2.0 {
115} GOMP_1.0;
116GOMP_3.0 {
117} GOMP_2.0;
118GOMP_4.0 {
119} GOMP_3.0;
120GOMP_4.5 {
121} GOMP_4.0;
122
123# end of file #
124