1%include <time64-compat.h>
2libc {
3  GLIBC_2.0 {
4    # functions used in inline functions or macros
5    __cmsg_nxthdr;
6
7    # functions used in other libraries
8    __clone;
9
10    # helper functions
11    __errno_location;
12
13    # b*
14    bdflush;
15
16    # c*
17    clone; create_module;
18
19    # d*
20    delete_module;
21
22    # g*
23    get_kernel_syms; getresgid; getresuid;
24
25    # i*
26    init_module;
27
28    # k*
29    klogctl;
30
31    # l*
32    llseek;
33
34    # m*
35    mremap;
36
37    # n*
38    nfsservctl;
39
40    # p*
41    personality; prctl;
42
43    # q*
44    query_module; quotactl;
45
46    # s*
47    setfsgid; setfsuid;
48
49    # s*
50    setresgid; setresuid; swapoff; swapon; sysctl; sysinfo;
51
52    # u*
53    umount; uselib;
54
55    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
56  }
57  GLIBC_2.1 {
58    # functions used in inline functions or macros
59    __libc_sa_len;
60
61    # Since we have new signals this structure changed.
62    _sys_siglist; sys_siglist; sys_sigabbrev;
63
64    # New errlist.
65    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
66
67    # chown interface change.
68    chown;
69
70    # Change in pthread_attr_t.
71    pthread_attr_init;
72
73    # c*
74    capget; capset;
75
76    # n*
77    ntp_adjtime; ntp_gettime;
78
79    # u*
80    umount2;
81
82    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
83  }
84  GLIBC_2.2 {
85    # needed in other libraries.
86    __endmntent; __getmntent_r; __setmntent; __statfs; __sysctl;
87
88    # ipc ctl interface change.
89    semctl; shmctl; msgctl;
90
91    # Old symbol versions from libpthread.
92    __pread64;
93    __pwrite64;
94    lseek64;
95    open64;
96    pread;
97    pread64;
98    pwrite;
99    pwrite64;
100  }
101  GLIBC_2.2.1 {
102    # p*
103    pivot_root;
104  }
105  GLIBC_2.3 {
106    # r*
107    readahead;
108
109    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
110  }
111  GLIBC_2.3.2 {
112    # New kernel interfaces.
113    epoll_create; epoll_ctl; epoll_wait;
114  }
115  GLIBC_2.3.3 {
116    _sys_siglist;
117    gnu_dev_major;
118    gnu_dev_makedev;
119    gnu_dev_minor;
120    posix_fadvise64;
121    posix_fallocate64;
122    sys_sigabbrev;
123    sys_siglist;
124
125    # Changed timer_t.  Only used by some 64-bit targets.
126    timer_create;
127    timer_delete;
128    timer_getoverrun;
129    timer_gettime;
130    timer_settime;
131  }
132  GLIBC_2.3.4 {
133    sched_getaffinity; sched_setaffinity;
134  }
135  GLIBC_2.4 {
136    inotify_init; inotify_add_watch; inotify_rm_watch;
137
138    unshare;
139
140    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
141  }
142  GLIBC_2.5 {
143    splice; tee; vmsplice;
144  }
145  GLIBC_2.6 {
146    epoll_pwait; sync_file_range; sched_getcpu;
147  }
148  GLIBC_2.7 {
149    eventfd; eventfd_read; eventfd_write; signalfd;
150  }
151  GLIBC_2.8 {
152    timerfd_create; timerfd_settime; timerfd_gettime;
153  }
154  GLIBC_2.9 {
155    epoll_create1; inotify_init1;
156  }
157  GLIBC_2.10 {
158    fallocate;
159  }
160  GLIBC_2.12 {
161    _sys_errlist; sys_errlist; _sys_nerr; sys_nerr;
162
163    ntp_gettimex;
164
165    recvmmsg;
166  }
167  GLIBC_2.13 {
168    prlimit; prlimit64;
169
170    fanotify_init; fanotify_mark;
171  }
172  GLIBC_2.14 {
173    clock_adjtime;
174
175    name_to_handle_at; open_by_handle_at;
176
177    setns;
178
179    sendmmsg;
180  }
181  GLIBC_2.15 {
182    process_vm_readv; process_vm_writev;
183  }
184  GLIBC_2.27 {
185    memfd_create;
186    mlock2;
187    pkey_alloc; pkey_free; pkey_set; pkey_get; pkey_mprotect;
188  }
189  GLIBC_2.29 {
190    getcpu;
191  }
192  GLIBC_2.30 {
193    getdents64; gettid; tgkill;
194  }
195  GLIBC_2.32 {
196  }
197  GLIBC_2.34 {
198%ifdef TIME64_NON_DEFAULT
199    # 64-bit time_t support
200    __adjtime64;
201    ___adjtimex64;
202    __aio_suspend_time64;
203    __clock_adjtime64;
204    __clock_getres64;
205    __clock_gettime64;
206    __clock_nanosleep_time64;
207    __clock_settime64;
208    __cnd_timedwait64;
209    __ctime64;
210    __ctime64_r;
211    __difftime64;
212    __fcntl_time64;
213    __fstat64_time64;
214    __fstatat64_time64;
215    __futimens64;
216    __futimes64;
217    __futimesat64;
218    __fts64_open_time64;
219    __fts64_close_time64;
220    __fts64_read_time64;
221    __fts64_set_time64;
222    __fts64_children_time64;
223    __ftw64_time64;
224    __nftw64_time64;
225    __gai_suspend_time64;
226    __getitimer64;
227    __getrusage64;
228    __getsockopt64;
229    __gettimeofday64;
230    __glob64_time64;
231    __globfree64_time64;
232    __gmtime64;
233    __gmtime64_r;
234    __ioctl_time64;
235    __localtime64;
236    __localtime64_r;
237    __lstat64_time64;
238    __lutimes64;
239    __mktime64;
240    __mq_timedreceive_time64;
241    __mq_timedsend_time64;
242    __msgctl64;
243    __mtx_timedlock64;
244    __nanosleep64;
245    __nanosleep64;
246    __ntp_gettime64;
247    __ntp_gettimex64;
248    __ppoll64;
249    __prctl_time64;
250    __pselec64;
251    __pselect64;
252    __pthread_clockjoin_np64;
253    __pthread_cond_clockwait64;
254    __pthread_cond_timedwait64;
255    __pthread_mutex_clocklock64;
256    __pthread_mutex_timedlock64;
257    __pthread_rwlock_clockrdlock64;
258    __pthread_rwlock_clockwrlock64;
259    __pthread_rwlock_timedrdlock64;
260    __pthread_rwlock_timedwrlock64;
261    __pthread_timedjoin_np64;
262    __recvmmsg64;
263    __recvmsg64;
264    __sched_rr_get_interval64;
265    __select64;
266    __sem_clockwait64;
267    __semctl64;
268    __semtimedop64;
269    __sem_timedwait64;
270    __sendmmsg64;
271    __sendmsg64;
272    __setitimer64;
273    __setsockopt64;
274    __settimeofday64;
275    __shmctl64;
276    __sigtimedwait64;
277    __stat64_time64;
278    __thrd_sleep64;
279    __time64;
280    __timegm64;
281    __timer_gettime64;
282    __timer_settime64;
283    __timerfd_gettime64;
284    __timerfd_settime64;
285    __timespec_get64;
286    __timespec_getres64;
287    __utime64;
288    __utimensat64;
289    __utimes64;
290    __utimes64;
291    __wait3_time64;
292    __wait4_time64;
293%endif
294    close_range;
295  }
296  GLIBC_2.35 {
297%ifdef TIME64_NON_DEFAULT
298    __epoll_pwait2_time64;
299%endif
300    epoll_pwait2;
301  }
302  GLIBC_2.36 {
303    fsconfig;
304    fsmount;
305    fsopen;
306    fspick;
307    move_mount;
308    mount_setattr;
309    open_tree;
310    pidfd_open;
311    pidfd_getfd;
312    pidfd_send_signal;
313    process_madvise;
314    process_mrelease;
315  }
316  GLIBC_PRIVATE {
317    # functions used in other libraries
318    __syscall_rt_sigqueueinfo;
319    __open_nocancel;
320    __read_nocancel;
321    __pread64_nocancel;
322    __close_nocancel;
323    __sigtimedwait;
324    # functions used by nscd
325    __netlink_assert_response;
326  }
327}
328
329librt {
330  GLIBC_2.3.3 {
331    # Leftover from the int -> timer_t transition.  For ABIs that came later
332    # and do not have the symbol version, this version node is merged with
333    # the baseline version.
334    __librt_version_placeholder;
335  }
336}
337
338ld {
339  GLIBC_2.35 {
340    __rseq_flags;
341    __rseq_offset;
342    __rseq_size;
343  }
344  GLIBC_PRIVATE {
345    __nptl_change_stack_perm;
346  }
347}
348