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