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