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