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