
1: %define SHARED 2: %include <shlib-compat.h> 3: 4: libc { 5: GLIBC_2.0 { 6: %if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) 7: # These few symbols are here only for binary compatibility 8: # with the pre-versioning libc.so.0.2 ABI. Their replacements 9: # are in the GLIBC_2.1 version set. When the soname changes, 10: # these can be removed. 11: __getuids; 12: __hurd_file_name_lookup; 13: _hurd_proc_init; _hurd_umask; 14: %endif 15: 16: # These go into a different version set if GLIBC_2.0 compatibility 17: # is not required. See below. 18: %if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) 19: # variables used for detecting cthreads 20: _cthread_exit_routine; _cthread_init_routine; 21: 22: # cthreads functions with stubs in libc 23: cthread_keycreate; cthread_getspecific; cthread_setspecific; 24: __libc_getspecific; 25: 26: # weak refs to libthreads functions that libc calls iff libthreads in use 27: cthread_fork; cthread_detach; 28: %endif 29: 30: # necessary for the Hurd brk implementation 31: _end; 32: 33: # variables used in macros & inline functions 34: __hurd_sigthread_stack_base; __hurd_sigthread_stack_end; 35: __hurd_sigthread_variables; 36: __hurd_threadvar_max; 37: __hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset; 38: 39: # functions used in macros & inline functions 40: __hurd_errno_location; 41: 42: # functions used in libmachuser and libhurduser 43: _S_catch_exception_raise; 44: _S_catch_exception_raise_state; 45: _S_catch_exception_raise_state_identity; 46: _S_msg_add_auth; _S_msg_del_auth; 47: _S_msg_describe_ports; 48: _S_msg_get_dtable; _S_msg_set_dtable; 49: _S_msg_get_env_variable; _S_msg_set_env_variable; 50: _S_msg_get_environment; _S_msg_set_environment; 51: _S_msg_get_fd; _S_msg_set_fd; 52: _S_msg_get_init_int; _S_msg_set_init_int; 53: _S_msg_get_init_ints; _S_msg_set_init_ints; 54: _S_msg_get_init_port; _S_msg_set_init_port; 55: _S_msg_get_init_ports; _S_msg_set_init_ports; 56: _S_msg_proc_newids; _S_msg_report_wait; 57: _S_msg_sig_post; _S_msg_sig_post_untraced; 58: _hurd_intr_rpc_mach_msg; 59: _hurdsig_fault_catch_exception_raise; 60: _hurdsig_fault_catch_exception_raise_state; 61: _hurdsig_fault_catch_exception_raise_state_identity; 62: 63: # "quasi-internal" variables 64: _hurd_device_master; 65: _hurd_dtable; _hurd_dtablesize; _hurd_dtable_lock; 66: _hurd_host_priv; 67: _hurd_msgport; 68: _hurd_ports; 69: 70: # "quasi-internal" functions 71: _hurd_canonicalize_directory_name_internal; 72: _hurd_critical_section_lock; 73: _hurd_critical_section_unlock; 74: _hurd_exception2signal; 75: _hurd_exec; 76: _hurd_fd_get; 77: _hurd_init; 78: _hurd_intern_fd; 79: _hurd_port_cleanup; 80: _hurd_port_free; 81: _hurd_port_get; 82: _hurd_port_locked_get; 83: _hurd_ports_use; 84: _hurd_thread_sigstate; 85: 86: # functions in normal name space 87: 88: # f* 89: file_name_lookup; file_name_lookup_under; file_name_path_lookup; 90: file_name_split; 91: fopenport; 92: 93: # g* 94: get_privileged_ports; 95: getauth; getcrdir; getcwdir; getcttyid; getdport; getproc; getumask; 96: 97: # h* 98: hurd_catch_signal; 99: hurd_check_cancel; 100: hurd_file_name_lookup; hurd_file_name_lookup_retry; 101: hurd_file_name_path_lookup; hurd_file_name_split; 102: hurd_preempt_signals; 103: hurd_safe_copyin; hurd_safe_copyout; 104: hurd_safe_memmove; hurd_safe_memset; 105: hurd_sig_post; 106: hurd_thread_cancel; hurd_thread_self; 107: hurd_unpreempt_signals; 108: 109: # o* 110: openport; 111: 112: # p* 113: pid2task; 114: 115: # s* 116: setauth; setcrdir; setcwdir; setproc; setcttyid; 117: 118: # t* 119: task2pid; 120: 121: # v* 122: vpprintf; 123: } 124: GLIBC_2.1 { 125: # "quasi-internal" functions 126: _hurd_proc_init; 127: 128: # g* 129: geteuids; 130: 131: # s* 132: seteuids; 133: } 134: GLIBC_2.1.3 { 135: # d* 136: directory_name_split; 137: 138: # h* 139: hurd_directory_name_split; 140: } 141: GLIBC_2.2.5 { 142: # These always existed as inlines but the real functions were not exported. 143: __hurd_fail; 144: _hurd_self_sigstate; 145: 146: # Same for these "quasi-internal" functions 147: _hurd_port_init; 148: _hurd_port_set; 149: 150: # internal symbols used by other libraries (e.g. librt) 151: _hurd_raise_signal; 152: _hurdsig_interrupt_timeout; 153: _hurdsig_fault_preemptor; _hurdsig_fault_env; 154: } 155: GLIBC_2.2.6 { 156: # functions used in macros & inline functions 157: __errno_location; 158: } 159: 160: %if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) 161: HURD_CTHREADS_0.3 { 162: # weak refs to libthreads functions that libc calls iff libthreads in use 163: cthread_fork; cthread_detach; 164: 165: # variables used for detecting cthreads 166: _cthread_exit_routine; _cthread_init_routine; 167: 168: # cthreads functions with stubs in libc 169: cthread_keycreate; cthread_getspecific; cthread_setspecific; 170: __libc_getspecific; 171: } 172: %endif 173: }