%define SHARED %include <shlib-compat.h> libc { GLIBC_2.0 { %if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) # This symbol is here only for binary compatibility with the # pre-versioning libc.so.0.2 ABI. When the soname changes, # it can be removed. __vm_allocate; %endif # variables used in Mach-specific macros __mach_task_self_; __vm_page_size; # functions used in inline functions and macros __mach_port_deallocate; __mach_thread_self; %if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) __mutex_init; __mutex_lock; __mutex_lock_solid; __mutex_trylock; __mutex_unlock; __mutex_unlock_solid; __spin_lock; __spin_lock_init; __spin_lock_solid; __spin_try_lock; __spin_unlock; %endif # functions used by RPC stubs __mach_msg; __mach_msg_overwrite; __mig_allocate; __mig_deallocate; __mig_dealloc_reply_port; __mig_get_reply_port; __mig_put_reply_port; __mig_strncpy; # variables in normal name space vm_page_size; # functions in normal name space # e* evc_wait; # m* mach_error; mach_error_string; mach_error_type; mach_host_self; mach_msg; mach_msg_overwrite; mach_msg_destroy; mach_msg_send; mach_msg_receive; mach_msg_server; mach_msg_server_timeout; mach_open_devstream; mach_port_allocate; mach_port_allocate_name; mach_port_deallocate; mach_port_insert_right; mach_reply_port; mach_setup_thread; mach_task_self; mach_thread_self; mig_allocate; mig_dealloc_reply_port; mig_deallocate; mig_get_reply_port; mig_init; mig_put_reply_port; # v* vm_allocate; vm_deallocate; vm_map; # s* swtch; swtch_pri; # t* task_create; task_set_special_port; task_suspend; task_terminate; thread_depress_abort; thread_switch; } GLIBC_2.2.5 { # internal functions used by other libraries (e.g. librt) __mach_msg_destroy; __mach_reply_port; # This was always there, but not exported as it should have been. mig_strncpy; } %if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) HURD_CTHREADS_0.3 { __mutex_init; __mutex_lock; __mutex_lock_solid; __mutex_trylock; __mutex_unlock; __mutex_unlock_solid; __spin_lock; __spin_lock_init; __spin_lock_solid; __spin_try_lock; __spin_unlock; } %endif }