9b20923f8a435949d2fb7d57a7b320d7d5ffe90f
[jlayton/glibc.git] / hurd / Versions
1 %define SHARED
2 %include <shlib-compat.h>
3
4 libc {
5   GLIBC_2.0 {
6 %if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
7     # These few symbols are here only for binary compatibility
8     # with the pre-versioning libc.so.0.2 ABI.  Their replacements
9     # are in the GLIBC_2.1 version set.  When the soname changes,
10     # these can be removed.
11     __getuids;
12     __hurd_file_name_lookup;
13     _hurd_proc_init; _hurd_umask;
14 %endif
15
16     # These go into a different version set if GLIBC_2.0 compatibility
17     # is not required.  See below.
18 %if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
19     # variables used for detecting cthreads
20     _cthread_exit_routine; _cthread_init_routine;
21
22     # cthreads functions with stubs in libc
23     cthread_keycreate; cthread_getspecific; cthread_setspecific;
24     __libc_getspecific;
25
26     # weak refs to libthreads functions that libc calls iff libthreads in use
27     cthread_fork; cthread_detach;
28 %endif
29
30     # necessary for the Hurd brk implementation
31     _end;
32
33     # variables used in macros & inline functions
34     __hurd_sigthread_stack_base; __hurd_sigthread_stack_end;
35     __hurd_sigthread_variables;
36     __hurd_threadvar_max;
37     __hurd_threadvar_stack_mask; __hurd_threadvar_stack_offset;
38
39     # functions used in macros & inline functions
40     __hurd_errno_location;
41
42     # functions used in libmachuser and libhurduser
43     _S_catch_exception_raise;
44     _S_msg_add_auth; _S_msg_del_auth;
45     _S_msg_describe_ports;
46     _S_msg_get_dtable; _S_msg_set_dtable;
47     _S_msg_get_env_variable; _S_msg_set_env_variable;
48     _S_msg_get_environment; _S_msg_set_environment;
49     _S_msg_get_fd; _S_msg_set_fd;
50     _S_msg_get_init_int; _S_msg_set_init_int;
51     _S_msg_get_init_ints; _S_msg_set_init_ints;
52     _S_msg_get_init_port; _S_msg_set_init_port;
53     _S_msg_get_init_ports; _S_msg_set_init_ports;
54     _S_msg_proc_newids; _S_msg_report_wait;
55     _S_msg_sig_post; _S_msg_sig_post_untraced;
56     _hurd_intr_rpc_mach_msg; _hurdsig_fault_catch_exception_raise;
57
58     # "quasi-internal" variables
59     _hurd_device_master;
60     _hurd_dtable; _hurd_dtablesize; _hurd_dtable_lock;
61     _hurd_host_priv;
62     _hurd_msgport;
63     _hurd_ports;
64
65     # "quasi-internal" functions
66     _hurd_canonicalize_directory_name_internal;
67     _hurd_critical_section_lock;
68     _hurd_critical_section_unlock;
69     _hurd_exception2signal;
70     _hurd_exec;
71     _hurd_fd_get;
72     _hurd_init;
73     _hurd_intern_fd;
74     _hurd_port_cleanup;
75     _hurd_port_free;
76     _hurd_port_get;
77     _hurd_port_locked_get;
78     _hurd_ports_use;
79     _hurd_thread_sigstate;
80
81     # functions in normal name space
82
83     # f*
84     file_name_lookup; file_name_lookup_under; file_name_path_lookup;
85     file_name_split;
86     fopenport;
87
88     # g*
89     get_privileged_ports;
90     getauth; getcrdir; getcwdir; getcttyid; getdport; getproc; getumask;
91
92     # h*
93     hurd_catch_signal;
94     hurd_check_cancel;
95     hurd_file_name_lookup; hurd_file_name_lookup_retry;
96     hurd_file_name_path_lookup; hurd_file_name_split;
97     hurd_preempt_signals;
98     hurd_safe_copyin; hurd_safe_copyout;
99     hurd_safe_memmove; hurd_safe_memset;
100     hurd_sig_post;
101     hurd_thread_cancel; hurd_thread_self;
102     hurd_unpreempt_signals;
103
104     # o*
105     openport;
106
107     # p*
108     pid2task;
109
110     # s*
111     setauth; setcrdir; setcwdir; setproc; setcttyid;
112
113     # t*
114     task2pid;
115
116     # v*
117     vpprintf;
118   }
119   GLIBC_2.1 {
120     # "quasi-internal" functions
121     _hurd_proc_init;
122
123     # g*
124     geteuids;
125
126     # s*
127     seteuids;
128   }
129   GLIBC_2.1.3 {
130     # d*
131     directory_name_split;
132
133     # h*
134     hurd_directory_name_split;
135   }
136   GLIBC_2.2.5 {
137     # These always existed as inlines but the real functions were not exported.
138     __hurd_fail;
139     _hurd_self_sigstate;
140
141     # Same for these "quasi-internal" functions
142     _hurd_port_init;
143     _hurd_port_set;
144
145     # internal symbols used by other libraries (e.g. librt)
146     _hurd_raise_signal;
147     _hurdsig_interrupt_timeout;
148     _hurdsig_fault_preemptor; _hurdsig_fault_env;
149   }
150
151 %if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
152   HURD_CTHREADS_0.3 {
153     # weak refs to libthreads functions that libc calls iff libthreads in use
154     cthread_fork; cthread_detach;
155
156     # variables used for detecting cthreads
157     _cthread_exit_routine; _cthread_init_routine;
158
159     # cthreads functions with stubs in libc
160     cthread_keycreate; cthread_getspecific; cthread_setspecific;
161     __libc_getspecific;
162   }
163 %endif
164 }