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