|  | libc { | 
|  | GLIBC_2.0 { | 
|  | # necessary for the Hurd brk implementation | 
|  | _end; | 
|  |  | 
|  | # variables used in macros & inline functions | 
|  | __hurd_sigthread_stack_base; __hurd_sigthread_stack_end; | 
|  | __hurd_sigthread_variables; | 
|  | __hurd_threadvar_max; | 
|  | __hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset; | 
|  |  | 
|  | # functions used in macros & inline functions | 
|  | __hurd_errno_location; | 
|  |  | 
|  | # functions used in libmachuser and libhurduser | 
|  | _S_catch_exception_raise; | 
|  | _S_catch_exception_raise_state; | 
|  | _S_catch_exception_raise_state_identity; | 
|  | _S_msg_add_auth; _S_msg_del_auth; | 
|  | _S_msg_describe_ports; | 
|  | _S_msg_get_dtable; _S_msg_set_dtable; | 
|  | _S_msg_get_env_variable; _S_msg_set_env_variable; | 
|  | _S_msg_get_environment; _S_msg_set_environment; | 
|  | _S_msg_get_fd; _S_msg_set_fd; | 
|  | _S_msg_get_init_int; _S_msg_set_init_int; | 
|  | _S_msg_get_init_ints; _S_msg_set_init_ints; | 
|  | _S_msg_get_init_port; _S_msg_set_init_port; | 
|  | _S_msg_get_init_ports; _S_msg_set_init_ports; | 
|  | _S_msg_proc_newids; _S_msg_report_wait; | 
|  | _S_msg_sig_post; _S_msg_sig_post_untraced; | 
|  | _hurd_intr_rpc_mach_msg; | 
|  | _hurdsig_fault_catch_exception_raise; | 
|  | _hurdsig_fault_catch_exception_raise_state; | 
|  | _hurdsig_fault_catch_exception_raise_state_identity; | 
|  |  | 
|  | # "quasi-internal" variables | 
|  | _hurd_device_master; | 
|  | _hurd_dtable; _hurd_dtablesize; _hurd_dtable_lock; | 
|  | _hurd_host_priv; | 
|  | _hurd_msgport; | 
|  | _hurd_ports; | 
|  |  | 
|  | # "quasi-internal" functions | 
|  | _hurd_canonicalize_directory_name_internal; | 
|  | _hurd_critical_section_lock; | 
|  | _hurd_critical_section_unlock; | 
|  | _hurd_exception2signal; | 
|  | _hurd_exec; | 
|  | _hurd_fd_get; | 
|  | _hurd_init; | 
|  | _hurd_intern_fd; | 
|  | _hurd_port_cleanup; | 
|  | _hurd_port_free; | 
|  | _hurd_port_get; | 
|  | _hurd_port_locked_get; | 
|  | _hurd_ports_use; | 
|  | _hurd_thread_sigstate; | 
|  |  | 
|  | # functions in normal name space | 
|  |  | 
|  | # f* | 
|  | file_name_lookup; file_name_lookup_under; file_name_path_lookup; | 
|  | file_name_split; | 
|  | fopenport; | 
|  |  | 
|  | # g* | 
|  | get_privileged_ports; | 
|  | getauth; getcrdir; getcwdir; getcttyid; getdport; getproc; getumask; | 
|  |  | 
|  | # h* | 
|  | hurd_catch_signal; | 
|  | hurd_check_cancel; | 
|  | hurd_file_name_lookup; hurd_file_name_lookup_retry; | 
|  | hurd_file_name_path_lookup; hurd_file_name_split; | 
|  | hurd_preempt_signals; | 
|  | hurd_safe_copyin; hurd_safe_copyout; | 
|  | hurd_safe_memmove; hurd_safe_memset; | 
|  | hurd_sig_post; | 
|  | hurd_thread_cancel; hurd_thread_self; | 
|  | hurd_unpreempt_signals; | 
|  |  | 
|  | # o* | 
|  | openport; | 
|  |  | 
|  | # p* | 
|  | pid2task; | 
|  |  | 
|  | # s* | 
|  | setauth; setcrdir; setcwdir; setproc; setcttyid; | 
|  |  | 
|  | # t* | 
|  | task2pid; | 
|  |  | 
|  | # v* | 
|  | vpprintf; | 
|  | } | 
|  | GLIBC_2.1 { | 
|  | # "quasi-internal" functions | 
|  | _hurd_proc_init; | 
|  |  | 
|  | # g* | 
|  | geteuids; | 
|  |  | 
|  | # s* | 
|  | seteuids; | 
|  | } | 
|  | GLIBC_2.1.3 { | 
|  | # d* | 
|  | directory_name_split; | 
|  |  | 
|  | # h* | 
|  | hurd_directory_name_split; | 
|  | } | 
|  | GLIBC_2.2.5 { | 
|  | # These always existed as inlines but the real functions were not exported. | 
|  | __hurd_fail; | 
|  | _hurd_self_sigstate; | 
|  |  | 
|  | # Same for these "quasi-internal" functions | 
|  | _hurd_port_init; | 
|  | _hurd_port_set; | 
|  |  | 
|  | # internal symbols used by other libraries (e.g. librt) | 
|  | _hurd_raise_signal; | 
|  | _hurdsig_interrupt_timeout; | 
|  | _hurdsig_fault_preemptor; _hurdsig_fault_env; | 
|  | } | 
|  | GLIBC_2.2.6 { | 
|  | # functions used in macros & inline functions | 
|  | __errno_location; | 
|  | } | 
|  |  | 
|  | HURD_CTHREADS_0.3 { | 
|  | # weak refs to libthreads functions that libc calls iff libthreads in use | 
|  | cthread_fork; cthread_detach; | 
|  |  | 
|  | # variables used for detecting cthreads | 
|  | _cthread_exit_routine; _cthread_init_routine; | 
|  |  | 
|  | # cthreads functions with stubs in libc | 
|  | cthread_keycreate; cthread_getspecific; cthread_setspecific; | 
|  | __libc_getspecific; | 
|  | } | 
|  | } |