summary refs log tree commit diff
path: root/mach/Versions
blob: d2b8402aa6dd9942f0117478b373aa07f4745ecb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
%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;
  }
  GLIBC_2.3 {
    NDR_record;
  }

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