| xf.li | bdd93d5 | 2023-05-12 07:10:14 -0700 | [diff] [blame] | 1 | libc { | 
|  | 2 | GLIBC_2.0 { | 
|  | 3 | pthread_attr_destroy; pthread_attr_init; | 
|  | 4 | pthread_attr_getdetachstate; pthread_attr_setdetachstate; | 
|  | 5 | pthread_attr_getinheritsched; pthread_attr_setinheritsched; | 
|  | 6 | pthread_attr_getschedparam; pthread_attr_setschedparam; | 
|  | 7 | pthread_attr_getschedpolicy;  pthread_attr_setschedpolicy; | 
|  | 8 | pthread_attr_getscope; pthread_attr_setscope; | 
|  | 9 | pthread_condattr_destroy; pthread_condattr_init; | 
|  | 10 | pthread_cond_broadcast; pthread_cond_destroy; | 
|  | 11 | pthread_cond_init; pthread_cond_signal; pthread_cond_wait; | 
|  | 12 | pthread_cond_timedwait; | 
|  | 13 | pthread_equal; pthread_exit; | 
|  | 14 | pthread_getschedparam; pthread_setschedparam; | 
|  | 15 | pthread_mutex_destroy; pthread_mutex_init; | 
|  | 16 | pthread_mutex_lock; pthread_mutex_unlock; | 
|  | 17 | pthread_self; | 
|  | 18 | pthread_setcancelstate; pthread_setcanceltype; | 
|  | 19 | } | 
|  | 20 | GLIBC_2.1 { | 
|  | 21 | pthread_attr_init; | 
|  | 22 | } | 
|  | 23 | GLIBC_2.3.2 { | 
|  | 24 | __register_atfork; | 
|  | 25 |  | 
|  | 26 | # Changed pthread_cond_t. | 
|  | 27 | pthread_cond_init; pthread_cond_destroy; | 
|  | 28 | pthread_cond_wait; pthread_cond_signal; | 
|  | 29 | pthread_cond_broadcast; pthread_cond_timedwait; | 
|  | 30 | } | 
|  | 31 | GLIBC_PRIVATE { | 
|  | 32 | __libc_alloca_cutoff; | 
|  | 33 | # Internal libc interface to libpthread | 
|  | 34 | __libc_dl_error_tsd; | 
|  | 35 | __libc_vfork; | 
|  | 36 | __libc_pthread_init; | 
|  | 37 | __libc_current_sigrtmin_private; __libc_current_sigrtmax_private; | 
|  | 38 | __libc_allocate_rtsig_private; | 
|  | 39 | } | 
|  | 40 | } | 
|  | 41 |  | 
|  | 42 | libpthread { | 
|  | 43 | GLIBC_2.0 { | 
|  | 44 | pthread_create; pthread_join; pthread_self; pthread_equal; | 
|  | 45 | pthread_exit; pthread_detach; | 
|  | 46 |  | 
|  | 47 | pthread_getschedparam; pthread_setschedparam; | 
|  | 48 |  | 
|  | 49 | pthread_attr_init; pthread_attr_destroy; | 
|  | 50 | pthread_attr_getdetachstate; pthread_attr_setdetachstate; | 
|  | 51 | pthread_attr_getschedparam; pthread_attr_setschedparam; | 
|  | 52 | pthread_attr_getschedpolicy; pthread_attr_setschedpolicy; | 
|  | 53 | pthread_attr_getinheritsched; pthread_attr_setinheritsched; | 
|  | 54 | pthread_attr_getscope; pthread_attr_setscope; | 
|  | 55 |  | 
|  | 56 | pthread_mutex_init; pthread_mutex_destroy; | 
|  | 57 | pthread_mutex_lock; pthread_mutex_trylock; pthread_mutex_unlock; | 
|  | 58 |  | 
|  | 59 | pthread_mutexattr_init; pthread_mutexattr_destroy; | 
|  | 60 |  | 
|  | 61 | pthread_cond_init; pthread_cond_destroy; | 
|  | 62 | pthread_cond_wait; pthread_cond_timedwait; | 
|  | 63 | pthread_cond_signal; pthread_cond_broadcast; | 
|  | 64 |  | 
|  | 65 | pthread_condattr_destroy; pthread_condattr_init; | 
|  | 66 |  | 
|  | 67 | pthread_cancel; pthread_testcancel; | 
|  | 68 | pthread_setcancelstate; pthread_setcanceltype; | 
|  | 69 |  | 
|  | 70 | pthread_sigmask; pthread_kill; | 
|  | 71 |  | 
|  | 72 | pthread_key_create; pthread_key_delete; | 
|  | 73 | pthread_getspecific; pthread_setspecific; | 
|  | 74 |  | 
|  | 75 | pthread_once; | 
|  | 76 |  | 
|  | 77 | pthread_atfork; | 
|  | 78 |  | 
|  | 79 | flockfile; funlockfile; ftrylockfile; | 
|  | 80 |  | 
|  | 81 | # Non-standard POSIX1.x functions. | 
|  | 82 | pthread_mutexattr_getkind_np; pthread_mutexattr_setkind_np; | 
|  | 83 |  | 
|  | 84 | # Protected names for functions used in other shared objects. | 
|  | 85 | __pthread_mutex_init; __pthread_mutex_destroy; | 
|  | 86 | __pthread_mutex_lock; __pthread_mutex_trylock; __pthread_mutex_unlock; | 
|  | 87 | __pthread_mutexattr_init; __pthread_mutexattr_destroy; | 
|  | 88 | __pthread_mutexattr_settype; | 
|  | 89 | __pthread_key_create; __pthread_getspecific; __pthread_setspecific; | 
|  | 90 | __pthread_once; __pthread_atfork; | 
|  | 91 | _IO_flockfile; _IO_ftrylockfile; _IO_funlockfile; | 
|  | 92 |  | 
|  | 93 | # Semaphores. | 
|  | 94 | sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait; | 
|  | 95 |  | 
|  | 96 | # Special fork handling. | 
|  | 97 | fork; __fork; vfork; | 
|  | 98 |  | 
|  | 99 | # Cancellation points. | 
|  | 100 | close; __close; fcntl; __fcntl; read; __read; write; __write; accept; | 
|  | 101 | connect; __connect; recv; recvfrom; recvmsg; send; __send; sendmsg; sendto; | 
|  | 102 | fsync; lseek; __lseek; msync; nanosleep; open; __open; pause; tcdrain; | 
|  | 103 | system; wait; __wait; waitpid; | 
|  | 104 |  | 
|  | 105 | # Hidden entry point (through macros). | 
|  | 106 | _pthread_cleanup_push; _pthread_cleanup_pop; | 
|  | 107 | _pthread_cleanup_push_defer; _pthread_cleanup_pop_restore; | 
|  | 108 |  | 
|  | 109 | pthread_kill_other_threads_np; | 
|  | 110 |  | 
|  | 111 | # The error functions. | 
|  | 112 | __errno_location; __h_errno_location; | 
|  | 113 |  | 
|  | 114 | # Functions which previously have been overwritten. | 
|  | 115 | sigwait; sigaction; __sigaction; _exit; _Exit; longjmp; siglongjmp; | 
|  | 116 | raise; | 
|  | 117 | } | 
|  | 118 |  | 
|  | 119 | GLIBC_2.1 { | 
|  | 120 | pthread_create; | 
|  | 121 | pthread_attr_init; | 
|  | 122 |  | 
|  | 123 | pthread_attr_getguardsize; pthread_attr_setguardsize; | 
|  | 124 | pthread_attr_getstackaddr; pthread_attr_setstackaddr; | 
|  | 125 | pthread_attr_getstacksize; pthread_attr_setstacksize; | 
|  | 126 |  | 
|  | 127 | pthread_mutexattr_gettype; pthread_mutexattr_settype; | 
|  | 128 |  | 
|  | 129 | pthread_rwlock_init; pthread_rwlock_destroy; | 
|  | 130 | pthread_rwlock_rdlock; pthread_rwlock_wrlock; pthread_rwlock_unlock; | 
|  | 131 | pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock; | 
|  | 132 |  | 
|  | 133 | pthread_rwlockattr_init; pthread_rwlockattr_destroy; | 
|  | 134 | pthread_rwlockattr_getpshared; pthread_rwlockattr_setpshared; | 
|  | 135 | pthread_rwlockattr_getkind_np; pthread_rwlockattr_setkind_np; | 
|  | 136 |  | 
|  | 137 | pthread_getconcurrency; pthread_setconcurrency; | 
|  | 138 |  | 
|  | 139 | # Semaphores. | 
|  | 140 | sem_destroy; sem_getvalue; sem_init; sem_post; sem_trywait; sem_wait; | 
|  | 141 |  | 
|  | 142 | __libc_current_sigrtmin; __libc_current_sigrtmax; | 
|  | 143 | __libc_allocate_rtsig; | 
|  | 144 | } | 
|  | 145 |  | 
|  | 146 | GLIBC_2.1.1 { | 
|  | 147 | sem_close; sem_open; sem_unlink; | 
|  | 148 | } | 
|  | 149 |  | 
|  | 150 | GLIBC_2.1.2 { | 
|  | 151 | __vfork; | 
|  | 152 | } | 
|  | 153 |  | 
|  | 154 | GLIBC_2.2 { | 
|  | 155 | pthread_mutexattr_getpshared; pthread_mutexattr_setpshared; | 
|  | 156 |  | 
|  | 157 | pthread_condattr_getpshared; pthread_condattr_setpshared; | 
|  | 158 |  | 
|  | 159 | # New functions from IEEE Std. 1003.1-2001. | 
|  | 160 | pthread_mutex_timedlock; | 
|  | 161 |  | 
|  | 162 | pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; | 
|  | 163 |  | 
|  | 164 | pthread_attr_getstack; pthread_attr_setstack; | 
|  | 165 |  | 
|  | 166 | pthread_spin_destroy; pthread_spin_init; pthread_spin_lock; | 
|  | 167 | pthread_spin_trylock; pthread_spin_unlock; | 
|  | 168 |  | 
|  | 169 | pthread_barrier_init; pthread_barrier_destroy; pthread_barrier_wait; | 
|  | 170 | pthread_barrierattr_destroy; pthread_barrierattr_init; | 
|  | 171 | pthread_barrierattr_setpshared; | 
|  | 172 |  | 
|  | 173 | sem_timedwait; | 
|  | 174 |  | 
|  | 175 | pthread_yield; | 
|  | 176 |  | 
|  | 177 | pthread_getcpuclockid; | 
|  | 178 |  | 
|  | 179 | # Cancellation points. | 
|  | 180 | lseek64; open64; __open64; pread; pread64; __pread64; pwrite; pwrite64; | 
|  | 181 | __pwrite64; | 
|  | 182 |  | 
|  | 183 | # Names used internally. | 
|  | 184 | __pthread_rwlock_init; __pthread_rwlock_destroy; | 
|  | 185 | __pthread_rwlock_rdlock; __pthread_rwlock_tryrdlock; | 
|  | 186 | __pthread_rwlock_wrlock; __pthread_rwlock_trywrlock; | 
|  | 187 | __pthread_rwlock_unlock; | 
|  | 188 |  | 
|  | 189 | __res_state; | 
|  | 190 | } | 
|  | 191 |  | 
|  | 192 | GLIBC_2.2.3 { | 
|  | 193 | # Extensions. | 
|  | 194 | pthread_getattr_np; | 
|  | 195 | } | 
|  | 196 |  | 
|  | 197 | GLIBC_2.2.6 { | 
|  | 198 | # Cancellation wrapper | 
|  | 199 | __nanosleep; | 
|  | 200 | } | 
|  | 201 |  | 
|  | 202 | GLIBC_2.3.2 { | 
|  | 203 | # Changed pthread_cond_t. | 
|  | 204 | pthread_cond_init; pthread_cond_destroy; | 
|  | 205 | pthread_cond_wait; pthread_cond_timedwait; | 
|  | 206 | pthread_cond_signal; pthread_cond_broadcast; | 
|  | 207 | } | 
|  | 208 |  | 
|  | 209 | GLIBC_2.3.3 { | 
|  | 210 | # 1003.1-2001 function accidentally left out in 2.2. | 
|  | 211 | pthread_barrierattr_getpshared; | 
|  | 212 |  | 
|  | 213 | # Unix CS option. | 
|  | 214 | pthread_condattr_getclock; pthread_condattr_setclock; | 
|  | 215 |  | 
|  | 216 | # Proposed API extensions. | 
|  | 217 | pthread_tryjoin_np; pthread_timedjoin_np; | 
|  | 218 |  | 
|  | 219 | # New cancellation cleanup handling. | 
|  | 220 | __pthread_register_cancel; __pthread_unregister_cancel; | 
|  | 221 | __pthread_register_cancel_defer; __pthread_unregister_cancel_restore; | 
|  | 222 | __pthread_unwind_next; | 
|  | 223 | __pthread_cleanup_routine; | 
|  | 224 |  | 
|  | 225 | # affinity interfaces without size parameter | 
|  | 226 | pthread_getaffinity_np; pthread_setaffinity_np; | 
|  | 227 | pthread_attr_getaffinity_np; pthread_attr_setaffinity_np; | 
|  | 228 | } | 
|  | 229 |  | 
|  | 230 | GLIBC_2.3.4 { | 
|  | 231 | # New affinity interfaces. | 
|  | 232 | pthread_getaffinity_np; pthread_setaffinity_np; | 
|  | 233 | pthread_attr_getaffinity_np; pthread_attr_setaffinity_np; | 
|  | 234 |  | 
|  | 235 | pthread_setschedprio; | 
|  | 236 | } | 
|  | 237 |  | 
|  | 238 | GLIBC_2.4 { | 
|  | 239 | pthread_mutexattr_getrobust_np; pthread_mutexattr_setrobust_np; | 
|  | 240 | pthread_mutex_consistent_np; | 
|  | 241 | pthread_mutexattr_getprotocol; pthread_mutexattr_setprotocol; | 
|  | 242 | pthread_mutexattr_getprioceiling; pthread_mutexattr_setprioceiling; | 
|  | 243 | pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; | 
|  | 244 | }; | 
|  | 245 |  | 
|  | 246 | GLIBC_2.11 { | 
|  | 247 | pthread_sigqueue; | 
|  | 248 | }; | 
|  | 249 |  | 
|  | 250 | GLIBC_2.12 { | 
|  | 251 | pthread_mutex_consistent; pthread_mutexattr_getrobust; | 
|  | 252 | pthread_mutexattr_setrobust; | 
|  | 253 |  | 
|  | 254 | pthread_setname_np; pthread_getname_np; | 
|  | 255 | }; | 
|  | 256 |  | 
|  | 257 | GLIBC_2.18 { | 
|  | 258 | pthread_getattr_default_np; | 
|  | 259 | pthread_setattr_default_np; | 
|  | 260 | } | 
|  | 261 |  | 
|  | 262 | GLIBC_2.20 { | 
|  | 263 | } | 
|  | 264 |  | 
|  | 265 | GLIBC_2.22 { | 
|  | 266 | } | 
|  | 267 |  | 
|  | 268 | GLIBC_PRIVATE { | 
|  | 269 | __pthread_initialize_minimal; | 
|  | 270 | __pthread_clock_gettime; __pthread_clock_settime; | 
|  | 271 | __pthread_unwind; __pthread_get_minstack; | 
|  | 272 | __pthread_barrier_init; __pthread_barrier_wait; | 
|  | 273 | __shm_directory; | 
|  | 274 | } | 
|  | 275 | } |