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; } }