1libc {
2  GLIBC_2.0 {
3    # variables used in Mach-specific macros
4    __mach_task_self_;
5    __vm_page_size;
6
7    # functions used in inline functions and macros
8    __mach_port_deallocate; __mach_thread_self;
9
10    # functions used by RPC stubs
11    __mach_msg; __mach_msg_overwrite;
12    __mig_allocate; __mig_deallocate; __mig_dealloc_reply_port;
13    __mig_get_reply_port; __mig_put_reply_port;
14    __mig_strncpy;
15
16    # variables in normal name space
17    vm_page_size;
18
19    # functions in normal name space
20
21    # e*
22    evc_wait;
23
24    # m*
25    mach_error; mach_error_string; mach_error_type;
26    mach_host_self;
27    mach_msg; mach_msg_overwrite;
28    mach_msg_destroy;
29    mach_msg_send; mach_msg_receive;
30    mach_msg_server; mach_msg_server_timeout;
31    mach_open_devstream;
32    mach_port_allocate; mach_port_allocate_name; mach_port_deallocate;
33    mach_port_insert_right; mach_reply_port;
34    mach_setup_thread;
35    mach_setup_tls;
36    mach_task_self;
37    mach_thread_self;
38    mig_allocate; mig_dealloc_reply_port; mig_deallocate;
39    mig_get_reply_port; mig_init; mig_put_reply_port;
40
41    # v*
42    vm_allocate; vm_deallocate; vm_map;
43
44    # s*
45    swtch; swtch_pri;
46
47    # t*
48    task_create; task_set_special_port; task_suspend; task_terminate;
49    thread_depress_abort; thread_switch;
50  }
51  GLIBC_2.2.5 {
52    # internal functions used by other libraries (e.g. librt)
53    __mach_msg_destroy; __mach_reply_port;
54
55    # This was always there, but not exported as it should have been.
56    mig_strncpy;
57  }
58  GLIBC_2.21 {
59    __mach_host_self_;
60  }
61  GLIBC_2.32 {
62    mach_print;
63  }
64
65  HURD_CTHREADS_0.3 {
66    __mutex_init; __mutex_lock; __mutex_lock_solid; __mutex_trylock;
67    __mutex_unlock; __mutex_unlock_solid;
68    __spin_lock; __spin_lock_init; __spin_lock_solid; __spin_try_lock;
69    __spin_unlock;
70  }
71  GLIBC_PRIVATE {
72    # functions used by RPC stubs
73    __mig_memcpy;
74  }
75}
76