diff options
Diffstat (limited to 'REORG.TODO/sysdeps/unix/sysv/linux/x86_64')
111 files changed, 10614 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile new file mode 100644 index 0000000000..a7b6dc5a53 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/Makefile @@ -0,0 +1,2 @@ +# The default ABI is 64. +default-abi := 64 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/c++-types.data new file mode 100644 index 0000000000..23c11dc41b --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/c++-types.data @@ -0,0 +1,67 @@ +blkcnt64_t:l +blkcnt_t:l +blksize_t:l +caddr_t:Pc +clockid_t:i +clock_t:l +daddr_t:i +dev_t:m +fd_mask:l +fsblkcnt64_t:m +fsblkcnt_t:m +fsfilcnt64_t:m +fsfilcnt_t:m +fsid_t:8__fsid_t +gid_t:j +id_t:j +ino64_t:m +ino_t:m +int16_t:s +int32_t:i +int64_t:l +int8_t:a +intptr_t:l +key_t:i +loff_t:l +mode_t:j +nlink_t:m +off64_t:l +off_t:l +pid_t:i +pthread_attr_t:14pthread_attr_t +pthread_barrier_t:17pthread_barrier_t +pthread_barrierattr_t:21pthread_barrierattr_t +pthread_cond_t:14pthread_cond_t +pthread_condattr_t:18pthread_condattr_t +pthread_key_t:j +pthread_mutex_t:15pthread_mutex_t +pthread_mutexattr_t:19pthread_mutexattr_t +pthread_once_t:i +pthread_rwlock_t:16pthread_rwlock_t +pthread_rwlockattr_t:20pthread_rwlockattr_t +pthread_spinlock_t:i +pthread_t:m +quad_t:l +register_t:l +rlim64_t:m +rlim_t:m +sigset_t:10__sigset_t +size_t:m +socklen_t:j +ssize_t:l +suseconds_t:l +time_t:l +u_char:h +uid_t:j +uint:j +u_int:j +u_int16_t:t +u_int32_t:j +u_int64_t:m +u_int8_t:h +ulong:m +u_long:m +u_quad_t:m +useconds_t:j +ushort:t +u_short:t diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure new file mode 100644 index 0000000000..9d1a8d271d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure @@ -0,0 +1,15 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64. + +test -n "$libc_cv_slibdir" || +case "$prefix" in +/usr | /usr/) + libc_cv_slibdir=/lib64 + libc_cv_rtlddir=/lib64 + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/lib64'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi + ;; +esac diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure.ac new file mode 100644 index 0000000000..8e863b94ad --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/configure.ac @@ -0,0 +1,4 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/unix/sysv/linux/x86_64/64. + +LIBC_SLIBDIR_RTLDDIR([lib64], [lib64]) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h new file mode 100644 index 0000000000..8d474d0d04 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/dl-librecon.h @@ -0,0 +1,44 @@ +/* Optional code to distinguish library flavours. x86-64 version. + Copyright (C) 2015-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _DL_LIBRECON_H + +#include <sysdeps/unix/sysv/linux/dl-librecon.h> + +/* Recognizing extra environment variables. For 64-bit applications, + branch prediction performance may be negatively impacted when the + target of a branch is more than 4GB away from the branch. Add the + Prefer_MAP_32BIT_EXEC bit so that mmap will try to map executable + pages with MAP_32BIT first. NB: MAP_32BIT will map to lower 2GB, + not lower 4GB, address. Prefer_MAP_32BIT_EXEC reduces bits available + for address space layout randomization (ASLR). Prefer_MAP_32BIT_EXEC + is always disabled for SUID programs and can be enabled by setting + environment variable, LD_PREFER_MAP_32BIT_EXEC. */ +#define EXTRA_LD_ENVVARS \ + case 21: \ + if (memcmp (envline, "PREFER_MAP_32BIT_EXEC", 21) == 0) \ + GLRO(dl_x86_cpu_features).feature[index_arch_Prefer_MAP_32BIT_EXEC] \ + |= bit_arch_Prefer_MAP_32BIT_EXEC; \ + break; + +/* Extra unsecure variables. The names are all stuffed in a single + string which means they have to be terminated with a '\0' explicitly. */ +#define EXTRA_UNSECURE_ENVVARS \ + "LD_PREFER_MAP_32BIT_EXEC\0" + +#endif /* dl-librecon.h */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist new file mode 100644 index 0000000000..07cab4bd7a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/ld.abilist @@ -0,0 +1,11 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 __libc_stack_end D 0x8 +GLIBC_2.2.5 _dl_mcount F +GLIBC_2.2.5 _r_debug D 0x28 +GLIBC_2.2.5 calloc F +GLIBC_2.2.5 free F +GLIBC_2.2.5 malloc F +GLIBC_2.2.5 realloc F +GLIBC_2.3 GLIBC_2.3 A +GLIBC_2.3 __tls_get_addr F +GLIBC_2.4 GLIBC_2.4 A diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist new file mode 100644 index 0000000000..907c72986f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libBrokenLocale.abilist @@ -0,0 +1,2 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 __ctype_get_mb_cur_max F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist new file mode 100644 index 0000000000..a104f7562a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libanl.abilist @@ -0,0 +1,5 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 gai_cancel F +GLIBC_2.2.5 gai_error F +GLIBC_2.2.5 gai_suspend F +GLIBC_2.2.5 getaddrinfo_a F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist new file mode 100644 index 0000000000..513524d932 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -0,0 +1,2171 @@ +GLIBC_2.10 GLIBC_2.10 A +GLIBC_2.10 __cxa_at_quick_exit F +GLIBC_2.10 __posix_getopt F +GLIBC_2.10 accept4 F +GLIBC_2.10 endsgent F +GLIBC_2.10 fallocate F +GLIBC_2.10 fallocate64 F +GLIBC_2.10 fgetsgent F +GLIBC_2.10 fgetsgent_r F +GLIBC_2.10 getsgent F +GLIBC_2.10 getsgent_r F +GLIBC_2.10 getsgnam F +GLIBC_2.10 getsgnam_r F +GLIBC_2.10 malloc_info F +GLIBC_2.10 preadv F +GLIBC_2.10 preadv64 F +GLIBC_2.10 psiginfo F +GLIBC_2.10 putsgent F +GLIBC_2.10 pwritev F +GLIBC_2.10 pwritev64 F +GLIBC_2.10 quick_exit F +GLIBC_2.10 register_printf_modifier F +GLIBC_2.10 register_printf_specifier F +GLIBC_2.10 register_printf_type F +GLIBC_2.10 setsgent F +GLIBC_2.10 sgetsgent F +GLIBC_2.10 sgetsgent_r F +GLIBC_2.11 GLIBC_2.11 A +GLIBC_2.11 __longjmp_chk F +GLIBC_2.11 execvpe F +GLIBC_2.11 mkostemps F +GLIBC_2.11 mkostemps64 F +GLIBC_2.11 mkstemps F +GLIBC_2.11 mkstemps64 F +GLIBC_2.12 GLIBC_2.12 A +GLIBC_2.12 _sys_errlist D 0x438 +GLIBC_2.12 _sys_nerr D 0x4 +GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 recvmmsg F +GLIBC_2.12 sys_errlist D 0x438 +GLIBC_2.12 sys_nerr D 0x4 +GLIBC_2.13 GLIBC_2.13 A +GLIBC_2.13 __fentry__ F +GLIBC_2.13 fanotify_init F +GLIBC_2.13 fanotify_mark F +GLIBC_2.13 prlimit F +GLIBC_2.13 prlimit64 F +GLIBC_2.14 GLIBC_2.14 A +GLIBC_2.14 clock_adjtime F +GLIBC_2.14 memcpy F +GLIBC_2.14 name_to_handle_at F +GLIBC_2.14 open_by_handle_at F +GLIBC_2.14 sendmmsg F +GLIBC_2.14 setns F +GLIBC_2.14 syncfs F +GLIBC_2.15 GLIBC_2.15 A +GLIBC_2.15 __fdelt_chk F +GLIBC_2.15 __fdelt_warn F +GLIBC_2.15 posix_spawn F +GLIBC_2.15 posix_spawnp F +GLIBC_2.15 process_vm_readv F +GLIBC_2.15 process_vm_writev F +GLIBC_2.15 scandirat F +GLIBC_2.15 scandirat64 F +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 __getauxval F +GLIBC_2.16 __poll_chk F +GLIBC_2.16 __ppoll_chk F +GLIBC_2.16 aligned_alloc F +GLIBC_2.16 c16rtomb F +GLIBC_2.16 c32rtomb F +GLIBC_2.16 getauxval F +GLIBC_2.16 mbrtoc16 F +GLIBC_2.16 mbrtoc32 F +GLIBC_2.16 timespec_get F +GLIBC_2.17 GLIBC_2.17 A +GLIBC_2.17 clock_getcpuclockid F +GLIBC_2.17 clock_getres F +GLIBC_2.17 clock_gettime F +GLIBC_2.17 clock_nanosleep F +GLIBC_2.17 clock_settime F +GLIBC_2.17 secure_getenv F +GLIBC_2.18 GLIBC_2.18 A +GLIBC_2.18 __cxa_thread_atexit_impl F +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 _Exit F +GLIBC_2.2.5 _IO_2_1_stderr_ D 0xe0 +GLIBC_2.2.5 _IO_2_1_stdin_ D 0xe0 +GLIBC_2.2.5 _IO_2_1_stdout_ D 0xe0 +GLIBC_2.2.5 _IO_adjust_column F +GLIBC_2.2.5 _IO_adjust_wcolumn F +GLIBC_2.2.5 _IO_default_doallocate F +GLIBC_2.2.5 _IO_default_finish F +GLIBC_2.2.5 _IO_default_pbackfail F +GLIBC_2.2.5 _IO_default_uflow F +GLIBC_2.2.5 _IO_default_xsgetn F +GLIBC_2.2.5 _IO_default_xsputn F +GLIBC_2.2.5 _IO_do_write F +GLIBC_2.2.5 _IO_doallocbuf F +GLIBC_2.2.5 _IO_fclose F +GLIBC_2.2.5 _IO_fdopen F +GLIBC_2.2.5 _IO_feof F +GLIBC_2.2.5 _IO_ferror F +GLIBC_2.2.5 _IO_fflush F +GLIBC_2.2.5 _IO_fgetpos F +GLIBC_2.2.5 _IO_fgetpos64 F +GLIBC_2.2.5 _IO_fgets F +GLIBC_2.2.5 _IO_file_attach F +GLIBC_2.2.5 _IO_file_close F +GLIBC_2.2.5 _IO_file_close_it F +GLIBC_2.2.5 _IO_file_doallocate F +GLIBC_2.2.5 _IO_file_finish F +GLIBC_2.2.5 _IO_file_fopen F +GLIBC_2.2.5 _IO_file_init F +GLIBC_2.2.5 _IO_file_jumps D 0xa8 +GLIBC_2.2.5 _IO_file_open F +GLIBC_2.2.5 _IO_file_overflow F +GLIBC_2.2.5 _IO_file_read F +GLIBC_2.2.5 _IO_file_seek F +GLIBC_2.2.5 _IO_file_seekoff F +GLIBC_2.2.5 _IO_file_setbuf F +GLIBC_2.2.5 _IO_file_stat F +GLIBC_2.2.5 _IO_file_sync F +GLIBC_2.2.5 _IO_file_underflow F +GLIBC_2.2.5 _IO_file_write F +GLIBC_2.2.5 _IO_file_xsputn F +GLIBC_2.2.5 _IO_flockfile F +GLIBC_2.2.5 _IO_flush_all F +GLIBC_2.2.5 _IO_flush_all_linebuffered F +GLIBC_2.2.5 _IO_fopen F +GLIBC_2.2.5 _IO_fprintf F +GLIBC_2.2.5 _IO_fputs F +GLIBC_2.2.5 _IO_fread F +GLIBC_2.2.5 _IO_free_backup_area F +GLIBC_2.2.5 _IO_free_wbackup_area F +GLIBC_2.2.5 _IO_fsetpos F +GLIBC_2.2.5 _IO_fsetpos64 F +GLIBC_2.2.5 _IO_ftell F +GLIBC_2.2.5 _IO_ftrylockfile F +GLIBC_2.2.5 _IO_funlockfile F +GLIBC_2.2.5 _IO_fwrite F +GLIBC_2.2.5 _IO_getc F +GLIBC_2.2.5 _IO_getline F +GLIBC_2.2.5 _IO_getline_info F +GLIBC_2.2.5 _IO_gets F +GLIBC_2.2.5 _IO_init F +GLIBC_2.2.5 _IO_init_marker F +GLIBC_2.2.5 _IO_init_wmarker F +GLIBC_2.2.5 _IO_iter_begin F +GLIBC_2.2.5 _IO_iter_end F +GLIBC_2.2.5 _IO_iter_file F +GLIBC_2.2.5 _IO_iter_next F +GLIBC_2.2.5 _IO_least_wmarker F +GLIBC_2.2.5 _IO_link_in F +GLIBC_2.2.5 _IO_list_all D 0x8 +GLIBC_2.2.5 _IO_list_lock F +GLIBC_2.2.5 _IO_list_resetlock F +GLIBC_2.2.5 _IO_list_unlock F +GLIBC_2.2.5 _IO_marker_delta F +GLIBC_2.2.5 _IO_marker_difference F +GLIBC_2.2.5 _IO_padn F +GLIBC_2.2.5 _IO_peekc_locked F +GLIBC_2.2.5 _IO_popen F +GLIBC_2.2.5 _IO_printf F +GLIBC_2.2.5 _IO_proc_close F +GLIBC_2.2.5 _IO_proc_open F +GLIBC_2.2.5 _IO_putc F +GLIBC_2.2.5 _IO_puts F +GLIBC_2.2.5 _IO_remove_marker F +GLIBC_2.2.5 _IO_seekmark F +GLIBC_2.2.5 _IO_seekoff F +GLIBC_2.2.5 _IO_seekpos F +GLIBC_2.2.5 _IO_seekwmark F +GLIBC_2.2.5 _IO_setb F +GLIBC_2.2.5 _IO_setbuffer F +GLIBC_2.2.5 _IO_setvbuf F +GLIBC_2.2.5 _IO_sgetn F +GLIBC_2.2.5 _IO_sprintf F +GLIBC_2.2.5 _IO_sputbackc F +GLIBC_2.2.5 _IO_sputbackwc F +GLIBC_2.2.5 _IO_sscanf F +GLIBC_2.2.5 _IO_str_init_readonly F +GLIBC_2.2.5 _IO_str_init_static F +GLIBC_2.2.5 _IO_str_overflow F +GLIBC_2.2.5 _IO_str_pbackfail F +GLIBC_2.2.5 _IO_str_seekoff F +GLIBC_2.2.5 _IO_str_underflow F +GLIBC_2.2.5 _IO_sungetc F +GLIBC_2.2.5 _IO_sungetwc F +GLIBC_2.2.5 _IO_switch_to_get_mode F +GLIBC_2.2.5 _IO_switch_to_main_wget_area F +GLIBC_2.2.5 _IO_switch_to_wbackup_area F +GLIBC_2.2.5 _IO_switch_to_wget_mode F +GLIBC_2.2.5 _IO_un_link F +GLIBC_2.2.5 _IO_ungetc F +GLIBC_2.2.5 _IO_unsave_markers F +GLIBC_2.2.5 _IO_unsave_wmarkers F +GLIBC_2.2.5 _IO_vfprintf F +GLIBC_2.2.5 _IO_vfscanf F +GLIBC_2.2.5 _IO_vsprintf F +GLIBC_2.2.5 _IO_wdefault_doallocate F +GLIBC_2.2.5 _IO_wdefault_finish F +GLIBC_2.2.5 _IO_wdefault_pbackfail F +GLIBC_2.2.5 _IO_wdefault_uflow F +GLIBC_2.2.5 _IO_wdefault_xsgetn F +GLIBC_2.2.5 _IO_wdefault_xsputn F +GLIBC_2.2.5 _IO_wdo_write F +GLIBC_2.2.5 _IO_wdoallocbuf F +GLIBC_2.2.5 _IO_wfile_jumps D 0xa8 +GLIBC_2.2.5 _IO_wfile_overflow F +GLIBC_2.2.5 _IO_wfile_seekoff F +GLIBC_2.2.5 _IO_wfile_sync F +GLIBC_2.2.5 _IO_wfile_underflow F +GLIBC_2.2.5 _IO_wfile_xsputn F +GLIBC_2.2.5 _IO_wmarker_delta F +GLIBC_2.2.5 _IO_wsetb F +GLIBC_2.2.5 __adjtimex F +GLIBC_2.2.5 __after_morecore_hook D 0x8 +GLIBC_2.2.5 __arch_prctl F +GLIBC_2.2.5 __argz_count F +GLIBC_2.2.5 __argz_next F +GLIBC_2.2.5 __argz_stringify F +GLIBC_2.2.5 __asprintf F +GLIBC_2.2.5 __assert F +GLIBC_2.2.5 __assert_fail F +GLIBC_2.2.5 __assert_perror_fail F +GLIBC_2.2.5 __backtrace F +GLIBC_2.2.5 __backtrace_symbols F +GLIBC_2.2.5 __backtrace_symbols_fd F +GLIBC_2.2.5 __bsd_getpgrp F +GLIBC_2.2.5 __bzero F +GLIBC_2.2.5 __check_rhosts_file D 0x4 +GLIBC_2.2.5 __clone F +GLIBC_2.2.5 __close F +GLIBC_2.2.5 __cmsg_nxthdr F +GLIBC_2.2.5 __connect F +GLIBC_2.2.5 __ctype32_b D 0x8 +GLIBC_2.2.5 __ctype32_tolower D 0x8 +GLIBC_2.2.5 __ctype32_toupper D 0x8 +GLIBC_2.2.5 __ctype_b D 0x8 +GLIBC_2.2.5 __ctype_get_mb_cur_max F +GLIBC_2.2.5 __ctype_tolower D 0x8 +GLIBC_2.2.5 __ctype_toupper D 0x8 +GLIBC_2.2.5 __curbrk D 0x8 +GLIBC_2.2.5 __cxa_atexit F +GLIBC_2.2.5 __cxa_finalize F +GLIBC_2.2.5 __cyg_profile_func_enter F +GLIBC_2.2.5 __cyg_profile_func_exit F +GLIBC_2.2.5 __daylight D 0x4 +GLIBC_2.2.5 __dcgettext F +GLIBC_2.2.5 __default_morecore F +GLIBC_2.2.5 __dgettext F +GLIBC_2.2.5 __dup2 F +GLIBC_2.2.5 __duplocale F +GLIBC_2.2.5 __endmntent F +GLIBC_2.2.5 __environ D 0x8 +GLIBC_2.2.5 __errno_location F +GLIBC_2.2.5 __fbufsize F +GLIBC_2.2.5 __fcntl F +GLIBC_2.2.5 __ffs F +GLIBC_2.2.5 __finite F +GLIBC_2.2.5 __finitef F +GLIBC_2.2.5 __finitel F +GLIBC_2.2.5 __flbf F +GLIBC_2.2.5 __fork F +GLIBC_2.2.5 __fpending F +GLIBC_2.2.5 __fpu_control D 0x2 +GLIBC_2.2.5 __fpurge F +GLIBC_2.2.5 __freadable F +GLIBC_2.2.5 __freading F +GLIBC_2.2.5 __free_hook D 0x8 +GLIBC_2.2.5 __freelocale F +GLIBC_2.2.5 __fsetlocking F +GLIBC_2.2.5 __fwritable F +GLIBC_2.2.5 __fwriting F +GLIBC_2.2.5 __fxstat F +GLIBC_2.2.5 __fxstat64 F +GLIBC_2.2.5 __getdelim F +GLIBC_2.2.5 __getmntent_r F +GLIBC_2.2.5 __getpagesize F +GLIBC_2.2.5 __getpgid F +GLIBC_2.2.5 __getpid F +GLIBC_2.2.5 __gettimeofday F +GLIBC_2.2.5 __gmtime_r F +GLIBC_2.2.5 __h_errno_location F +GLIBC_2.2.5 __isalnum_l F +GLIBC_2.2.5 __isalpha_l F +GLIBC_2.2.5 __isascii_l F +GLIBC_2.2.5 __isblank_l F +GLIBC_2.2.5 __iscntrl_l F +GLIBC_2.2.5 __isdigit_l F +GLIBC_2.2.5 __isgraph_l F +GLIBC_2.2.5 __isinf F +GLIBC_2.2.5 __isinff F +GLIBC_2.2.5 __isinfl F +GLIBC_2.2.5 __islower_l F +GLIBC_2.2.5 __isnan F +GLIBC_2.2.5 __isnanf F +GLIBC_2.2.5 __isnanl F +GLIBC_2.2.5 __isprint_l F +GLIBC_2.2.5 __ispunct_l F +GLIBC_2.2.5 __isspace_l F +GLIBC_2.2.5 __isupper_l F +GLIBC_2.2.5 __iswalnum_l F +GLIBC_2.2.5 __iswalpha_l F +GLIBC_2.2.5 __iswblank_l F +GLIBC_2.2.5 __iswcntrl_l F +GLIBC_2.2.5 __iswctype F +GLIBC_2.2.5 __iswctype_l F +GLIBC_2.2.5 __iswdigit_l F +GLIBC_2.2.5 __iswgraph_l F +GLIBC_2.2.5 __iswlower_l F +GLIBC_2.2.5 __iswprint_l F +GLIBC_2.2.5 __iswpunct_l F +GLIBC_2.2.5 __iswspace_l F +GLIBC_2.2.5 __iswupper_l F +GLIBC_2.2.5 __iswxdigit_l F +GLIBC_2.2.5 __isxdigit_l F +GLIBC_2.2.5 __ivaliduser F +GLIBC_2.2.5 __key_decryptsession_pk_LOCAL D 0x8 +GLIBC_2.2.5 __key_encryptsession_pk_LOCAL D 0x8 +GLIBC_2.2.5 __key_gendes_LOCAL D 0x8 +GLIBC_2.2.5 __libc_allocate_rtsig F +GLIBC_2.2.5 __libc_calloc F +GLIBC_2.2.5 __libc_current_sigrtmax F +GLIBC_2.2.5 __libc_current_sigrtmin F +GLIBC_2.2.5 __libc_free F +GLIBC_2.2.5 __libc_freeres F +GLIBC_2.2.5 __libc_init_first F +GLIBC_2.2.5 __libc_mallinfo F +GLIBC_2.2.5 __libc_malloc F +GLIBC_2.2.5 __libc_mallopt F +GLIBC_2.2.5 __libc_memalign F +GLIBC_2.2.5 __libc_pvalloc F +GLIBC_2.2.5 __libc_realloc F +GLIBC_2.2.5 __libc_sa_len F +GLIBC_2.2.5 __libc_start_main F +GLIBC_2.2.5 __libc_valloc F +GLIBC_2.2.5 __lseek F +GLIBC_2.2.5 __lxstat F +GLIBC_2.2.5 __lxstat64 F +GLIBC_2.2.5 __malloc_hook D 0x8 +GLIBC_2.2.5 __malloc_initialize_hook D 0x8 +GLIBC_2.2.5 __mbrlen F +GLIBC_2.2.5 __mbrtowc F +GLIBC_2.2.5 __memalign_hook D 0x8 +GLIBC_2.2.5 __mempcpy F +GLIBC_2.2.5 __mempcpy_small F +GLIBC_2.2.5 __monstartup F +GLIBC_2.2.5 __morecore D 0x8 +GLIBC_2.2.5 __newlocale F +GLIBC_2.2.5 __nl_langinfo_l F +GLIBC_2.2.5 __nss_configure_lookup F +GLIBC_2.2.5 __nss_database_lookup F +GLIBC_2.2.5 __nss_group_lookup F +GLIBC_2.2.5 __nss_hostname_digits_dots F +GLIBC_2.2.5 __nss_hosts_lookup F +GLIBC_2.2.5 __nss_next F +GLIBC_2.2.5 __nss_passwd_lookup F +GLIBC_2.2.5 __open F +GLIBC_2.2.5 __open64 F +GLIBC_2.2.5 __overflow F +GLIBC_2.2.5 __pipe F +GLIBC_2.2.5 __poll F +GLIBC_2.2.5 __pread64 F +GLIBC_2.2.5 __printf_fp F +GLIBC_2.2.5 __profile_frequency F +GLIBC_2.2.5 __progname D 0x8 +GLIBC_2.2.5 __progname_full D 0x8 +GLIBC_2.2.5 __pwrite64 F +GLIBC_2.2.5 __rawmemchr F +GLIBC_2.2.5 __rcmd_errstr D 0x8 +GLIBC_2.2.5 __read F +GLIBC_2.2.5 __realloc_hook D 0x8 +GLIBC_2.2.5 __res_init F +GLIBC_2.2.5 __res_nclose F +GLIBC_2.2.5 __res_ninit F +GLIBC_2.2.5 __res_randomid F +GLIBC_2.2.5 __res_state F +GLIBC_2.2.5 __rpc_thread_createerr F +GLIBC_2.2.5 __rpc_thread_svc_fdset F +GLIBC_2.2.5 __rpc_thread_svc_max_pollfd F +GLIBC_2.2.5 __rpc_thread_svc_pollfd F +GLIBC_2.2.5 __sbrk F +GLIBC_2.2.5 __sched_get_priority_max F +GLIBC_2.2.5 __sched_get_priority_min F +GLIBC_2.2.5 __sched_getparam F +GLIBC_2.2.5 __sched_getscheduler F +GLIBC_2.2.5 __sched_setscheduler F +GLIBC_2.2.5 __sched_yield F +GLIBC_2.2.5 __secure_getenv F +GLIBC_2.2.5 __select F +GLIBC_2.2.5 __send F +GLIBC_2.2.5 __setmntent F +GLIBC_2.2.5 __setpgid F +GLIBC_2.2.5 __sigaction F +GLIBC_2.2.5 __sigaddset F +GLIBC_2.2.5 __sigdelset F +GLIBC_2.2.5 __sigismember F +GLIBC_2.2.5 __signbit F +GLIBC_2.2.5 __signbitf F +GLIBC_2.2.5 __signbitl F +GLIBC_2.2.5 __sigpause F +GLIBC_2.2.5 __sigsetjmp F +GLIBC_2.2.5 __sigsuspend F +GLIBC_2.2.5 __statfs F +GLIBC_2.2.5 __stpcpy F +GLIBC_2.2.5 __stpcpy_small F +GLIBC_2.2.5 __stpncpy F +GLIBC_2.2.5 __strcasecmp F +GLIBC_2.2.5 __strcasecmp_l F +GLIBC_2.2.5 __strcasestr F +GLIBC_2.2.5 __strcoll_l F +GLIBC_2.2.5 __strcpy_small F +GLIBC_2.2.5 __strcspn_c1 F +GLIBC_2.2.5 __strcspn_c2 F +GLIBC_2.2.5 __strcspn_c3 F +GLIBC_2.2.5 __strdup F +GLIBC_2.2.5 __strerror_r F +GLIBC_2.2.5 __strfmon_l F +GLIBC_2.2.5 __strncasecmp_l F +GLIBC_2.2.5 __strndup F +GLIBC_2.2.5 __strpbrk_c2 F +GLIBC_2.2.5 __strpbrk_c3 F +GLIBC_2.2.5 __strsep_1c F +GLIBC_2.2.5 __strsep_2c F +GLIBC_2.2.5 __strsep_3c F +GLIBC_2.2.5 __strsep_g F +GLIBC_2.2.5 __strspn_c1 F +GLIBC_2.2.5 __strspn_c2 F +GLIBC_2.2.5 __strspn_c3 F +GLIBC_2.2.5 __strtod_internal F +GLIBC_2.2.5 __strtod_l F +GLIBC_2.2.5 __strtof_internal F +GLIBC_2.2.5 __strtof_l F +GLIBC_2.2.5 __strtok_r F +GLIBC_2.2.5 __strtok_r_1c F +GLIBC_2.2.5 __strtol_internal F +GLIBC_2.2.5 __strtol_l F +GLIBC_2.2.5 __strtold_internal F +GLIBC_2.2.5 __strtold_l F +GLIBC_2.2.5 __strtoll_internal F +GLIBC_2.2.5 __strtoll_l F +GLIBC_2.2.5 __strtoul_internal F +GLIBC_2.2.5 __strtoul_l F +GLIBC_2.2.5 __strtoull_internal F +GLIBC_2.2.5 __strtoull_l F +GLIBC_2.2.5 __strverscmp F +GLIBC_2.2.5 __strxfrm_l F +GLIBC_2.2.5 __sysconf F +GLIBC_2.2.5 __sysctl F +GLIBC_2.2.5 __sysv_signal F +GLIBC_2.2.5 __timezone D 0x8 +GLIBC_2.2.5 __toascii_l F +GLIBC_2.2.5 __tolower_l F +GLIBC_2.2.5 __toupper_l F +GLIBC_2.2.5 __towctrans F +GLIBC_2.2.5 __towctrans_l F +GLIBC_2.2.5 __towlower_l F +GLIBC_2.2.5 __towupper_l F +GLIBC_2.2.5 __tzname D 0x10 +GLIBC_2.2.5 __uflow F +GLIBC_2.2.5 __underflow F +GLIBC_2.2.5 __vfork F +GLIBC_2.2.5 __vfscanf F +GLIBC_2.2.5 __vsnprintf F +GLIBC_2.2.5 __vsscanf F +GLIBC_2.2.5 __wait F +GLIBC_2.2.5 __waitpid F +GLIBC_2.2.5 __wcscasecmp_l F +GLIBC_2.2.5 __wcscoll_l F +GLIBC_2.2.5 __wcsncasecmp_l F +GLIBC_2.2.5 __wcstod_internal F +GLIBC_2.2.5 __wcstod_l F +GLIBC_2.2.5 __wcstof_internal F +GLIBC_2.2.5 __wcstof_l F +GLIBC_2.2.5 __wcstol_internal F +GLIBC_2.2.5 __wcstol_l F +GLIBC_2.2.5 __wcstold_internal F +GLIBC_2.2.5 __wcstold_l F +GLIBC_2.2.5 __wcstoll_internal F +GLIBC_2.2.5 __wcstoll_l F +GLIBC_2.2.5 __wcstoul_internal F +GLIBC_2.2.5 __wcstoul_l F +GLIBC_2.2.5 __wcstoull_internal F +GLIBC_2.2.5 __wcstoull_l F +GLIBC_2.2.5 __wcsxfrm_l F +GLIBC_2.2.5 __wctrans_l F +GLIBC_2.2.5 __wctype_l F +GLIBC_2.2.5 __woverflow F +GLIBC_2.2.5 __write F +GLIBC_2.2.5 __wuflow F +GLIBC_2.2.5 __wunderflow F +GLIBC_2.2.5 __xmknod F +GLIBC_2.2.5 __xpg_basename F +GLIBC_2.2.5 __xpg_sigpause F +GLIBC_2.2.5 __xstat F +GLIBC_2.2.5 __xstat64 F +GLIBC_2.2.5 _authenticate F +GLIBC_2.2.5 _dl_mcount_wrapper F +GLIBC_2.2.5 _dl_mcount_wrapper_check F +GLIBC_2.2.5 _environ D 0x8 +GLIBC_2.2.5 _exit F +GLIBC_2.2.5 _flushlbf F +GLIBC_2.2.5 _libc_intl_domainname D 0x5 +GLIBC_2.2.5 _longjmp F +GLIBC_2.2.5 _mcleanup F +GLIBC_2.2.5 _mcount F +GLIBC_2.2.5 _nl_default_dirname D 0x12 +GLIBC_2.2.5 _nl_domain_bindings D 0x8 +GLIBC_2.2.5 _nl_msg_cat_cntr D 0x4 +GLIBC_2.2.5 _null_auth D 0x18 +GLIBC_2.2.5 _obstack D 0x8 +GLIBC_2.2.5 _obstack_allocated_p F +GLIBC_2.2.5 _obstack_begin F +GLIBC_2.2.5 _obstack_begin_1 F +GLIBC_2.2.5 _obstack_free F +GLIBC_2.2.5 _obstack_memory_used F +GLIBC_2.2.5 _obstack_newchunk F +GLIBC_2.2.5 _res D 0x238 +GLIBC_2.2.5 _res_hconf D 0x48 +GLIBC_2.2.5 _rpc_dtablesize F +GLIBC_2.2.5 _seterr_reply F +GLIBC_2.2.5 _setjmp F +GLIBC_2.2.5 _sys_errlist D 0x3e8 +GLIBC_2.2.5 _sys_nerr D 0x4 +GLIBC_2.2.5 _sys_siglist D 0x200 +GLIBC_2.2.5 _tolower F +GLIBC_2.2.5 _toupper F +GLIBC_2.2.5 a64l F +GLIBC_2.2.5 abort F +GLIBC_2.2.5 abs F +GLIBC_2.2.5 accept F +GLIBC_2.2.5 access F +GLIBC_2.2.5 acct F +GLIBC_2.2.5 addmntent F +GLIBC_2.2.5 addseverity F +GLIBC_2.2.5 adjtime F +GLIBC_2.2.5 adjtimex F +GLIBC_2.2.5 advance F +GLIBC_2.2.5 alarm F +GLIBC_2.2.5 alphasort F +GLIBC_2.2.5 alphasort64 F +GLIBC_2.2.5 arch_prctl F +GLIBC_2.2.5 argp_err_exit_status D 0x4 +GLIBC_2.2.5 argp_error F +GLIBC_2.2.5 argp_failure F +GLIBC_2.2.5 argp_help F +GLIBC_2.2.5 argp_parse F +GLIBC_2.2.5 argp_program_bug_address D 0x8 +GLIBC_2.2.5 argp_program_version D 0x8 +GLIBC_2.2.5 argp_program_version_hook D 0x8 +GLIBC_2.2.5 argp_state_help F +GLIBC_2.2.5 argp_usage F +GLIBC_2.2.5 argz_add F +GLIBC_2.2.5 argz_add_sep F +GLIBC_2.2.5 argz_append F +GLIBC_2.2.5 argz_count F +GLIBC_2.2.5 argz_create F +GLIBC_2.2.5 argz_create_sep F +GLIBC_2.2.5 argz_delete F +GLIBC_2.2.5 argz_extract F +GLIBC_2.2.5 argz_insert F +GLIBC_2.2.5 argz_next F +GLIBC_2.2.5 argz_replace F +GLIBC_2.2.5 argz_stringify F +GLIBC_2.2.5 asctime F +GLIBC_2.2.5 asctime_r F +GLIBC_2.2.5 asprintf F +GLIBC_2.2.5 atof F +GLIBC_2.2.5 atoi F +GLIBC_2.2.5 atol F +GLIBC_2.2.5 atoll F +GLIBC_2.2.5 authdes_create F +GLIBC_2.2.5 authdes_getucred F +GLIBC_2.2.5 authdes_pk_create F +GLIBC_2.2.5 authnone_create F +GLIBC_2.2.5 authunix_create F +GLIBC_2.2.5 authunix_create_default F +GLIBC_2.2.5 backtrace F +GLIBC_2.2.5 backtrace_symbols F +GLIBC_2.2.5 backtrace_symbols_fd F +GLIBC_2.2.5 basename F +GLIBC_2.2.5 bcmp F +GLIBC_2.2.5 bcopy F +GLIBC_2.2.5 bdflush F +GLIBC_2.2.5 bind F +GLIBC_2.2.5 bind_textdomain_codeset F +GLIBC_2.2.5 bindresvport F +GLIBC_2.2.5 bindtextdomain F +GLIBC_2.2.5 brk F +GLIBC_2.2.5 bsd_signal F +GLIBC_2.2.5 bsearch F +GLIBC_2.2.5 btowc F +GLIBC_2.2.5 bzero F +GLIBC_2.2.5 calloc F +GLIBC_2.2.5 callrpc F +GLIBC_2.2.5 canonicalize_file_name F +GLIBC_2.2.5 capget F +GLIBC_2.2.5 capset F +GLIBC_2.2.5 catclose F +GLIBC_2.2.5 catgets F +GLIBC_2.2.5 catopen F +GLIBC_2.2.5 cbc_crypt F +GLIBC_2.2.5 cfgetispeed F +GLIBC_2.2.5 cfgetospeed F +GLIBC_2.2.5 cfmakeraw F +GLIBC_2.2.5 cfree F +GLIBC_2.2.5 cfsetispeed F +GLIBC_2.2.5 cfsetospeed F +GLIBC_2.2.5 cfsetspeed F +GLIBC_2.2.5 chdir F +GLIBC_2.2.5 chflags F +GLIBC_2.2.5 chmod F +GLIBC_2.2.5 chown F +GLIBC_2.2.5 chroot F +GLIBC_2.2.5 clearenv F +GLIBC_2.2.5 clearerr F +GLIBC_2.2.5 clearerr_unlocked F +GLIBC_2.2.5 clnt_broadcast F +GLIBC_2.2.5 clnt_create F +GLIBC_2.2.5 clnt_pcreateerror F +GLIBC_2.2.5 clnt_perrno F +GLIBC_2.2.5 clnt_perror F +GLIBC_2.2.5 clnt_spcreateerror F +GLIBC_2.2.5 clnt_sperrno F +GLIBC_2.2.5 clnt_sperror F +GLIBC_2.2.5 clntraw_create F +GLIBC_2.2.5 clnttcp_create F +GLIBC_2.2.5 clntudp_bufcreate F +GLIBC_2.2.5 clntudp_create F +GLIBC_2.2.5 clntunix_create F +GLIBC_2.2.5 clock F +GLIBC_2.2.5 clone F +GLIBC_2.2.5 close F +GLIBC_2.2.5 closedir F +GLIBC_2.2.5 closelog F +GLIBC_2.2.5 confstr F +GLIBC_2.2.5 connect F +GLIBC_2.2.5 copysign F +GLIBC_2.2.5 copysignf F +GLIBC_2.2.5 copysignl F +GLIBC_2.2.5 creat F +GLIBC_2.2.5 creat64 F +GLIBC_2.2.5 create_module F +GLIBC_2.2.5 ctermid F +GLIBC_2.2.5 ctime F +GLIBC_2.2.5 ctime_r F +GLIBC_2.2.5 cuserid F +GLIBC_2.2.5 daemon F +GLIBC_2.2.5 daylight D 0x4 +GLIBC_2.2.5 dcgettext F +GLIBC_2.2.5 dcngettext F +GLIBC_2.2.5 delete_module F +GLIBC_2.2.5 des_setparity F +GLIBC_2.2.5 dgettext F +GLIBC_2.2.5 difftime F +GLIBC_2.2.5 dirfd F +GLIBC_2.2.5 dirname F +GLIBC_2.2.5 div F +GLIBC_2.2.5 dl_iterate_phdr F +GLIBC_2.2.5 dngettext F +GLIBC_2.2.5 dprintf F +GLIBC_2.2.5 drand48 F +GLIBC_2.2.5 drand48_r F +GLIBC_2.2.5 dup F +GLIBC_2.2.5 dup2 F +GLIBC_2.2.5 dysize F +GLIBC_2.2.5 ecb_crypt F +GLIBC_2.2.5 ecvt F +GLIBC_2.2.5 ecvt_r F +GLIBC_2.2.5 endaliasent F +GLIBC_2.2.5 endfsent F +GLIBC_2.2.5 endgrent F +GLIBC_2.2.5 endhostent F +GLIBC_2.2.5 endmntent F +GLIBC_2.2.5 endnetent F +GLIBC_2.2.5 endnetgrent F +GLIBC_2.2.5 endprotoent F +GLIBC_2.2.5 endpwent F +GLIBC_2.2.5 endrpcent F +GLIBC_2.2.5 endservent F +GLIBC_2.2.5 endspent F +GLIBC_2.2.5 endttyent F +GLIBC_2.2.5 endusershell F +GLIBC_2.2.5 endutent F +GLIBC_2.2.5 endutxent F +GLIBC_2.2.5 environ D 0x8 +GLIBC_2.2.5 envz_add F +GLIBC_2.2.5 envz_entry F +GLIBC_2.2.5 envz_get F +GLIBC_2.2.5 envz_merge F +GLIBC_2.2.5 envz_remove F +GLIBC_2.2.5 envz_strip F +GLIBC_2.2.5 erand48 F +GLIBC_2.2.5 erand48_r F +GLIBC_2.2.5 err F +GLIBC_2.2.5 error F +GLIBC_2.2.5 error_at_line F +GLIBC_2.2.5 error_message_count D 0x4 +GLIBC_2.2.5 error_one_per_line D 0x4 +GLIBC_2.2.5 error_print_progname D 0x8 +GLIBC_2.2.5 errx F +GLIBC_2.2.5 ether_aton F +GLIBC_2.2.5 ether_aton_r F +GLIBC_2.2.5 ether_hostton F +GLIBC_2.2.5 ether_line F +GLIBC_2.2.5 ether_ntoa F +GLIBC_2.2.5 ether_ntoa_r F +GLIBC_2.2.5 ether_ntohost F +GLIBC_2.2.5 euidaccess F +GLIBC_2.2.5 execl F +GLIBC_2.2.5 execle F +GLIBC_2.2.5 execlp F +GLIBC_2.2.5 execv F +GLIBC_2.2.5 execve F +GLIBC_2.2.5 execvp F +GLIBC_2.2.5 exit F +GLIBC_2.2.5 fattach F +GLIBC_2.2.5 fchdir F +GLIBC_2.2.5 fchflags F +GLIBC_2.2.5 fchmod F +GLIBC_2.2.5 fchown F +GLIBC_2.2.5 fclose F +GLIBC_2.2.5 fcloseall F +GLIBC_2.2.5 fcntl F +GLIBC_2.2.5 fcvt F +GLIBC_2.2.5 fcvt_r F +GLIBC_2.2.5 fdatasync F +GLIBC_2.2.5 fdetach F +GLIBC_2.2.5 fdopen F +GLIBC_2.2.5 feof F +GLIBC_2.2.5 feof_unlocked F +GLIBC_2.2.5 ferror F +GLIBC_2.2.5 ferror_unlocked F +GLIBC_2.2.5 fexecve F +GLIBC_2.2.5 fflush F +GLIBC_2.2.5 fflush_unlocked F +GLIBC_2.2.5 ffs F +GLIBC_2.2.5 ffsl F +GLIBC_2.2.5 ffsll F +GLIBC_2.2.5 fgetc F +GLIBC_2.2.5 fgetc_unlocked F +GLIBC_2.2.5 fgetgrent F +GLIBC_2.2.5 fgetgrent_r F +GLIBC_2.2.5 fgetpos F +GLIBC_2.2.5 fgetpos64 F +GLIBC_2.2.5 fgetpwent F +GLIBC_2.2.5 fgetpwent_r F +GLIBC_2.2.5 fgets F +GLIBC_2.2.5 fgets_unlocked F +GLIBC_2.2.5 fgetspent F +GLIBC_2.2.5 fgetspent_r F +GLIBC_2.2.5 fgetwc F +GLIBC_2.2.5 fgetwc_unlocked F +GLIBC_2.2.5 fgetws F +GLIBC_2.2.5 fgetws_unlocked F +GLIBC_2.2.5 fileno F +GLIBC_2.2.5 fileno_unlocked F +GLIBC_2.2.5 finite F +GLIBC_2.2.5 finitef F +GLIBC_2.2.5 finitel F +GLIBC_2.2.5 flock F +GLIBC_2.2.5 flockfile F +GLIBC_2.2.5 fmemopen F +GLIBC_2.2.5 fmtmsg F +GLIBC_2.2.5 fnmatch F +GLIBC_2.2.5 fopen F +GLIBC_2.2.5 fopen64 F +GLIBC_2.2.5 fopencookie F +GLIBC_2.2.5 fork F +GLIBC_2.2.5 fpathconf F +GLIBC_2.2.5 fprintf F +GLIBC_2.2.5 fputc F +GLIBC_2.2.5 fputc_unlocked F +GLIBC_2.2.5 fputs F +GLIBC_2.2.5 fputs_unlocked F +GLIBC_2.2.5 fputwc F +GLIBC_2.2.5 fputwc_unlocked F +GLIBC_2.2.5 fputws F +GLIBC_2.2.5 fputws_unlocked F +GLIBC_2.2.5 fread F +GLIBC_2.2.5 fread_unlocked F +GLIBC_2.2.5 free F +GLIBC_2.2.5 freeaddrinfo F +GLIBC_2.2.5 freopen F +GLIBC_2.2.5 freopen64 F +GLIBC_2.2.5 frexp F +GLIBC_2.2.5 frexpf F +GLIBC_2.2.5 frexpl F +GLIBC_2.2.5 fscanf F +GLIBC_2.2.5 fseek F +GLIBC_2.2.5 fseeko F +GLIBC_2.2.5 fseeko64 F +GLIBC_2.2.5 fsetpos F +GLIBC_2.2.5 fsetpos64 F +GLIBC_2.2.5 fstatfs F +GLIBC_2.2.5 fstatfs64 F +GLIBC_2.2.5 fstatvfs F +GLIBC_2.2.5 fstatvfs64 F +GLIBC_2.2.5 fsync F +GLIBC_2.2.5 ftell F +GLIBC_2.2.5 ftello F +GLIBC_2.2.5 ftello64 F +GLIBC_2.2.5 ftime F +GLIBC_2.2.5 ftok F +GLIBC_2.2.5 ftruncate F +GLIBC_2.2.5 ftruncate64 F +GLIBC_2.2.5 ftrylockfile F +GLIBC_2.2.5 fts_children F +GLIBC_2.2.5 fts_close F +GLIBC_2.2.5 fts_open F +GLIBC_2.2.5 fts_read F +GLIBC_2.2.5 fts_set F +GLIBC_2.2.5 ftw F +GLIBC_2.2.5 ftw64 F +GLIBC_2.2.5 funlockfile F +GLIBC_2.2.5 fwide F +GLIBC_2.2.5 fwprintf F +GLIBC_2.2.5 fwrite F +GLIBC_2.2.5 fwrite_unlocked F +GLIBC_2.2.5 fwscanf F +GLIBC_2.2.5 gai_strerror F +GLIBC_2.2.5 gcvt F +GLIBC_2.2.5 get_avphys_pages F +GLIBC_2.2.5 get_current_dir_name F +GLIBC_2.2.5 get_kernel_syms F +GLIBC_2.2.5 get_myaddress F +GLIBC_2.2.5 get_nprocs F +GLIBC_2.2.5 get_nprocs_conf F +GLIBC_2.2.5 get_phys_pages F +GLIBC_2.2.5 getaddrinfo F +GLIBC_2.2.5 getaliasbyname F +GLIBC_2.2.5 getaliasbyname_r F +GLIBC_2.2.5 getaliasent F +GLIBC_2.2.5 getaliasent_r F +GLIBC_2.2.5 getc F +GLIBC_2.2.5 getc_unlocked F +GLIBC_2.2.5 getchar F +GLIBC_2.2.5 getchar_unlocked F +GLIBC_2.2.5 getcontext F +GLIBC_2.2.5 getcwd F +GLIBC_2.2.5 getdate F +GLIBC_2.2.5 getdate_err D 0x4 +GLIBC_2.2.5 getdate_r F +GLIBC_2.2.5 getdelim F +GLIBC_2.2.5 getdirentries F +GLIBC_2.2.5 getdirentries64 F +GLIBC_2.2.5 getdomainname F +GLIBC_2.2.5 getdtablesize F +GLIBC_2.2.5 getegid F +GLIBC_2.2.5 getenv F +GLIBC_2.2.5 geteuid F +GLIBC_2.2.5 getfsent F +GLIBC_2.2.5 getfsfile F +GLIBC_2.2.5 getfsspec F +GLIBC_2.2.5 getgid F +GLIBC_2.2.5 getgrent F +GLIBC_2.2.5 getgrent_r F +GLIBC_2.2.5 getgrgid F +GLIBC_2.2.5 getgrgid_r F +GLIBC_2.2.5 getgrnam F +GLIBC_2.2.5 getgrnam_r F +GLIBC_2.2.5 getgrouplist F +GLIBC_2.2.5 getgroups F +GLIBC_2.2.5 gethostbyaddr F +GLIBC_2.2.5 gethostbyaddr_r F +GLIBC_2.2.5 gethostbyname F +GLIBC_2.2.5 gethostbyname2 F +GLIBC_2.2.5 gethostbyname2_r F +GLIBC_2.2.5 gethostbyname_r F +GLIBC_2.2.5 gethostent F +GLIBC_2.2.5 gethostent_r F +GLIBC_2.2.5 gethostid F +GLIBC_2.2.5 gethostname F +GLIBC_2.2.5 getitimer F +GLIBC_2.2.5 getline F +GLIBC_2.2.5 getloadavg F +GLIBC_2.2.5 getlogin F +GLIBC_2.2.5 getlogin_r F +GLIBC_2.2.5 getmntent F +GLIBC_2.2.5 getmntent_r F +GLIBC_2.2.5 getmsg F +GLIBC_2.2.5 getnameinfo F +GLIBC_2.2.5 getnetbyaddr F +GLIBC_2.2.5 getnetbyaddr_r F +GLIBC_2.2.5 getnetbyname F +GLIBC_2.2.5 getnetbyname_r F +GLIBC_2.2.5 getnetent F +GLIBC_2.2.5 getnetent_r F +GLIBC_2.2.5 getnetgrent F +GLIBC_2.2.5 getnetgrent_r F +GLIBC_2.2.5 getnetname F +GLIBC_2.2.5 getopt F +GLIBC_2.2.5 getopt_long F +GLIBC_2.2.5 getopt_long_only F +GLIBC_2.2.5 getpagesize F +GLIBC_2.2.5 getpass F +GLIBC_2.2.5 getpeername F +GLIBC_2.2.5 getpgid F +GLIBC_2.2.5 getpgrp F +GLIBC_2.2.5 getpid F +GLIBC_2.2.5 getpmsg F +GLIBC_2.2.5 getppid F +GLIBC_2.2.5 getpriority F +GLIBC_2.2.5 getprotobyname F +GLIBC_2.2.5 getprotobyname_r F +GLIBC_2.2.5 getprotobynumber F +GLIBC_2.2.5 getprotobynumber_r F +GLIBC_2.2.5 getprotoent F +GLIBC_2.2.5 getprotoent_r F +GLIBC_2.2.5 getpt F +GLIBC_2.2.5 getpublickey F +GLIBC_2.2.5 getpw F +GLIBC_2.2.5 getpwent F +GLIBC_2.2.5 getpwent_r F +GLIBC_2.2.5 getpwnam F +GLIBC_2.2.5 getpwnam_r F +GLIBC_2.2.5 getpwuid F +GLIBC_2.2.5 getpwuid_r F +GLIBC_2.2.5 getresgid F +GLIBC_2.2.5 getresuid F +GLIBC_2.2.5 getrlimit F +GLIBC_2.2.5 getrlimit64 F +GLIBC_2.2.5 getrpcbyname F +GLIBC_2.2.5 getrpcbyname_r F +GLIBC_2.2.5 getrpcbynumber F +GLIBC_2.2.5 getrpcbynumber_r F +GLIBC_2.2.5 getrpcent F +GLIBC_2.2.5 getrpcent_r F +GLIBC_2.2.5 getrpcport F +GLIBC_2.2.5 getrusage F +GLIBC_2.2.5 gets F +GLIBC_2.2.5 getsecretkey F +GLIBC_2.2.5 getservbyname F +GLIBC_2.2.5 getservbyname_r F +GLIBC_2.2.5 getservbyport F +GLIBC_2.2.5 getservbyport_r F +GLIBC_2.2.5 getservent F +GLIBC_2.2.5 getservent_r F +GLIBC_2.2.5 getsid F +GLIBC_2.2.5 getsockname F +GLIBC_2.2.5 getsockopt F +GLIBC_2.2.5 getspent F +GLIBC_2.2.5 getspent_r F +GLIBC_2.2.5 getspnam F +GLIBC_2.2.5 getspnam_r F +GLIBC_2.2.5 getsubopt F +GLIBC_2.2.5 gettext F +GLIBC_2.2.5 gettimeofday F +GLIBC_2.2.5 getttyent F +GLIBC_2.2.5 getttynam F +GLIBC_2.2.5 getuid F +GLIBC_2.2.5 getusershell F +GLIBC_2.2.5 getutent F +GLIBC_2.2.5 getutent_r F +GLIBC_2.2.5 getutid F +GLIBC_2.2.5 getutid_r F +GLIBC_2.2.5 getutline F +GLIBC_2.2.5 getutline_r F +GLIBC_2.2.5 getutmp F +GLIBC_2.2.5 getutmpx F +GLIBC_2.2.5 getutxent F +GLIBC_2.2.5 getutxid F +GLIBC_2.2.5 getutxline F +GLIBC_2.2.5 getw F +GLIBC_2.2.5 getwc F +GLIBC_2.2.5 getwc_unlocked F +GLIBC_2.2.5 getwchar F +GLIBC_2.2.5 getwchar_unlocked F +GLIBC_2.2.5 getwd F +GLIBC_2.2.5 glob F +GLIBC_2.2.5 glob64 F +GLIBC_2.2.5 glob_pattern_p F +GLIBC_2.2.5 globfree F +GLIBC_2.2.5 globfree64 F +GLIBC_2.2.5 gmtime F +GLIBC_2.2.5 gmtime_r F +GLIBC_2.2.5 gnu_get_libc_release F +GLIBC_2.2.5 gnu_get_libc_version F +GLIBC_2.2.5 grantpt F +GLIBC_2.2.5 group_member F +GLIBC_2.2.5 gsignal F +GLIBC_2.2.5 gtty F +GLIBC_2.2.5 h_errlist D 0x28 +GLIBC_2.2.5 h_nerr D 0x4 +GLIBC_2.2.5 hasmntopt F +GLIBC_2.2.5 hcreate F +GLIBC_2.2.5 hcreate_r F +GLIBC_2.2.5 hdestroy F +GLIBC_2.2.5 hdestroy_r F +GLIBC_2.2.5 herror F +GLIBC_2.2.5 host2netname F +GLIBC_2.2.5 hsearch F +GLIBC_2.2.5 hsearch_r F +GLIBC_2.2.5 hstrerror F +GLIBC_2.2.5 htonl F +GLIBC_2.2.5 htons F +GLIBC_2.2.5 iconv F +GLIBC_2.2.5 iconv_close F +GLIBC_2.2.5 iconv_open F +GLIBC_2.2.5 if_freenameindex F +GLIBC_2.2.5 if_indextoname F +GLIBC_2.2.5 if_nameindex F +GLIBC_2.2.5 if_nametoindex F +GLIBC_2.2.5 imaxabs F +GLIBC_2.2.5 imaxdiv F +GLIBC_2.2.5 in6addr_any D 0x10 +GLIBC_2.2.5 in6addr_loopback D 0x10 +GLIBC_2.2.5 index F +GLIBC_2.2.5 inet_addr F +GLIBC_2.2.5 inet_aton F +GLIBC_2.2.5 inet_lnaof F +GLIBC_2.2.5 inet_makeaddr F +GLIBC_2.2.5 inet_netof F +GLIBC_2.2.5 inet_network F +GLIBC_2.2.5 inet_nsap_addr F +GLIBC_2.2.5 inet_nsap_ntoa F +GLIBC_2.2.5 inet_ntoa F +GLIBC_2.2.5 inet_ntop F +GLIBC_2.2.5 inet_pton F +GLIBC_2.2.5 init_module F +GLIBC_2.2.5 initgroups F +GLIBC_2.2.5 initstate F +GLIBC_2.2.5 initstate_r F +GLIBC_2.2.5 innetgr F +GLIBC_2.2.5 insque F +GLIBC_2.2.5 ioctl F +GLIBC_2.2.5 ioperm F +GLIBC_2.2.5 iopl F +GLIBC_2.2.5 iruserok F +GLIBC_2.2.5 iruserok_af F +GLIBC_2.2.5 isalnum F +GLIBC_2.2.5 isalpha F +GLIBC_2.2.5 isascii F +GLIBC_2.2.5 isastream F +GLIBC_2.2.5 isatty F +GLIBC_2.2.5 isblank F +GLIBC_2.2.5 iscntrl F +GLIBC_2.2.5 isdigit F +GLIBC_2.2.5 isfdtype F +GLIBC_2.2.5 isgraph F +GLIBC_2.2.5 isinf F +GLIBC_2.2.5 isinff F +GLIBC_2.2.5 isinfl F +GLIBC_2.2.5 islower F +GLIBC_2.2.5 isnan F +GLIBC_2.2.5 isnanf F +GLIBC_2.2.5 isnanl F +GLIBC_2.2.5 isprint F +GLIBC_2.2.5 ispunct F +GLIBC_2.2.5 isspace F +GLIBC_2.2.5 isupper F +GLIBC_2.2.5 iswalnum F +GLIBC_2.2.5 iswalpha F +GLIBC_2.2.5 iswblank F +GLIBC_2.2.5 iswcntrl F +GLIBC_2.2.5 iswctype F +GLIBC_2.2.5 iswdigit F +GLIBC_2.2.5 iswgraph F +GLIBC_2.2.5 iswlower F +GLIBC_2.2.5 iswprint F +GLIBC_2.2.5 iswpunct F +GLIBC_2.2.5 iswspace F +GLIBC_2.2.5 iswupper F +GLIBC_2.2.5 iswxdigit F +GLIBC_2.2.5 isxdigit F +GLIBC_2.2.5 jrand48 F +GLIBC_2.2.5 jrand48_r F +GLIBC_2.2.5 key_decryptsession F +GLIBC_2.2.5 key_decryptsession_pk F +GLIBC_2.2.5 key_encryptsession F +GLIBC_2.2.5 key_encryptsession_pk F +GLIBC_2.2.5 key_gendes F +GLIBC_2.2.5 key_get_conv F +GLIBC_2.2.5 key_secretkey_is_set F +GLIBC_2.2.5 key_setnet F +GLIBC_2.2.5 key_setsecret F +GLIBC_2.2.5 kill F +GLIBC_2.2.5 killpg F +GLIBC_2.2.5 klogctl F +GLIBC_2.2.5 l64a F +GLIBC_2.2.5 labs F +GLIBC_2.2.5 lchown F +GLIBC_2.2.5 lckpwdf F +GLIBC_2.2.5 lcong48 F +GLIBC_2.2.5 lcong48_r F +GLIBC_2.2.5 ldexp F +GLIBC_2.2.5 ldexpf F +GLIBC_2.2.5 ldexpl F +GLIBC_2.2.5 ldiv F +GLIBC_2.2.5 lfind F +GLIBC_2.2.5 link F +GLIBC_2.2.5 listen F +GLIBC_2.2.5 llabs F +GLIBC_2.2.5 lldiv F +GLIBC_2.2.5 llseek F +GLIBC_2.2.5 loc1 D 0x8 +GLIBC_2.2.5 loc2 D 0x8 +GLIBC_2.2.5 localeconv F +GLIBC_2.2.5 localtime F +GLIBC_2.2.5 localtime_r F +GLIBC_2.2.5 lockf F +GLIBC_2.2.5 lockf64 F +GLIBC_2.2.5 locs D 0x8 +GLIBC_2.2.5 longjmp F +GLIBC_2.2.5 lrand48 F +GLIBC_2.2.5 lrand48_r F +GLIBC_2.2.5 lsearch F +GLIBC_2.2.5 lseek F +GLIBC_2.2.5 lseek64 F +GLIBC_2.2.5 madvise F +GLIBC_2.2.5 makecontext F +GLIBC_2.2.5 mallinfo F +GLIBC_2.2.5 malloc F +GLIBC_2.2.5 malloc_get_state F +GLIBC_2.2.5 malloc_set_state F +GLIBC_2.2.5 malloc_stats F +GLIBC_2.2.5 malloc_trim F +GLIBC_2.2.5 malloc_usable_size F +GLIBC_2.2.5 mallopt F +GLIBC_2.2.5 mallwatch D 0x8 +GLIBC_2.2.5 mblen F +GLIBC_2.2.5 mbrlen F +GLIBC_2.2.5 mbrtowc F +GLIBC_2.2.5 mbsinit F +GLIBC_2.2.5 mbsnrtowcs F +GLIBC_2.2.5 mbsrtowcs F +GLIBC_2.2.5 mbstowcs F +GLIBC_2.2.5 mbtowc F +GLIBC_2.2.5 mcheck F +GLIBC_2.2.5 mcheck_check_all F +GLIBC_2.2.5 mcheck_pedantic F +GLIBC_2.2.5 mcount F +GLIBC_2.2.5 memalign F +GLIBC_2.2.5 memccpy F +GLIBC_2.2.5 memchr F +GLIBC_2.2.5 memcmp F +GLIBC_2.2.5 memcpy F +GLIBC_2.2.5 memfrob F +GLIBC_2.2.5 memmem F +GLIBC_2.2.5 memmove F +GLIBC_2.2.5 mempcpy F +GLIBC_2.2.5 memrchr F +GLIBC_2.2.5 memset F +GLIBC_2.2.5 mincore F +GLIBC_2.2.5 mkdir F +GLIBC_2.2.5 mkdtemp F +GLIBC_2.2.5 mkfifo F +GLIBC_2.2.5 mkstemp F +GLIBC_2.2.5 mkstemp64 F +GLIBC_2.2.5 mktemp F +GLIBC_2.2.5 mktime F +GLIBC_2.2.5 mlock F +GLIBC_2.2.5 mlockall F +GLIBC_2.2.5 mmap F +GLIBC_2.2.5 mmap64 F +GLIBC_2.2.5 modf F +GLIBC_2.2.5 modff F +GLIBC_2.2.5 modfl F +GLIBC_2.2.5 modify_ldt F +GLIBC_2.2.5 moncontrol F +GLIBC_2.2.5 monstartup F +GLIBC_2.2.5 mount F +GLIBC_2.2.5 mprobe F +GLIBC_2.2.5 mprotect F +GLIBC_2.2.5 mrand48 F +GLIBC_2.2.5 mrand48_r F +GLIBC_2.2.5 mremap F +GLIBC_2.2.5 msgctl F +GLIBC_2.2.5 msgget F +GLIBC_2.2.5 msgrcv F +GLIBC_2.2.5 msgsnd F +GLIBC_2.2.5 msync F +GLIBC_2.2.5 mtrace F +GLIBC_2.2.5 munlock F +GLIBC_2.2.5 munlockall F +GLIBC_2.2.5 munmap F +GLIBC_2.2.5 muntrace F +GLIBC_2.2.5 nanosleep F +GLIBC_2.2.5 netname2host F +GLIBC_2.2.5 netname2user F +GLIBC_2.2.5 nfsservctl F +GLIBC_2.2.5 nftw F +GLIBC_2.2.5 nftw64 F +GLIBC_2.2.5 ngettext F +GLIBC_2.2.5 nice F +GLIBC_2.2.5 nl_langinfo F +GLIBC_2.2.5 nrand48 F +GLIBC_2.2.5 nrand48_r F +GLIBC_2.2.5 ntohl F +GLIBC_2.2.5 ntohs F +GLIBC_2.2.5 ntp_adjtime F +GLIBC_2.2.5 ntp_gettime F +GLIBC_2.2.5 obstack_alloc_failed_handler D 0x8 +GLIBC_2.2.5 obstack_exit_failure D 0x4 +GLIBC_2.2.5 obstack_free F +GLIBC_2.2.5 obstack_printf F +GLIBC_2.2.5 obstack_vprintf F +GLIBC_2.2.5 on_exit F +GLIBC_2.2.5 open F +GLIBC_2.2.5 open64 F +GLIBC_2.2.5 open_memstream F +GLIBC_2.2.5 opendir F +GLIBC_2.2.5 openlog F +GLIBC_2.2.5 optarg D 0x8 +GLIBC_2.2.5 opterr D 0x4 +GLIBC_2.2.5 optind D 0x4 +GLIBC_2.2.5 optopt D 0x4 +GLIBC_2.2.5 parse_printf_format F +GLIBC_2.2.5 passwd2des F +GLIBC_2.2.5 pathconf F +GLIBC_2.2.5 pause F +GLIBC_2.2.5 pclose F +GLIBC_2.2.5 perror F +GLIBC_2.2.5 personality F +GLIBC_2.2.5 pipe F +GLIBC_2.2.5 pivot_root F +GLIBC_2.2.5 pmap_getmaps F +GLIBC_2.2.5 pmap_getport F +GLIBC_2.2.5 pmap_rmtcall F +GLIBC_2.2.5 pmap_set F +GLIBC_2.2.5 pmap_unset F +GLIBC_2.2.5 poll F +GLIBC_2.2.5 popen F +GLIBC_2.2.5 posix_fadvise F +GLIBC_2.2.5 posix_fadvise64 F +GLIBC_2.2.5 posix_fallocate F +GLIBC_2.2.5 posix_fallocate64 F +GLIBC_2.2.5 posix_madvise F +GLIBC_2.2.5 posix_memalign F +GLIBC_2.2.5 posix_openpt F +GLIBC_2.2.5 posix_spawn F +GLIBC_2.2.5 posix_spawn_file_actions_addclose F +GLIBC_2.2.5 posix_spawn_file_actions_adddup2 F +GLIBC_2.2.5 posix_spawn_file_actions_addopen F +GLIBC_2.2.5 posix_spawn_file_actions_destroy F +GLIBC_2.2.5 posix_spawn_file_actions_init F +GLIBC_2.2.5 posix_spawnattr_destroy F +GLIBC_2.2.5 posix_spawnattr_getflags F +GLIBC_2.2.5 posix_spawnattr_getpgroup F +GLIBC_2.2.5 posix_spawnattr_getschedparam F +GLIBC_2.2.5 posix_spawnattr_getschedpolicy F +GLIBC_2.2.5 posix_spawnattr_getsigdefault F +GLIBC_2.2.5 posix_spawnattr_getsigmask F +GLIBC_2.2.5 posix_spawnattr_init F +GLIBC_2.2.5 posix_spawnattr_setflags F +GLIBC_2.2.5 posix_spawnattr_setpgroup F +GLIBC_2.2.5 posix_spawnattr_setschedparam F +GLIBC_2.2.5 posix_spawnattr_setschedpolicy F +GLIBC_2.2.5 posix_spawnattr_setsigdefault F +GLIBC_2.2.5 posix_spawnattr_setsigmask F +GLIBC_2.2.5 posix_spawnp F +GLIBC_2.2.5 prctl F +GLIBC_2.2.5 pread F +GLIBC_2.2.5 pread64 F +GLIBC_2.2.5 printf F +GLIBC_2.2.5 printf_size F +GLIBC_2.2.5 printf_size_info F +GLIBC_2.2.5 profil F +GLIBC_2.2.5 program_invocation_name D 0x8 +GLIBC_2.2.5 program_invocation_short_name D 0x8 +GLIBC_2.2.5 pselect F +GLIBC_2.2.5 psignal F +GLIBC_2.2.5 pthread_attr_destroy F +GLIBC_2.2.5 pthread_attr_getdetachstate F +GLIBC_2.2.5 pthread_attr_getinheritsched F +GLIBC_2.2.5 pthread_attr_getschedparam F +GLIBC_2.2.5 pthread_attr_getschedpolicy F +GLIBC_2.2.5 pthread_attr_getscope F +GLIBC_2.2.5 pthread_attr_init F +GLIBC_2.2.5 pthread_attr_setdetachstate F +GLIBC_2.2.5 pthread_attr_setinheritsched F +GLIBC_2.2.5 pthread_attr_setschedparam F +GLIBC_2.2.5 pthread_attr_setschedpolicy F +GLIBC_2.2.5 pthread_attr_setscope F +GLIBC_2.2.5 pthread_cond_broadcast F +GLIBC_2.2.5 pthread_cond_destroy F +GLIBC_2.2.5 pthread_cond_init F +GLIBC_2.2.5 pthread_cond_signal F +GLIBC_2.2.5 pthread_cond_timedwait F +GLIBC_2.2.5 pthread_cond_wait F +GLIBC_2.2.5 pthread_condattr_destroy F +GLIBC_2.2.5 pthread_condattr_init F +GLIBC_2.2.5 pthread_equal F +GLIBC_2.2.5 pthread_exit F +GLIBC_2.2.5 pthread_getschedparam F +GLIBC_2.2.5 pthread_mutex_destroy F +GLIBC_2.2.5 pthread_mutex_init F +GLIBC_2.2.5 pthread_mutex_lock F +GLIBC_2.2.5 pthread_mutex_unlock F +GLIBC_2.2.5 pthread_self F +GLIBC_2.2.5 pthread_setcancelstate F +GLIBC_2.2.5 pthread_setcanceltype F +GLIBC_2.2.5 pthread_setschedparam F +GLIBC_2.2.5 ptrace F +GLIBC_2.2.5 ptsname F +GLIBC_2.2.5 ptsname_r F +GLIBC_2.2.5 putc F +GLIBC_2.2.5 putc_unlocked F +GLIBC_2.2.5 putchar F +GLIBC_2.2.5 putchar_unlocked F +GLIBC_2.2.5 putenv F +GLIBC_2.2.5 putgrent F +GLIBC_2.2.5 putmsg F +GLIBC_2.2.5 putpmsg F +GLIBC_2.2.5 putpwent F +GLIBC_2.2.5 puts F +GLIBC_2.2.5 putspent F +GLIBC_2.2.5 pututline F +GLIBC_2.2.5 pututxline F +GLIBC_2.2.5 putw F +GLIBC_2.2.5 putwc F +GLIBC_2.2.5 putwc_unlocked F +GLIBC_2.2.5 putwchar F +GLIBC_2.2.5 putwchar_unlocked F +GLIBC_2.2.5 pvalloc F +GLIBC_2.2.5 pwrite F +GLIBC_2.2.5 pwrite64 F +GLIBC_2.2.5 qecvt F +GLIBC_2.2.5 qecvt_r F +GLIBC_2.2.5 qfcvt F +GLIBC_2.2.5 qfcvt_r F +GLIBC_2.2.5 qgcvt F +GLIBC_2.2.5 qsort F +GLIBC_2.2.5 query_module F +GLIBC_2.2.5 quotactl F +GLIBC_2.2.5 raise F +GLIBC_2.2.5 rand F +GLIBC_2.2.5 rand_r F +GLIBC_2.2.5 random F +GLIBC_2.2.5 random_r F +GLIBC_2.2.5 rawmemchr F +GLIBC_2.2.5 rcmd F +GLIBC_2.2.5 rcmd_af F +GLIBC_2.2.5 re_comp F +GLIBC_2.2.5 re_compile_fastmap F +GLIBC_2.2.5 re_compile_pattern F +GLIBC_2.2.5 re_exec F +GLIBC_2.2.5 re_match F +GLIBC_2.2.5 re_match_2 F +GLIBC_2.2.5 re_max_failures D 0x4 +GLIBC_2.2.5 re_search F +GLIBC_2.2.5 re_search_2 F +GLIBC_2.2.5 re_set_registers F +GLIBC_2.2.5 re_set_syntax F +GLIBC_2.2.5 re_syntax_options D 0x8 +GLIBC_2.2.5 read F +GLIBC_2.2.5 readdir F +GLIBC_2.2.5 readdir64 F +GLIBC_2.2.5 readdir64_r F +GLIBC_2.2.5 readdir_r F +GLIBC_2.2.5 readlink F +GLIBC_2.2.5 readv F +GLIBC_2.2.5 realloc F +GLIBC_2.2.5 realpath F +GLIBC_2.2.5 reboot F +GLIBC_2.2.5 recv F +GLIBC_2.2.5 recvfrom F +GLIBC_2.2.5 recvmsg F +GLIBC_2.2.5 regcomp F +GLIBC_2.2.5 regerror F +GLIBC_2.2.5 regexec F +GLIBC_2.2.5 regfree F +GLIBC_2.2.5 register_printf_function F +GLIBC_2.2.5 registerrpc F +GLIBC_2.2.5 remove F +GLIBC_2.2.5 remque F +GLIBC_2.2.5 rename F +GLIBC_2.2.5 revoke F +GLIBC_2.2.5 rewind F +GLIBC_2.2.5 rewinddir F +GLIBC_2.2.5 rexec F +GLIBC_2.2.5 rexec_af F +GLIBC_2.2.5 rexecoptions D 0x4 +GLIBC_2.2.5 rindex F +GLIBC_2.2.5 rmdir F +GLIBC_2.2.5 rpc_createerr D 0x20 +GLIBC_2.2.5 rpmatch F +GLIBC_2.2.5 rresvport F +GLIBC_2.2.5 rresvport_af F +GLIBC_2.2.5 rtime F +GLIBC_2.2.5 ruserok F +GLIBC_2.2.5 ruserok_af F +GLIBC_2.2.5 ruserpass F +GLIBC_2.2.5 sbrk F +GLIBC_2.2.5 scalbn F +GLIBC_2.2.5 scalbnf F +GLIBC_2.2.5 scalbnl F +GLIBC_2.2.5 scandir F +GLIBC_2.2.5 scandir64 F +GLIBC_2.2.5 scanf F +GLIBC_2.2.5 sched_get_priority_max F +GLIBC_2.2.5 sched_get_priority_min F +GLIBC_2.2.5 sched_getparam F +GLIBC_2.2.5 sched_getscheduler F +GLIBC_2.2.5 sched_rr_get_interval F +GLIBC_2.2.5 sched_setparam F +GLIBC_2.2.5 sched_setscheduler F +GLIBC_2.2.5 sched_yield F +GLIBC_2.2.5 seed48 F +GLIBC_2.2.5 seed48_r F +GLIBC_2.2.5 seekdir F +GLIBC_2.2.5 select F +GLIBC_2.2.5 semctl F +GLIBC_2.2.5 semget F +GLIBC_2.2.5 semop F +GLIBC_2.2.5 send F +GLIBC_2.2.5 sendfile F +GLIBC_2.2.5 sendmsg F +GLIBC_2.2.5 sendto F +GLIBC_2.2.5 setaliasent F +GLIBC_2.2.5 setbuf F +GLIBC_2.2.5 setbuffer F +GLIBC_2.2.5 setcontext F +GLIBC_2.2.5 setdomainname F +GLIBC_2.2.5 setegid F +GLIBC_2.2.5 setenv F +GLIBC_2.2.5 seteuid F +GLIBC_2.2.5 setfsent F +GLIBC_2.2.5 setfsgid F +GLIBC_2.2.5 setfsuid F +GLIBC_2.2.5 setgid F +GLIBC_2.2.5 setgrent F +GLIBC_2.2.5 setgroups F +GLIBC_2.2.5 sethostent F +GLIBC_2.2.5 sethostid F +GLIBC_2.2.5 sethostname F +GLIBC_2.2.5 setitimer F +GLIBC_2.2.5 setjmp F +GLIBC_2.2.5 setlinebuf F +GLIBC_2.2.5 setlocale F +GLIBC_2.2.5 setlogin F +GLIBC_2.2.5 setlogmask F +GLIBC_2.2.5 setmntent F +GLIBC_2.2.5 setnetent F +GLIBC_2.2.5 setnetgrent F +GLIBC_2.2.5 setpgid F +GLIBC_2.2.5 setpgrp F +GLIBC_2.2.5 setpriority F +GLIBC_2.2.5 setprotoent F +GLIBC_2.2.5 setpwent F +GLIBC_2.2.5 setregid F +GLIBC_2.2.5 setresgid F +GLIBC_2.2.5 setresuid F +GLIBC_2.2.5 setreuid F +GLIBC_2.2.5 setrlimit F +GLIBC_2.2.5 setrlimit64 F +GLIBC_2.2.5 setrpcent F +GLIBC_2.2.5 setservent F +GLIBC_2.2.5 setsid F +GLIBC_2.2.5 setsockopt F +GLIBC_2.2.5 setspent F +GLIBC_2.2.5 setstate F +GLIBC_2.2.5 setstate_r F +GLIBC_2.2.5 settimeofday F +GLIBC_2.2.5 setttyent F +GLIBC_2.2.5 setuid F +GLIBC_2.2.5 setusershell F +GLIBC_2.2.5 setutent F +GLIBC_2.2.5 setutxent F +GLIBC_2.2.5 setvbuf F +GLIBC_2.2.5 sgetspent F +GLIBC_2.2.5 sgetspent_r F +GLIBC_2.2.5 shmat F +GLIBC_2.2.5 shmctl F +GLIBC_2.2.5 shmdt F +GLIBC_2.2.5 shmget F +GLIBC_2.2.5 shutdown F +GLIBC_2.2.5 sigaction F +GLIBC_2.2.5 sigaddset F +GLIBC_2.2.5 sigaltstack F +GLIBC_2.2.5 sigandset F +GLIBC_2.2.5 sigblock F +GLIBC_2.2.5 sigdelset F +GLIBC_2.2.5 sigemptyset F +GLIBC_2.2.5 sigfillset F +GLIBC_2.2.5 siggetmask F +GLIBC_2.2.5 sighold F +GLIBC_2.2.5 sigignore F +GLIBC_2.2.5 siginterrupt F +GLIBC_2.2.5 sigisemptyset F +GLIBC_2.2.5 sigismember F +GLIBC_2.2.5 siglongjmp F +GLIBC_2.2.5 signal F +GLIBC_2.2.5 sigorset F +GLIBC_2.2.5 sigpause F +GLIBC_2.2.5 sigpending F +GLIBC_2.2.5 sigprocmask F +GLIBC_2.2.5 sigqueue F +GLIBC_2.2.5 sigrelse F +GLIBC_2.2.5 sigreturn F +GLIBC_2.2.5 sigset F +GLIBC_2.2.5 sigsetmask F +GLIBC_2.2.5 sigstack F +GLIBC_2.2.5 sigsuspend F +GLIBC_2.2.5 sigtimedwait F +GLIBC_2.2.5 sigvec F +GLIBC_2.2.5 sigwait F +GLIBC_2.2.5 sigwaitinfo F +GLIBC_2.2.5 sleep F +GLIBC_2.2.5 snprintf F +GLIBC_2.2.5 sockatmark F +GLIBC_2.2.5 socket F +GLIBC_2.2.5 socketpair F +GLIBC_2.2.5 sprintf F +GLIBC_2.2.5 sprofil F +GLIBC_2.2.5 srand F +GLIBC_2.2.5 srand48 F +GLIBC_2.2.5 srand48_r F +GLIBC_2.2.5 srandom F +GLIBC_2.2.5 srandom_r F +GLIBC_2.2.5 sscanf F +GLIBC_2.2.5 ssignal F +GLIBC_2.2.5 sstk F +GLIBC_2.2.5 statfs F +GLIBC_2.2.5 statfs64 F +GLIBC_2.2.5 statvfs F +GLIBC_2.2.5 statvfs64 F +GLIBC_2.2.5 stderr D 0x8 +GLIBC_2.2.5 stdin D 0x8 +GLIBC_2.2.5 stdout D 0x8 +GLIBC_2.2.5 step F +GLIBC_2.2.5 stime F +GLIBC_2.2.5 stpcpy F +GLIBC_2.2.5 stpncpy F +GLIBC_2.2.5 strcasecmp F +GLIBC_2.2.5 strcasestr F +GLIBC_2.2.5 strcat F +GLIBC_2.2.5 strchr F +GLIBC_2.2.5 strchrnul F +GLIBC_2.2.5 strcmp F +GLIBC_2.2.5 strcoll F +GLIBC_2.2.5 strcpy F +GLIBC_2.2.5 strcspn F +GLIBC_2.2.5 strdup F +GLIBC_2.2.5 strerror F +GLIBC_2.2.5 strerror_r F +GLIBC_2.2.5 strfmon F +GLIBC_2.2.5 strfry F +GLIBC_2.2.5 strftime F +GLIBC_2.2.5 strlen F +GLIBC_2.2.5 strncasecmp F +GLIBC_2.2.5 strncat F +GLIBC_2.2.5 strncmp F +GLIBC_2.2.5 strncpy F +GLIBC_2.2.5 strndup F +GLIBC_2.2.5 strnlen F +GLIBC_2.2.5 strpbrk F +GLIBC_2.2.5 strptime F +GLIBC_2.2.5 strrchr F +GLIBC_2.2.5 strsep F +GLIBC_2.2.5 strsignal F +GLIBC_2.2.5 strspn F +GLIBC_2.2.5 strstr F +GLIBC_2.2.5 strtod F +GLIBC_2.2.5 strtof F +GLIBC_2.2.5 strtoimax F +GLIBC_2.2.5 strtok F +GLIBC_2.2.5 strtok_r F +GLIBC_2.2.5 strtol F +GLIBC_2.2.5 strtold F +GLIBC_2.2.5 strtoll F +GLIBC_2.2.5 strtoq F +GLIBC_2.2.5 strtoul F +GLIBC_2.2.5 strtoull F +GLIBC_2.2.5 strtoumax F +GLIBC_2.2.5 strtouq F +GLIBC_2.2.5 strverscmp F +GLIBC_2.2.5 strxfrm F +GLIBC_2.2.5 stty F +GLIBC_2.2.5 svc_exit F +GLIBC_2.2.5 svc_fdset D 0x80 +GLIBC_2.2.5 svc_getreq F +GLIBC_2.2.5 svc_getreq_common F +GLIBC_2.2.5 svc_getreq_poll F +GLIBC_2.2.5 svc_getreqset F +GLIBC_2.2.5 svc_max_pollfd D 0x4 +GLIBC_2.2.5 svc_pollfd D 0x8 +GLIBC_2.2.5 svc_register F +GLIBC_2.2.5 svc_run F +GLIBC_2.2.5 svc_sendreply F +GLIBC_2.2.5 svc_unregister F +GLIBC_2.2.5 svcauthdes_stats D 0x18 +GLIBC_2.2.5 svcerr_auth F +GLIBC_2.2.5 svcerr_decode F +GLIBC_2.2.5 svcerr_noproc F +GLIBC_2.2.5 svcerr_noprog F +GLIBC_2.2.5 svcerr_progvers F +GLIBC_2.2.5 svcerr_systemerr F +GLIBC_2.2.5 svcerr_weakauth F +GLIBC_2.2.5 svcfd_create F +GLIBC_2.2.5 svcraw_create F +GLIBC_2.2.5 svctcp_create F +GLIBC_2.2.5 svcudp_bufcreate F +GLIBC_2.2.5 svcudp_create F +GLIBC_2.2.5 svcudp_enablecache F +GLIBC_2.2.5 svcunix_create F +GLIBC_2.2.5 svcunixfd_create F +GLIBC_2.2.5 swab F +GLIBC_2.2.5 swapcontext F +GLIBC_2.2.5 swapoff F +GLIBC_2.2.5 swapon F +GLIBC_2.2.5 swprintf F +GLIBC_2.2.5 swscanf F +GLIBC_2.2.5 symlink F +GLIBC_2.2.5 sync F +GLIBC_2.2.5 sys_errlist D 0x3e8 +GLIBC_2.2.5 sys_nerr D 0x4 +GLIBC_2.2.5 sys_sigabbrev D 0x200 +GLIBC_2.2.5 sys_siglist D 0x200 +GLIBC_2.2.5 syscall F +GLIBC_2.2.5 sysconf F +GLIBC_2.2.5 sysctl F +GLIBC_2.2.5 sysinfo F +GLIBC_2.2.5 syslog F +GLIBC_2.2.5 system F +GLIBC_2.2.5 sysv_signal F +GLIBC_2.2.5 tcdrain F +GLIBC_2.2.5 tcflow F +GLIBC_2.2.5 tcflush F +GLIBC_2.2.5 tcgetattr F +GLIBC_2.2.5 tcgetpgrp F +GLIBC_2.2.5 tcgetsid F +GLIBC_2.2.5 tcsendbreak F +GLIBC_2.2.5 tcsetattr F +GLIBC_2.2.5 tcsetpgrp F +GLIBC_2.2.5 tdelete F +GLIBC_2.2.5 tdestroy F +GLIBC_2.2.5 telldir F +GLIBC_2.2.5 tempnam F +GLIBC_2.2.5 textdomain F +GLIBC_2.2.5 tfind F +GLIBC_2.2.5 time F +GLIBC_2.2.5 timegm F +GLIBC_2.2.5 timelocal F +GLIBC_2.2.5 times F +GLIBC_2.2.5 timezone D 0x8 +GLIBC_2.2.5 tmpfile F +GLIBC_2.2.5 tmpfile64 F +GLIBC_2.2.5 tmpnam F +GLIBC_2.2.5 tmpnam_r F +GLIBC_2.2.5 toascii F +GLIBC_2.2.5 tolower F +GLIBC_2.2.5 toupper F +GLIBC_2.2.5 towctrans F +GLIBC_2.2.5 towlower F +GLIBC_2.2.5 towupper F +GLIBC_2.2.5 tr_break F +GLIBC_2.2.5 truncate F +GLIBC_2.2.5 truncate64 F +GLIBC_2.2.5 tsearch F +GLIBC_2.2.5 ttyname F +GLIBC_2.2.5 ttyname_r F +GLIBC_2.2.5 ttyslot F +GLIBC_2.2.5 twalk F +GLIBC_2.2.5 tzname D 0x10 +GLIBC_2.2.5 tzset F +GLIBC_2.2.5 ualarm F +GLIBC_2.2.5 ulckpwdf F +GLIBC_2.2.5 ulimit F +GLIBC_2.2.5 umask F +GLIBC_2.2.5 umount F +GLIBC_2.2.5 umount2 F +GLIBC_2.2.5 uname F +GLIBC_2.2.5 ungetc F +GLIBC_2.2.5 ungetwc F +GLIBC_2.2.5 unlink F +GLIBC_2.2.5 unlockpt F +GLIBC_2.2.5 unsetenv F +GLIBC_2.2.5 updwtmp F +GLIBC_2.2.5 updwtmpx F +GLIBC_2.2.5 uselib F +GLIBC_2.2.5 user2netname F +GLIBC_2.2.5 usleep F +GLIBC_2.2.5 ustat F +GLIBC_2.2.5 utime F +GLIBC_2.2.5 utimes F +GLIBC_2.2.5 utmpname F +GLIBC_2.2.5 utmpxname F +GLIBC_2.2.5 valloc F +GLIBC_2.2.5 vasprintf F +GLIBC_2.2.5 vdprintf F +GLIBC_2.2.5 verr F +GLIBC_2.2.5 verrx F +GLIBC_2.2.5 versionsort F +GLIBC_2.2.5 versionsort64 F +GLIBC_2.2.5 vfork F +GLIBC_2.2.5 vfprintf F +GLIBC_2.2.5 vfscanf F +GLIBC_2.2.5 vfwprintf F +GLIBC_2.2.5 vfwscanf F +GLIBC_2.2.5 vhangup F +GLIBC_2.2.5 vlimit F +GLIBC_2.2.5 vprintf F +GLIBC_2.2.5 vscanf F +GLIBC_2.2.5 vsnprintf F +GLIBC_2.2.5 vsprintf F +GLIBC_2.2.5 vsscanf F +GLIBC_2.2.5 vswprintf F +GLIBC_2.2.5 vswscanf F +GLIBC_2.2.5 vsyslog F +GLIBC_2.2.5 vtimes F +GLIBC_2.2.5 vwarn F +GLIBC_2.2.5 vwarnx F +GLIBC_2.2.5 vwprintf F +GLIBC_2.2.5 vwscanf F +GLIBC_2.2.5 wait F +GLIBC_2.2.5 wait3 F +GLIBC_2.2.5 wait4 F +GLIBC_2.2.5 waitid F +GLIBC_2.2.5 waitpid F +GLIBC_2.2.5 warn F +GLIBC_2.2.5 warnx F +GLIBC_2.2.5 wcpcpy F +GLIBC_2.2.5 wcpncpy F +GLIBC_2.2.5 wcrtomb F +GLIBC_2.2.5 wcscasecmp F +GLIBC_2.2.5 wcscat F +GLIBC_2.2.5 wcschr F +GLIBC_2.2.5 wcschrnul F +GLIBC_2.2.5 wcscmp F +GLIBC_2.2.5 wcscoll F +GLIBC_2.2.5 wcscpy F +GLIBC_2.2.5 wcscspn F +GLIBC_2.2.5 wcsdup F +GLIBC_2.2.5 wcsftime F +GLIBC_2.2.5 wcslen F +GLIBC_2.2.5 wcsncasecmp F +GLIBC_2.2.5 wcsncat F +GLIBC_2.2.5 wcsncmp F +GLIBC_2.2.5 wcsncpy F +GLIBC_2.2.5 wcsnlen F +GLIBC_2.2.5 wcsnrtombs F +GLIBC_2.2.5 wcspbrk F +GLIBC_2.2.5 wcsrchr F +GLIBC_2.2.5 wcsrtombs F +GLIBC_2.2.5 wcsspn F +GLIBC_2.2.5 wcsstr F +GLIBC_2.2.5 wcstod F +GLIBC_2.2.5 wcstof F +GLIBC_2.2.5 wcstoimax F +GLIBC_2.2.5 wcstok F +GLIBC_2.2.5 wcstol F +GLIBC_2.2.5 wcstold F +GLIBC_2.2.5 wcstoll F +GLIBC_2.2.5 wcstombs F +GLIBC_2.2.5 wcstoq F +GLIBC_2.2.5 wcstoul F +GLIBC_2.2.5 wcstoull F +GLIBC_2.2.5 wcstoumax F +GLIBC_2.2.5 wcstouq F +GLIBC_2.2.5 wcswcs F +GLIBC_2.2.5 wcswidth F +GLIBC_2.2.5 wcsxfrm F +GLIBC_2.2.5 wctob F +GLIBC_2.2.5 wctomb F +GLIBC_2.2.5 wctrans F +GLIBC_2.2.5 wctype F +GLIBC_2.2.5 wcwidth F +GLIBC_2.2.5 wmemchr F +GLIBC_2.2.5 wmemcmp F +GLIBC_2.2.5 wmemcpy F +GLIBC_2.2.5 wmemmove F +GLIBC_2.2.5 wmempcpy F +GLIBC_2.2.5 wmemset F +GLIBC_2.2.5 wordexp F +GLIBC_2.2.5 wordfree F +GLIBC_2.2.5 wprintf F +GLIBC_2.2.5 write F +GLIBC_2.2.5 writev F +GLIBC_2.2.5 wscanf F +GLIBC_2.2.5 xdecrypt F +GLIBC_2.2.5 xdr_accepted_reply F +GLIBC_2.2.5 xdr_array F +GLIBC_2.2.5 xdr_authdes_cred F +GLIBC_2.2.5 xdr_authdes_verf F +GLIBC_2.2.5 xdr_authunix_parms F +GLIBC_2.2.5 xdr_bool F +GLIBC_2.2.5 xdr_bytes F +GLIBC_2.2.5 xdr_callhdr F +GLIBC_2.2.5 xdr_callmsg F +GLIBC_2.2.5 xdr_char F +GLIBC_2.2.5 xdr_cryptkeyarg F +GLIBC_2.2.5 xdr_cryptkeyarg2 F +GLIBC_2.2.5 xdr_cryptkeyres F +GLIBC_2.2.5 xdr_des_block F +GLIBC_2.2.5 xdr_double F +GLIBC_2.2.5 xdr_enum F +GLIBC_2.2.5 xdr_float F +GLIBC_2.2.5 xdr_free F +GLIBC_2.2.5 xdr_getcredres F +GLIBC_2.2.5 xdr_hyper F +GLIBC_2.2.5 xdr_int F +GLIBC_2.2.5 xdr_int16_t F +GLIBC_2.2.5 xdr_int32_t F +GLIBC_2.2.5 xdr_int64_t F +GLIBC_2.2.5 xdr_int8_t F +GLIBC_2.2.5 xdr_key_netstarg F +GLIBC_2.2.5 xdr_key_netstres F +GLIBC_2.2.5 xdr_keybuf F +GLIBC_2.2.5 xdr_keystatus F +GLIBC_2.2.5 xdr_long F +GLIBC_2.2.5 xdr_longlong_t F +GLIBC_2.2.5 xdr_netnamestr F +GLIBC_2.2.5 xdr_netobj F +GLIBC_2.2.5 xdr_opaque F +GLIBC_2.2.5 xdr_opaque_auth F +GLIBC_2.2.5 xdr_pmap F +GLIBC_2.2.5 xdr_pmaplist F +GLIBC_2.2.5 xdr_pointer F +GLIBC_2.2.5 xdr_reference F +GLIBC_2.2.5 xdr_rejected_reply F +GLIBC_2.2.5 xdr_replymsg F +GLIBC_2.2.5 xdr_rmtcall_args F +GLIBC_2.2.5 xdr_rmtcallres F +GLIBC_2.2.5 xdr_short F +GLIBC_2.2.5 xdr_sizeof F +GLIBC_2.2.5 xdr_string F +GLIBC_2.2.5 xdr_u_char F +GLIBC_2.2.5 xdr_u_hyper F +GLIBC_2.2.5 xdr_u_int F +GLIBC_2.2.5 xdr_u_long F +GLIBC_2.2.5 xdr_u_longlong_t F +GLIBC_2.2.5 xdr_u_short F +GLIBC_2.2.5 xdr_uint16_t F +GLIBC_2.2.5 xdr_uint32_t F +GLIBC_2.2.5 xdr_uint64_t F +GLIBC_2.2.5 xdr_uint8_t F +GLIBC_2.2.5 xdr_union F +GLIBC_2.2.5 xdr_unixcred F +GLIBC_2.2.5 xdr_vector F +GLIBC_2.2.5 xdr_void F +GLIBC_2.2.5 xdr_wrapstring F +GLIBC_2.2.5 xdrmem_create F +GLIBC_2.2.5 xdrrec_create F +GLIBC_2.2.5 xdrrec_endofrecord F +GLIBC_2.2.5 xdrrec_eof F +GLIBC_2.2.5 xdrrec_skiprecord F +GLIBC_2.2.5 xdrstdio_create F +GLIBC_2.2.5 xencrypt F +GLIBC_2.2.5 xprt_register F +GLIBC_2.2.5 xprt_unregister F +GLIBC_2.2.6 GLIBC_2.2.6 A +GLIBC_2.2.6 __nanosleep F +GLIBC_2.22 GLIBC_2.22 A +GLIBC_2.22 fmemopen F +GLIBC_2.23 GLIBC_2.23 A +GLIBC_2.23 fts64_children F +GLIBC_2.23 fts64_close F +GLIBC_2.23 fts64_open F +GLIBC_2.23 fts64_read F +GLIBC_2.23 fts64_set F +GLIBC_2.24 GLIBC_2.24 A +GLIBC_2.24 quick_exit F +GLIBC_2.25 GLIBC_2.25 A +GLIBC_2.25 __explicit_bzero_chk F +GLIBC_2.25 explicit_bzero F +GLIBC_2.25 getentropy F +GLIBC_2.25 getrandom F +GLIBC_2.25 strfromd F +GLIBC_2.25 strfromf F +GLIBC_2.25 strfroml F +GLIBC_2.26 GLIBC_2.26 A +GLIBC_2.26 preadv2 F +GLIBC_2.26 preadv64v2 F +GLIBC_2.26 pwritev2 F +GLIBC_2.26 pwritev64v2 F +GLIBC_2.26 reallocarray F +GLIBC_2.3 GLIBC_2.3 A +GLIBC_2.3 __ctype_b_loc F +GLIBC_2.3 __ctype_tolower_loc F +GLIBC_2.3 __ctype_toupper_loc F +GLIBC_2.3 __isctype F +GLIBC_2.3 __strftime_l F +GLIBC_2.3 __uselocale F +GLIBC_2.3 __wcsftime_l F +GLIBC_2.3 _sys_errlist D 0x3f0 +GLIBC_2.3 _sys_nerr D 0x4 +GLIBC_2.3 duplocale F +GLIBC_2.3 fgetxattr F +GLIBC_2.3 flistxattr F +GLIBC_2.3 freeifaddrs F +GLIBC_2.3 freelocale F +GLIBC_2.3 fremovexattr F +GLIBC_2.3 fsetxattr F +GLIBC_2.3 futimes F +GLIBC_2.3 getifaddrs F +GLIBC_2.3 getxattr F +GLIBC_2.3 isalnum_l F +GLIBC_2.3 isalpha_l F +GLIBC_2.3 isblank_l F +GLIBC_2.3 iscntrl_l F +GLIBC_2.3 isctype F +GLIBC_2.3 isdigit_l F +GLIBC_2.3 isgraph_l F +GLIBC_2.3 islower_l F +GLIBC_2.3 isprint_l F +GLIBC_2.3 ispunct_l F +GLIBC_2.3 isspace_l F +GLIBC_2.3 isupper_l F +GLIBC_2.3 iswalnum_l F +GLIBC_2.3 iswalpha_l F +GLIBC_2.3 iswblank_l F +GLIBC_2.3 iswcntrl_l F +GLIBC_2.3 iswctype_l F +GLIBC_2.3 iswdigit_l F +GLIBC_2.3 iswgraph_l F +GLIBC_2.3 iswlower_l F +GLIBC_2.3 iswprint_l F +GLIBC_2.3 iswpunct_l F +GLIBC_2.3 iswspace_l F +GLIBC_2.3 iswupper_l F +GLIBC_2.3 iswxdigit_l F +GLIBC_2.3 isxdigit_l F +GLIBC_2.3 lgetxattr F +GLIBC_2.3 listxattr F +GLIBC_2.3 llistxattr F +GLIBC_2.3 lremovexattr F +GLIBC_2.3 lsetxattr F +GLIBC_2.3 lutimes F +GLIBC_2.3 newlocale F +GLIBC_2.3 nl_langinfo_l F +GLIBC_2.3 readahead F +GLIBC_2.3 realpath F +GLIBC_2.3 removexattr F +GLIBC_2.3 sendfile64 F +GLIBC_2.3 setxattr F +GLIBC_2.3 strcasecmp_l F +GLIBC_2.3 strcoll_l F +GLIBC_2.3 strfmon_l F +GLIBC_2.3 strftime_l F +GLIBC_2.3 strncasecmp_l F +GLIBC_2.3 strtod_l F +GLIBC_2.3 strtof_l F +GLIBC_2.3 strtol_l F +GLIBC_2.3 strtold_l F +GLIBC_2.3 strtoul_l F +GLIBC_2.3 strxfrm_l F +GLIBC_2.3 sys_errlist D 0x3f0 +GLIBC_2.3 sys_nerr D 0x4 +GLIBC_2.3 tolower_l F +GLIBC_2.3 toupper_l F +GLIBC_2.3 towctrans_l F +GLIBC_2.3 towlower_l F +GLIBC_2.3 towupper_l F +GLIBC_2.3 uselocale F +GLIBC_2.3 wcscasecmp_l F +GLIBC_2.3 wcscoll_l F +GLIBC_2.3 wcsftime_l F +GLIBC_2.3 wcsncasecmp_l F +GLIBC_2.3 wcstod_l F +GLIBC_2.3 wcstof_l F +GLIBC_2.3 wcstol_l F +GLIBC_2.3 wcstold_l F +GLIBC_2.3 wcstoll_l F +GLIBC_2.3 wcstoul_l F +GLIBC_2.3 wcstoull_l F +GLIBC_2.3 wcsxfrm_l F +GLIBC_2.3 wctrans_l F +GLIBC_2.3 wctype_l F +GLIBC_2.3.2 GLIBC_2.3.2 A +GLIBC_2.3.2 __register_atfork F +GLIBC_2.3.2 epoll_create F +GLIBC_2.3.2 epoll_ctl F +GLIBC_2.3.2 epoll_wait F +GLIBC_2.3.2 lchmod F +GLIBC_2.3.2 pthread_cond_broadcast F +GLIBC_2.3.2 pthread_cond_destroy F +GLIBC_2.3.2 pthread_cond_init F +GLIBC_2.3.2 pthread_cond_signal F +GLIBC_2.3.2 pthread_cond_timedwait F +GLIBC_2.3.2 pthread_cond_wait F +GLIBC_2.3.2 strptime_l F +GLIBC_2.3.3 GLIBC_2.3.3 A +GLIBC_2.3.3 _sys_siglist D 0x208 +GLIBC_2.3.3 gnu_dev_major F +GLIBC_2.3.3 gnu_dev_makedev F +GLIBC_2.3.3 gnu_dev_minor F +GLIBC_2.3.3 inet6_option_alloc F +GLIBC_2.3.3 inet6_option_append F +GLIBC_2.3.3 inet6_option_find F +GLIBC_2.3.3 inet6_option_init F +GLIBC_2.3.3 inet6_option_next F +GLIBC_2.3.3 inet6_option_space F +GLIBC_2.3.3 nftw F +GLIBC_2.3.3 nftw64 F +GLIBC_2.3.3 remap_file_pages F +GLIBC_2.3.3 sched_getaffinity F +GLIBC_2.3.3 sched_setaffinity F +GLIBC_2.3.3 semtimedop F +GLIBC_2.3.3 strtoll_l F +GLIBC_2.3.3 strtoull_l F +GLIBC_2.3.3 sys_sigabbrev D 0x208 +GLIBC_2.3.3 sys_siglist D 0x208 +GLIBC_2.3.4 GLIBC_2.3.4 A +GLIBC_2.3.4 __chk_fail F +GLIBC_2.3.4 __fprintf_chk F +GLIBC_2.3.4 __gets_chk F +GLIBC_2.3.4 __memcpy_chk F +GLIBC_2.3.4 __memmove_chk F +GLIBC_2.3.4 __mempcpy_chk F +GLIBC_2.3.4 __memset_chk F +GLIBC_2.3.4 __printf_chk F +GLIBC_2.3.4 __snprintf_chk F +GLIBC_2.3.4 __sprintf_chk F +GLIBC_2.3.4 __stpcpy_chk F +GLIBC_2.3.4 __strcat_chk F +GLIBC_2.3.4 __strcpy_chk F +GLIBC_2.3.4 __strncat_chk F +GLIBC_2.3.4 __strncpy_chk F +GLIBC_2.3.4 __vfprintf_chk F +GLIBC_2.3.4 __vprintf_chk F +GLIBC_2.3.4 __vsnprintf_chk F +GLIBC_2.3.4 __vsprintf_chk F +GLIBC_2.3.4 __xpg_strerror_r F +GLIBC_2.3.4 getipv4sourcefilter F +GLIBC_2.3.4 getsourcefilter F +GLIBC_2.3.4 regexec F +GLIBC_2.3.4 sched_getaffinity F +GLIBC_2.3.4 sched_setaffinity F +GLIBC_2.3.4 setipv4sourcefilter F +GLIBC_2.3.4 setsourcefilter F +GLIBC_2.3.4 xdr_quad_t F +GLIBC_2.3.4 xdr_u_quad_t F +GLIBC_2.4 GLIBC_2.4 A +GLIBC_2.4 __confstr_chk F +GLIBC_2.4 __fgets_chk F +GLIBC_2.4 __fgets_unlocked_chk F +GLIBC_2.4 __fgetws_chk F +GLIBC_2.4 __fgetws_unlocked_chk F +GLIBC_2.4 __fwprintf_chk F +GLIBC_2.4 __fxstatat F +GLIBC_2.4 __fxstatat64 F +GLIBC_2.4 __getcwd_chk F +GLIBC_2.4 __getdomainname_chk F +GLIBC_2.4 __getgroups_chk F +GLIBC_2.4 __gethostname_chk F +GLIBC_2.4 __getlogin_r_chk F +GLIBC_2.4 __getwd_chk F +GLIBC_2.4 __mbsnrtowcs_chk F +GLIBC_2.4 __mbsrtowcs_chk F +GLIBC_2.4 __mbstowcs_chk F +GLIBC_2.4 __pread64_chk F +GLIBC_2.4 __pread_chk F +GLIBC_2.4 __ptsname_r_chk F +GLIBC_2.4 __read_chk F +GLIBC_2.4 __readlink_chk F +GLIBC_2.4 __realpath_chk F +GLIBC_2.4 __recv_chk F +GLIBC_2.4 __recvfrom_chk F +GLIBC_2.4 __stack_chk_fail F +GLIBC_2.4 __stpncpy_chk F +GLIBC_2.4 __swprintf_chk F +GLIBC_2.4 __syslog_chk F +GLIBC_2.4 __ttyname_r_chk F +GLIBC_2.4 __vfwprintf_chk F +GLIBC_2.4 __vswprintf_chk F +GLIBC_2.4 __vsyslog_chk F +GLIBC_2.4 __vwprintf_chk F +GLIBC_2.4 __wcpcpy_chk F +GLIBC_2.4 __wcpncpy_chk F +GLIBC_2.4 __wcrtomb_chk F +GLIBC_2.4 __wcscat_chk F +GLIBC_2.4 __wcscpy_chk F +GLIBC_2.4 __wcsncat_chk F +GLIBC_2.4 __wcsncpy_chk F +GLIBC_2.4 __wcsnrtombs_chk F +GLIBC_2.4 __wcsrtombs_chk F +GLIBC_2.4 __wcstombs_chk F +GLIBC_2.4 __wctomb_chk F +GLIBC_2.4 __wmemcpy_chk F +GLIBC_2.4 __wmemmove_chk F +GLIBC_2.4 __wmempcpy_chk F +GLIBC_2.4 __wmemset_chk F +GLIBC_2.4 __wprintf_chk F +GLIBC_2.4 __xmknodat F +GLIBC_2.4 _sys_errlist D 0x420 +GLIBC_2.4 _sys_nerr D 0x4 +GLIBC_2.4 eaccess F +GLIBC_2.4 faccessat F +GLIBC_2.4 fchmodat F +GLIBC_2.4 fchownat F +GLIBC_2.4 fdopendir F +GLIBC_2.4 futimesat F +GLIBC_2.4 inotify_add_watch F +GLIBC_2.4 inotify_init F +GLIBC_2.4 inotify_rm_watch F +GLIBC_2.4 linkat F +GLIBC_2.4 mkdirat F +GLIBC_2.4 mkfifoat F +GLIBC_2.4 open_wmemstream F +GLIBC_2.4 openat F +GLIBC_2.4 openat64 F +GLIBC_2.4 ppoll F +GLIBC_2.4 readlinkat F +GLIBC_2.4 renameat F +GLIBC_2.4 symlinkat F +GLIBC_2.4 sys_errlist D 0x420 +GLIBC_2.4 sys_nerr D 0x4 +GLIBC_2.4 unlinkat F +GLIBC_2.4 unshare F +GLIBC_2.5 GLIBC_2.5 A +GLIBC_2.5 __readlinkat_chk F +GLIBC_2.5 inet6_opt_append F +GLIBC_2.5 inet6_opt_find F +GLIBC_2.5 inet6_opt_finish F +GLIBC_2.5 inet6_opt_get_val F +GLIBC_2.5 inet6_opt_init F +GLIBC_2.5 inet6_opt_next F +GLIBC_2.5 inet6_opt_set_val F +GLIBC_2.5 inet6_rth_add F +GLIBC_2.5 inet6_rth_getaddr F +GLIBC_2.5 inet6_rth_init F +GLIBC_2.5 inet6_rth_reverse F +GLIBC_2.5 inet6_rth_segments F +GLIBC_2.5 inet6_rth_space F +GLIBC_2.5 splice F +GLIBC_2.5 tee F +GLIBC_2.5 vmsplice F +GLIBC_2.6 GLIBC_2.6 A +GLIBC_2.6 __sched_cpucount F +GLIBC_2.6 epoll_pwait F +GLIBC_2.6 futimens F +GLIBC_2.6 sched_getcpu F +GLIBC_2.6 strerror_l F +GLIBC_2.6 sync_file_range F +GLIBC_2.6 utimensat F +GLIBC_2.7 GLIBC_2.7 A +GLIBC_2.7 __fread_chk F +GLIBC_2.7 __fread_unlocked_chk F +GLIBC_2.7 __isoc99_fscanf F +GLIBC_2.7 __isoc99_fwscanf F +GLIBC_2.7 __isoc99_scanf F +GLIBC_2.7 __isoc99_sscanf F +GLIBC_2.7 __isoc99_swscanf F +GLIBC_2.7 __isoc99_vfscanf F +GLIBC_2.7 __isoc99_vfwscanf F +GLIBC_2.7 __isoc99_vscanf F +GLIBC_2.7 __isoc99_vsscanf F +GLIBC_2.7 __isoc99_vswscanf F +GLIBC_2.7 __isoc99_vwscanf F +GLIBC_2.7 __isoc99_wscanf F +GLIBC_2.7 __open64_2 F +GLIBC_2.7 __open_2 F +GLIBC_2.7 __openat64_2 F +GLIBC_2.7 __openat_2 F +GLIBC_2.7 __sched_cpualloc F +GLIBC_2.7 __sched_cpufree F +GLIBC_2.7 eventfd F +GLIBC_2.7 eventfd_read F +GLIBC_2.7 eventfd_write F +GLIBC_2.7 mkostemp F +GLIBC_2.7 mkostemp64 F +GLIBC_2.7 signalfd F +GLIBC_2.8 GLIBC_2.8 A +GLIBC_2.8 __asprintf_chk F +GLIBC_2.8 __dprintf_chk F +GLIBC_2.8 __obstack_printf_chk F +GLIBC_2.8 __obstack_vprintf_chk F +GLIBC_2.8 __vasprintf_chk F +GLIBC_2.8 __vdprintf_chk F +GLIBC_2.8 qsort_r F +GLIBC_2.8 timerfd_create F +GLIBC_2.8 timerfd_gettime F +GLIBC_2.8 timerfd_settime F +GLIBC_2.9 GLIBC_2.9 A +GLIBC_2.9 dup3 F +GLIBC_2.9 epoll_create1 F +GLIBC_2.9 inotify_init1 F +GLIBC_2.9 pipe2 F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist new file mode 100644 index 0000000000..df20c0f259 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libcrypt.abilist @@ -0,0 +1,8 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 crypt F +GLIBC_2.2.5 crypt_r F +GLIBC_2.2.5 encrypt F +GLIBC_2.2.5 encrypt_r F +GLIBC_2.2.5 fcrypt F +GLIBC_2.2.5 setkey F +GLIBC_2.2.5 setkey_r F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist new file mode 100644 index 0000000000..ca3d1f7936 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libdl.abilist @@ -0,0 +1,12 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 dladdr F +GLIBC_2.2.5 dlclose F +GLIBC_2.2.5 dlerror F +GLIBC_2.2.5 dlopen F +GLIBC_2.2.5 dlsym F +GLIBC_2.2.5 dlvsym F +GLIBC_2.3.3 GLIBC_2.3.3 A +GLIBC_2.3.3 dladdr1 F +GLIBC_2.3.3 dlinfo F +GLIBC_2.3.4 GLIBC_2.3.4 A +GLIBC_2.3.4 dlmopen F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist new file mode 100644 index 0000000000..fc68ef679a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -0,0 +1,465 @@ +GLIBC_2.15 GLIBC_2.15 A +GLIBC_2.15 __acos_finite F +GLIBC_2.15 __acosf_finite F +GLIBC_2.15 __acosh_finite F +GLIBC_2.15 __acoshf_finite F +GLIBC_2.15 __acoshl_finite F +GLIBC_2.15 __acosl_finite F +GLIBC_2.15 __asin_finite F +GLIBC_2.15 __asinf_finite F +GLIBC_2.15 __asinl_finite F +GLIBC_2.15 __atan2_finite F +GLIBC_2.15 __atan2f_finite F +GLIBC_2.15 __atan2l_finite F +GLIBC_2.15 __atanh_finite F +GLIBC_2.15 __atanhf_finite F +GLIBC_2.15 __atanhl_finite F +GLIBC_2.15 __cosh_finite F +GLIBC_2.15 __coshf_finite F +GLIBC_2.15 __coshl_finite F +GLIBC_2.15 __exp10_finite F +GLIBC_2.15 __exp10f_finite F +GLIBC_2.15 __exp10l_finite F +GLIBC_2.15 __exp2_finite F +GLIBC_2.15 __exp2f_finite F +GLIBC_2.15 __exp2l_finite F +GLIBC_2.15 __exp_finite F +GLIBC_2.15 __expf_finite F +GLIBC_2.15 __expl_finite F +GLIBC_2.15 __fmod_finite F +GLIBC_2.15 __fmodf_finite F +GLIBC_2.15 __fmodl_finite F +GLIBC_2.15 __gamma_r_finite F +GLIBC_2.15 __gammaf_r_finite F +GLIBC_2.15 __gammal_r_finite F +GLIBC_2.15 __hypot_finite F +GLIBC_2.15 __hypotf_finite F +GLIBC_2.15 __hypotl_finite F +GLIBC_2.15 __j0_finite F +GLIBC_2.15 __j0f_finite F +GLIBC_2.15 __j0l_finite F +GLIBC_2.15 __j1_finite F +GLIBC_2.15 __j1f_finite F +GLIBC_2.15 __j1l_finite F +GLIBC_2.15 __jn_finite F +GLIBC_2.15 __jnf_finite F +GLIBC_2.15 __jnl_finite F +GLIBC_2.15 __lgamma_r_finite F +GLIBC_2.15 __lgammaf_r_finite F +GLIBC_2.15 __lgammal_r_finite F +GLIBC_2.15 __log10_finite F +GLIBC_2.15 __log10f_finite F +GLIBC_2.15 __log10l_finite F +GLIBC_2.15 __log2_finite F +GLIBC_2.15 __log2f_finite F +GLIBC_2.15 __log2l_finite F +GLIBC_2.15 __log_finite F +GLIBC_2.15 __logf_finite F +GLIBC_2.15 __logl_finite F +GLIBC_2.15 __pow_finite F +GLIBC_2.15 __powf_finite F +GLIBC_2.15 __powl_finite F +GLIBC_2.15 __remainder_finite F +GLIBC_2.15 __remainderf_finite F +GLIBC_2.15 __remainderl_finite F +GLIBC_2.15 __scalb_finite F +GLIBC_2.15 __scalbf_finite F +GLIBC_2.15 __scalbl_finite F +GLIBC_2.15 __sinh_finite F +GLIBC_2.15 __sinhf_finite F +GLIBC_2.15 __sinhl_finite F +GLIBC_2.15 __sqrt_finite F +GLIBC_2.15 __sqrtf_finite F +GLIBC_2.15 __sqrtl_finite F +GLIBC_2.15 __y0_finite F +GLIBC_2.15 __y0f_finite F +GLIBC_2.15 __y0l_finite F +GLIBC_2.15 __y1_finite F +GLIBC_2.15 __y1f_finite F +GLIBC_2.15 __y1l_finite F +GLIBC_2.15 __yn_finite F +GLIBC_2.15 __ynf_finite F +GLIBC_2.15 __ynl_finite F +GLIBC_2.18 GLIBC_2.18 A +GLIBC_2.18 __issignaling F +GLIBC_2.18 __issignalingf F +GLIBC_2.18 __issignalingl F +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 _LIB_VERSION D 0x4 +GLIBC_2.2.5 __clog10 F +GLIBC_2.2.5 __clog10f F +GLIBC_2.2.5 __clog10l F +GLIBC_2.2.5 __finite F +GLIBC_2.2.5 __finitef F +GLIBC_2.2.5 __finitel F +GLIBC_2.2.5 __fpclassify F +GLIBC_2.2.5 __fpclassifyf F +GLIBC_2.2.5 __fpclassifyl F +GLIBC_2.2.5 __signbit F +GLIBC_2.2.5 __signbitf F +GLIBC_2.2.5 __signbitl F +GLIBC_2.2.5 acos F +GLIBC_2.2.5 acosf F +GLIBC_2.2.5 acosh F +GLIBC_2.2.5 acoshf F +GLIBC_2.2.5 acoshl F +GLIBC_2.2.5 acosl F +GLIBC_2.2.5 asin F +GLIBC_2.2.5 asinf F +GLIBC_2.2.5 asinh F +GLIBC_2.2.5 asinhf F +GLIBC_2.2.5 asinhl F +GLIBC_2.2.5 asinl F +GLIBC_2.2.5 atan F +GLIBC_2.2.5 atan2 F +GLIBC_2.2.5 atan2f F +GLIBC_2.2.5 atan2l F +GLIBC_2.2.5 atanf F +GLIBC_2.2.5 atanh F +GLIBC_2.2.5 atanhf F +GLIBC_2.2.5 atanhl F +GLIBC_2.2.5 atanl F +GLIBC_2.2.5 cabs F +GLIBC_2.2.5 cabsf F +GLIBC_2.2.5 cabsl F +GLIBC_2.2.5 cacos F +GLIBC_2.2.5 cacosf F +GLIBC_2.2.5 cacosh F +GLIBC_2.2.5 cacoshf F +GLIBC_2.2.5 cacoshl F +GLIBC_2.2.5 cacosl F +GLIBC_2.2.5 carg F +GLIBC_2.2.5 cargf F +GLIBC_2.2.5 cargl F +GLIBC_2.2.5 casin F +GLIBC_2.2.5 casinf F +GLIBC_2.2.5 casinh F +GLIBC_2.2.5 casinhf F +GLIBC_2.2.5 casinhl F +GLIBC_2.2.5 casinl F +GLIBC_2.2.5 catan F +GLIBC_2.2.5 catanf F +GLIBC_2.2.5 catanh F +GLIBC_2.2.5 catanhf F +GLIBC_2.2.5 catanhl F +GLIBC_2.2.5 catanl F +GLIBC_2.2.5 cbrt F +GLIBC_2.2.5 cbrtf F +GLIBC_2.2.5 cbrtl F +GLIBC_2.2.5 ccos F +GLIBC_2.2.5 ccosf F +GLIBC_2.2.5 ccosh F +GLIBC_2.2.5 ccoshf F +GLIBC_2.2.5 ccoshl F +GLIBC_2.2.5 ccosl F +GLIBC_2.2.5 ceil F +GLIBC_2.2.5 ceilf F +GLIBC_2.2.5 ceill F +GLIBC_2.2.5 cexp F +GLIBC_2.2.5 cexpf F +GLIBC_2.2.5 cexpl F +GLIBC_2.2.5 cimag F +GLIBC_2.2.5 cimagf F +GLIBC_2.2.5 cimagl F +GLIBC_2.2.5 clog F +GLIBC_2.2.5 clog10 F +GLIBC_2.2.5 clog10f F +GLIBC_2.2.5 clog10l F +GLIBC_2.2.5 clogf F +GLIBC_2.2.5 clogl F +GLIBC_2.2.5 conj F +GLIBC_2.2.5 conjf F +GLIBC_2.2.5 conjl F +GLIBC_2.2.5 copysign F +GLIBC_2.2.5 copysignf F +GLIBC_2.2.5 copysignl F +GLIBC_2.2.5 cos F +GLIBC_2.2.5 cosf F +GLIBC_2.2.5 cosh F +GLIBC_2.2.5 coshf F +GLIBC_2.2.5 coshl F +GLIBC_2.2.5 cosl F +GLIBC_2.2.5 cpow F +GLIBC_2.2.5 cpowf F +GLIBC_2.2.5 cpowl F +GLIBC_2.2.5 cproj F +GLIBC_2.2.5 cprojf F +GLIBC_2.2.5 cprojl F +GLIBC_2.2.5 creal F +GLIBC_2.2.5 crealf F +GLIBC_2.2.5 creall F +GLIBC_2.2.5 csin F +GLIBC_2.2.5 csinf F +GLIBC_2.2.5 csinh F +GLIBC_2.2.5 csinhf F +GLIBC_2.2.5 csinhl F +GLIBC_2.2.5 csinl F +GLIBC_2.2.5 csqrt F +GLIBC_2.2.5 csqrtf F +GLIBC_2.2.5 csqrtl F +GLIBC_2.2.5 ctan F +GLIBC_2.2.5 ctanf F +GLIBC_2.2.5 ctanh F +GLIBC_2.2.5 ctanhf F +GLIBC_2.2.5 ctanhl F +GLIBC_2.2.5 ctanl F +GLIBC_2.2.5 drem F +GLIBC_2.2.5 dremf F +GLIBC_2.2.5 dreml F +GLIBC_2.2.5 erf F +GLIBC_2.2.5 erfc F +GLIBC_2.2.5 erfcf F +GLIBC_2.2.5 erfcl F +GLIBC_2.2.5 erff F +GLIBC_2.2.5 erfl F +GLIBC_2.2.5 exp F +GLIBC_2.2.5 exp10 F +GLIBC_2.2.5 exp10f F +GLIBC_2.2.5 exp10l F +GLIBC_2.2.5 exp2 F +GLIBC_2.2.5 exp2f F +GLIBC_2.2.5 exp2l F +GLIBC_2.2.5 expf F +GLIBC_2.2.5 expl F +GLIBC_2.2.5 expm1 F +GLIBC_2.2.5 expm1f F +GLIBC_2.2.5 expm1l F +GLIBC_2.2.5 fabs F +GLIBC_2.2.5 fabsf F +GLIBC_2.2.5 fabsl F +GLIBC_2.2.5 fdim F +GLIBC_2.2.5 fdimf F +GLIBC_2.2.5 fdiml F +GLIBC_2.2.5 feclearexcept F +GLIBC_2.2.5 fedisableexcept F +GLIBC_2.2.5 feenableexcept F +GLIBC_2.2.5 fegetenv F +GLIBC_2.2.5 fegetexcept F +GLIBC_2.2.5 fegetexceptflag F +GLIBC_2.2.5 fegetround F +GLIBC_2.2.5 feholdexcept F +GLIBC_2.2.5 feraiseexcept F +GLIBC_2.2.5 fesetenv F +GLIBC_2.2.5 fesetexceptflag F +GLIBC_2.2.5 fesetround F +GLIBC_2.2.5 fetestexcept F +GLIBC_2.2.5 feupdateenv F +GLIBC_2.2.5 finite F +GLIBC_2.2.5 finitef F +GLIBC_2.2.5 finitel F +GLIBC_2.2.5 floor F +GLIBC_2.2.5 floorf F +GLIBC_2.2.5 floorl F +GLIBC_2.2.5 fma F +GLIBC_2.2.5 fmaf F +GLIBC_2.2.5 fmal F +GLIBC_2.2.5 fmax F +GLIBC_2.2.5 fmaxf F +GLIBC_2.2.5 fmaxl F +GLIBC_2.2.5 fmin F +GLIBC_2.2.5 fminf F +GLIBC_2.2.5 fminl F +GLIBC_2.2.5 fmod F +GLIBC_2.2.5 fmodf F +GLIBC_2.2.5 fmodl F +GLIBC_2.2.5 frexp F +GLIBC_2.2.5 frexpf F +GLIBC_2.2.5 frexpl F +GLIBC_2.2.5 gamma F +GLIBC_2.2.5 gammaf F +GLIBC_2.2.5 gammal F +GLIBC_2.2.5 hypot F +GLIBC_2.2.5 hypotf F +GLIBC_2.2.5 hypotl F +GLIBC_2.2.5 ilogb F +GLIBC_2.2.5 ilogbf F +GLIBC_2.2.5 ilogbl F +GLIBC_2.2.5 j0 F +GLIBC_2.2.5 j0f F +GLIBC_2.2.5 j0l F +GLIBC_2.2.5 j1 F +GLIBC_2.2.5 j1f F +GLIBC_2.2.5 j1l F +GLIBC_2.2.5 jn F +GLIBC_2.2.5 jnf F +GLIBC_2.2.5 jnl F +GLIBC_2.2.5 ldexp F +GLIBC_2.2.5 ldexpf F +GLIBC_2.2.5 ldexpl F +GLIBC_2.2.5 lgamma F +GLIBC_2.2.5 lgamma_r F +GLIBC_2.2.5 lgammaf F +GLIBC_2.2.5 lgammaf_r F +GLIBC_2.2.5 lgammal F +GLIBC_2.2.5 lgammal_r F +GLIBC_2.2.5 llrint F +GLIBC_2.2.5 llrintf F +GLIBC_2.2.5 llrintl F +GLIBC_2.2.5 llround F +GLIBC_2.2.5 llroundf F +GLIBC_2.2.5 llroundl F +GLIBC_2.2.5 log F +GLIBC_2.2.5 log10 F +GLIBC_2.2.5 log10f F +GLIBC_2.2.5 log10l F +GLIBC_2.2.5 log1p F +GLIBC_2.2.5 log1pf F +GLIBC_2.2.5 log1pl F +GLIBC_2.2.5 log2 F +GLIBC_2.2.5 log2f F +GLIBC_2.2.5 log2l F +GLIBC_2.2.5 logb F +GLIBC_2.2.5 logbf F +GLIBC_2.2.5 logbl F +GLIBC_2.2.5 logf F +GLIBC_2.2.5 logl F +GLIBC_2.2.5 lrint F +GLIBC_2.2.5 lrintf F +GLIBC_2.2.5 lrintl F +GLIBC_2.2.5 lround F +GLIBC_2.2.5 lroundf F +GLIBC_2.2.5 lroundl F +GLIBC_2.2.5 matherr F +GLIBC_2.2.5 modf F +GLIBC_2.2.5 modff F +GLIBC_2.2.5 modfl F +GLIBC_2.2.5 nan F +GLIBC_2.2.5 nanf F +GLIBC_2.2.5 nanl F +GLIBC_2.2.5 nearbyint F +GLIBC_2.2.5 nearbyintf F +GLIBC_2.2.5 nearbyintl F +GLIBC_2.2.5 nextafter F +GLIBC_2.2.5 nextafterf F +GLIBC_2.2.5 nextafterl F +GLIBC_2.2.5 nexttoward F +GLIBC_2.2.5 nexttowardf F +GLIBC_2.2.5 nexttowardl F +GLIBC_2.2.5 pow F +GLIBC_2.2.5 pow10 F +GLIBC_2.2.5 pow10f F +GLIBC_2.2.5 pow10l F +GLIBC_2.2.5 powf F +GLIBC_2.2.5 powl F +GLIBC_2.2.5 remainder F +GLIBC_2.2.5 remainderf F +GLIBC_2.2.5 remainderl F +GLIBC_2.2.5 remquo F +GLIBC_2.2.5 remquof F +GLIBC_2.2.5 remquol F +GLIBC_2.2.5 rint F +GLIBC_2.2.5 rintf F +GLIBC_2.2.5 rintl F +GLIBC_2.2.5 round F +GLIBC_2.2.5 roundf F +GLIBC_2.2.5 roundl F +GLIBC_2.2.5 scalb F +GLIBC_2.2.5 scalbf F +GLIBC_2.2.5 scalbl F +GLIBC_2.2.5 scalbln F +GLIBC_2.2.5 scalblnf F +GLIBC_2.2.5 scalblnl F +GLIBC_2.2.5 scalbn F +GLIBC_2.2.5 scalbnf F +GLIBC_2.2.5 scalbnl F +GLIBC_2.2.5 signgam D 0x4 +GLIBC_2.2.5 significand F +GLIBC_2.2.5 significandf F +GLIBC_2.2.5 significandl F +GLIBC_2.2.5 sin F +GLIBC_2.2.5 sincos F +GLIBC_2.2.5 sincosf F +GLIBC_2.2.5 sincosl F +GLIBC_2.2.5 sinf F +GLIBC_2.2.5 sinh F +GLIBC_2.2.5 sinhf F +GLIBC_2.2.5 sinhl F +GLIBC_2.2.5 sinl F +GLIBC_2.2.5 sqrt F +GLIBC_2.2.5 sqrtf F +GLIBC_2.2.5 sqrtl F +GLIBC_2.2.5 tan F +GLIBC_2.2.5 tanf F +GLIBC_2.2.5 tanh F +GLIBC_2.2.5 tanhf F +GLIBC_2.2.5 tanhl F +GLIBC_2.2.5 tanl F +GLIBC_2.2.5 tgamma F +GLIBC_2.2.5 tgammaf F +GLIBC_2.2.5 tgammal F +GLIBC_2.2.5 trunc F +GLIBC_2.2.5 truncf F +GLIBC_2.2.5 truncl F +GLIBC_2.2.5 y0 F +GLIBC_2.2.5 y0f F +GLIBC_2.2.5 y0l F +GLIBC_2.2.5 y1 F +GLIBC_2.2.5 y1f F +GLIBC_2.2.5 y1l F +GLIBC_2.2.5 yn F +GLIBC_2.2.5 ynf F +GLIBC_2.2.5 ynl F +GLIBC_2.23 GLIBC_2.23 A +GLIBC_2.23 __signgam D 0x4 +GLIBC_2.23 lgamma F +GLIBC_2.23 lgammaf F +GLIBC_2.23 lgammal F +GLIBC_2.24 GLIBC_2.24 A +GLIBC_2.24 nextdown F +GLIBC_2.24 nextdownf F +GLIBC_2.24 nextdownl F +GLIBC_2.24 nextup F +GLIBC_2.24 nextupf F +GLIBC_2.24 nextupl F +GLIBC_2.25 GLIBC_2.25 A +GLIBC_2.25 __iscanonicall F +GLIBC_2.25 __iseqsig F +GLIBC_2.25 __iseqsigf F +GLIBC_2.25 __iseqsigl F +GLIBC_2.25 canonicalize F +GLIBC_2.25 canonicalizef F +GLIBC_2.25 canonicalizel F +GLIBC_2.25 fegetmode F +GLIBC_2.25 fesetexcept F +GLIBC_2.25 fesetmode F +GLIBC_2.25 fetestexceptflag F +GLIBC_2.25 fmaxmag F +GLIBC_2.25 fmaxmagf F +GLIBC_2.25 fmaxmagl F +GLIBC_2.25 fminmag F +GLIBC_2.25 fminmagf F +GLIBC_2.25 fminmagl F +GLIBC_2.25 fromfp F +GLIBC_2.25 fromfpf F +GLIBC_2.25 fromfpl F +GLIBC_2.25 fromfpx F +GLIBC_2.25 fromfpxf F +GLIBC_2.25 fromfpxl F +GLIBC_2.25 getpayload F +GLIBC_2.25 getpayloadf F +GLIBC_2.25 getpayloadl F +GLIBC_2.25 llogb F +GLIBC_2.25 llogbf F +GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F +GLIBC_2.25 setpayload F +GLIBC_2.25 setpayloadf F +GLIBC_2.25 setpayloadl F +GLIBC_2.25 setpayloadsig F +GLIBC_2.25 setpayloadsigf F +GLIBC_2.25 setpayloadsigl F +GLIBC_2.25 totalorder F +GLIBC_2.25 totalorderf F +GLIBC_2.25 totalorderl F +GLIBC_2.25 totalordermag F +GLIBC_2.25 totalordermagf F +GLIBC_2.25 totalordermagl F +GLIBC_2.25 ufromfp F +GLIBC_2.25 ufromfpf F +GLIBC_2.25 ufromfpl F +GLIBC_2.25 ufromfpx F +GLIBC_2.25 ufromfpxf F +GLIBC_2.25 ufromfpxl F +GLIBC_2.4 GLIBC_2.4 A diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist new file mode 100644 index 0000000000..571fe97d88 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libnsl.abilist @@ -0,0 +1,122 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 __free_fdresult F +GLIBC_2.2.5 __nis_default_access F +GLIBC_2.2.5 __nis_default_group F +GLIBC_2.2.5 __nis_default_owner F +GLIBC_2.2.5 __nis_default_ttl F +GLIBC_2.2.5 __nis_finddirectory F +GLIBC_2.2.5 __nis_hash F +GLIBC_2.2.5 __nisbind_connect F +GLIBC_2.2.5 __nisbind_create F +GLIBC_2.2.5 __nisbind_destroy F +GLIBC_2.2.5 __nisbind_next F +GLIBC_2.2.5 __yp_check F +GLIBC_2.2.5 nis_add F +GLIBC_2.2.5 nis_add_entry F +GLIBC_2.2.5 nis_addmember F +GLIBC_2.2.5 nis_checkpoint F +GLIBC_2.2.5 nis_clone_directory F +GLIBC_2.2.5 nis_clone_object F +GLIBC_2.2.5 nis_clone_result F +GLIBC_2.2.5 nis_creategroup F +GLIBC_2.2.5 nis_destroy_object F +GLIBC_2.2.5 nis_destroygroup F +GLIBC_2.2.5 nis_dir_cmp F +GLIBC_2.2.5 nis_domain_of F +GLIBC_2.2.5 nis_domain_of_r F +GLIBC_2.2.5 nis_first_entry F +GLIBC_2.2.5 nis_free_directory F +GLIBC_2.2.5 nis_free_object F +GLIBC_2.2.5 nis_free_request F +GLIBC_2.2.5 nis_freenames F +GLIBC_2.2.5 nis_freeresult F +GLIBC_2.2.5 nis_freeservlist F +GLIBC_2.2.5 nis_freetags F +GLIBC_2.2.5 nis_getnames F +GLIBC_2.2.5 nis_getservlist F +GLIBC_2.2.5 nis_ismember F +GLIBC_2.2.5 nis_leaf_of F +GLIBC_2.2.5 nis_leaf_of_r F +GLIBC_2.2.5 nis_lerror F +GLIBC_2.2.5 nis_list F +GLIBC_2.2.5 nis_local_directory F +GLIBC_2.2.5 nis_local_group F +GLIBC_2.2.5 nis_local_host F +GLIBC_2.2.5 nis_local_principal F +GLIBC_2.2.5 nis_lookup F +GLIBC_2.2.5 nis_mkdir F +GLIBC_2.2.5 nis_modify F +GLIBC_2.2.5 nis_modify_entry F +GLIBC_2.2.5 nis_name_of F +GLIBC_2.2.5 nis_name_of_r F +GLIBC_2.2.5 nis_next_entry F +GLIBC_2.2.5 nis_perror F +GLIBC_2.2.5 nis_ping F +GLIBC_2.2.5 nis_print_directory F +GLIBC_2.2.5 nis_print_entry F +GLIBC_2.2.5 nis_print_group F +GLIBC_2.2.5 nis_print_group_entry F +GLIBC_2.2.5 nis_print_link F +GLIBC_2.2.5 nis_print_object F +GLIBC_2.2.5 nis_print_result F +GLIBC_2.2.5 nis_print_rights F +GLIBC_2.2.5 nis_print_table F +GLIBC_2.2.5 nis_read_obj F +GLIBC_2.2.5 nis_remove F +GLIBC_2.2.5 nis_remove_entry F +GLIBC_2.2.5 nis_removemember F +GLIBC_2.2.5 nis_rmdir F +GLIBC_2.2.5 nis_servstate F +GLIBC_2.2.5 nis_sperrno F +GLIBC_2.2.5 nis_sperror F +GLIBC_2.2.5 nis_sperror_r F +GLIBC_2.2.5 nis_stats F +GLIBC_2.2.5 nis_verifygroup F +GLIBC_2.2.5 nis_write_obj F +GLIBC_2.2.5 readColdStartFile F +GLIBC_2.2.5 writeColdStartFile F +GLIBC_2.2.5 xdr_cback_data F +GLIBC_2.2.5 xdr_domainname F +GLIBC_2.2.5 xdr_keydat F +GLIBC_2.2.5 xdr_mapname F +GLIBC_2.2.5 xdr_obj_p F +GLIBC_2.2.5 xdr_peername F +GLIBC_2.2.5 xdr_valdat F +GLIBC_2.2.5 xdr_yp_buf F +GLIBC_2.2.5 xdr_ypall F +GLIBC_2.2.5 xdr_ypbind_binding F +GLIBC_2.2.5 xdr_ypbind_resp F +GLIBC_2.2.5 xdr_ypbind_resptype F +GLIBC_2.2.5 xdr_ypbind_setdom F +GLIBC_2.2.5 xdr_ypdelete_args F +GLIBC_2.2.5 xdr_ypmap_parms F +GLIBC_2.2.5 xdr_ypmaplist F +GLIBC_2.2.5 xdr_yppush_status F +GLIBC_2.2.5 xdr_yppushresp_xfr F +GLIBC_2.2.5 xdr_ypreq_key F +GLIBC_2.2.5 xdr_ypreq_nokey F +GLIBC_2.2.5 xdr_ypreq_xfr F +GLIBC_2.2.5 xdr_ypresp_all F +GLIBC_2.2.5 xdr_ypresp_key_val F +GLIBC_2.2.5 xdr_ypresp_maplist F +GLIBC_2.2.5 xdr_ypresp_master F +GLIBC_2.2.5 xdr_ypresp_order F +GLIBC_2.2.5 xdr_ypresp_val F +GLIBC_2.2.5 xdr_ypresp_xfr F +GLIBC_2.2.5 xdr_ypstat F +GLIBC_2.2.5 xdr_ypupdate_args F +GLIBC_2.2.5 xdr_ypxfrstat F +GLIBC_2.2.5 yp_all F +GLIBC_2.2.5 yp_bind F +GLIBC_2.2.5 yp_first F +GLIBC_2.2.5 yp_get_default_domain F +GLIBC_2.2.5 yp_maplist F +GLIBC_2.2.5 yp_master F +GLIBC_2.2.5 yp_match F +GLIBC_2.2.5 yp_next F +GLIBC_2.2.5 yp_order F +GLIBC_2.2.5 yp_unbind F +GLIBC_2.2.5 yp_update F +GLIBC_2.2.5 ypbinderr_string F +GLIBC_2.2.5 yperr_string F +GLIBC_2.2.5 ypprot_err F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist new file mode 100644 index 0000000000..85365c057c --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -0,0 +1,244 @@ +GLIBC_2.11 GLIBC_2.11 A +GLIBC_2.11 pthread_sigqueue F +GLIBC_2.12 GLIBC_2.12 A +GLIBC_2.12 pthread_getname_np F +GLIBC_2.12 pthread_mutex_consistent F +GLIBC_2.12 pthread_mutexattr_getrobust F +GLIBC_2.12 pthread_mutexattr_setrobust F +GLIBC_2.12 pthread_setname_np F +GLIBC_2.18 GLIBC_2.18 A +GLIBC_2.18 pthread_getattr_default_np F +GLIBC_2.18 pthread_setattr_default_np F +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 _IO_flockfile F +GLIBC_2.2.5 _IO_ftrylockfile F +GLIBC_2.2.5 _IO_funlockfile F +GLIBC_2.2.5 __close F +GLIBC_2.2.5 __connect F +GLIBC_2.2.5 __errno_location F +GLIBC_2.2.5 __fcntl F +GLIBC_2.2.5 __fork F +GLIBC_2.2.5 __h_errno_location F +GLIBC_2.2.5 __libc_allocate_rtsig F +GLIBC_2.2.5 __libc_current_sigrtmax F +GLIBC_2.2.5 __libc_current_sigrtmin F +GLIBC_2.2.5 __lseek F +GLIBC_2.2.5 __open F +GLIBC_2.2.5 __open64 F +GLIBC_2.2.5 __pread64 F +GLIBC_2.2.5 __pthread_getspecific F +GLIBC_2.2.5 __pthread_key_create F +GLIBC_2.2.5 __pthread_mutex_destroy F +GLIBC_2.2.5 __pthread_mutex_init F +GLIBC_2.2.5 __pthread_mutex_lock F +GLIBC_2.2.5 __pthread_mutex_trylock F +GLIBC_2.2.5 __pthread_mutex_unlock F +GLIBC_2.2.5 __pthread_mutexattr_destroy F +GLIBC_2.2.5 __pthread_mutexattr_init F +GLIBC_2.2.5 __pthread_mutexattr_settype F +GLIBC_2.2.5 __pthread_once F +GLIBC_2.2.5 __pthread_rwlock_destroy F +GLIBC_2.2.5 __pthread_rwlock_init F +GLIBC_2.2.5 __pthread_rwlock_rdlock F +GLIBC_2.2.5 __pthread_rwlock_tryrdlock F +GLIBC_2.2.5 __pthread_rwlock_trywrlock F +GLIBC_2.2.5 __pthread_rwlock_unlock F +GLIBC_2.2.5 __pthread_rwlock_wrlock F +GLIBC_2.2.5 __pthread_setspecific F +GLIBC_2.2.5 __pwrite64 F +GLIBC_2.2.5 __read F +GLIBC_2.2.5 __res_state F +GLIBC_2.2.5 __send F +GLIBC_2.2.5 __sigaction F +GLIBC_2.2.5 __vfork F +GLIBC_2.2.5 __wait F +GLIBC_2.2.5 __write F +GLIBC_2.2.5 _pthread_cleanup_pop F +GLIBC_2.2.5 _pthread_cleanup_pop_restore F +GLIBC_2.2.5 _pthread_cleanup_push F +GLIBC_2.2.5 _pthread_cleanup_push_defer F +GLIBC_2.2.5 accept F +GLIBC_2.2.5 close F +GLIBC_2.2.5 connect F +GLIBC_2.2.5 fcntl F +GLIBC_2.2.5 flockfile F +GLIBC_2.2.5 fork F +GLIBC_2.2.5 fsync F +GLIBC_2.2.5 ftrylockfile F +GLIBC_2.2.5 funlockfile F +GLIBC_2.2.5 longjmp F +GLIBC_2.2.5 lseek F +GLIBC_2.2.5 lseek64 F +GLIBC_2.2.5 msync F +GLIBC_2.2.5 nanosleep F +GLIBC_2.2.5 open F +GLIBC_2.2.5 open64 F +GLIBC_2.2.5 pause F +GLIBC_2.2.5 pread F +GLIBC_2.2.5 pread64 F +GLIBC_2.2.5 pthread_atfork F +GLIBC_2.2.5 pthread_attr_destroy F +GLIBC_2.2.5 pthread_attr_getdetachstate F +GLIBC_2.2.5 pthread_attr_getguardsize F +GLIBC_2.2.5 pthread_attr_getinheritsched F +GLIBC_2.2.5 pthread_attr_getschedparam F +GLIBC_2.2.5 pthread_attr_getschedpolicy F +GLIBC_2.2.5 pthread_attr_getscope F +GLIBC_2.2.5 pthread_attr_getstack F +GLIBC_2.2.5 pthread_attr_getstackaddr F +GLIBC_2.2.5 pthread_attr_getstacksize F +GLIBC_2.2.5 pthread_attr_init F +GLIBC_2.2.5 pthread_attr_setdetachstate F +GLIBC_2.2.5 pthread_attr_setguardsize F +GLIBC_2.2.5 pthread_attr_setinheritsched F +GLIBC_2.2.5 pthread_attr_setschedparam F +GLIBC_2.2.5 pthread_attr_setschedpolicy F +GLIBC_2.2.5 pthread_attr_setscope F +GLIBC_2.2.5 pthread_attr_setstack F +GLIBC_2.2.5 pthread_attr_setstackaddr F +GLIBC_2.2.5 pthread_attr_setstacksize F +GLIBC_2.2.5 pthread_barrier_destroy F +GLIBC_2.2.5 pthread_barrier_init F +GLIBC_2.2.5 pthread_barrier_wait F +GLIBC_2.2.5 pthread_barrierattr_destroy F +GLIBC_2.2.5 pthread_barrierattr_init F +GLIBC_2.2.5 pthread_barrierattr_setpshared F +GLIBC_2.2.5 pthread_cancel F +GLIBC_2.2.5 pthread_cond_broadcast F +GLIBC_2.2.5 pthread_cond_destroy F +GLIBC_2.2.5 pthread_cond_init F +GLIBC_2.2.5 pthread_cond_signal F +GLIBC_2.2.5 pthread_cond_timedwait F +GLIBC_2.2.5 pthread_cond_wait F +GLIBC_2.2.5 pthread_condattr_destroy F +GLIBC_2.2.5 pthread_condattr_getpshared F +GLIBC_2.2.5 pthread_condattr_init F +GLIBC_2.2.5 pthread_condattr_setpshared F +GLIBC_2.2.5 pthread_create F +GLIBC_2.2.5 pthread_detach F +GLIBC_2.2.5 pthread_equal F +GLIBC_2.2.5 pthread_exit F +GLIBC_2.2.5 pthread_getattr_np F +GLIBC_2.2.5 pthread_getconcurrency F +GLIBC_2.2.5 pthread_getcpuclockid F +GLIBC_2.2.5 pthread_getschedparam F +GLIBC_2.2.5 pthread_getspecific F +GLIBC_2.2.5 pthread_join F +GLIBC_2.2.5 pthread_key_create F +GLIBC_2.2.5 pthread_key_delete F +GLIBC_2.2.5 pthread_kill F +GLIBC_2.2.5 pthread_kill_other_threads_np F +GLIBC_2.2.5 pthread_mutex_destroy F +GLIBC_2.2.5 pthread_mutex_init F +GLIBC_2.2.5 pthread_mutex_lock F +GLIBC_2.2.5 pthread_mutex_timedlock F +GLIBC_2.2.5 pthread_mutex_trylock F +GLIBC_2.2.5 pthread_mutex_unlock F +GLIBC_2.2.5 pthread_mutexattr_destroy F +GLIBC_2.2.5 pthread_mutexattr_getkind_np F +GLIBC_2.2.5 pthread_mutexattr_getpshared F +GLIBC_2.2.5 pthread_mutexattr_gettype F +GLIBC_2.2.5 pthread_mutexattr_init F +GLIBC_2.2.5 pthread_mutexattr_setkind_np F +GLIBC_2.2.5 pthread_mutexattr_setpshared F +GLIBC_2.2.5 pthread_mutexattr_settype F +GLIBC_2.2.5 pthread_once F +GLIBC_2.2.5 pthread_rwlock_destroy F +GLIBC_2.2.5 pthread_rwlock_init F +GLIBC_2.2.5 pthread_rwlock_rdlock F +GLIBC_2.2.5 pthread_rwlock_timedrdlock F +GLIBC_2.2.5 pthread_rwlock_timedwrlock F +GLIBC_2.2.5 pthread_rwlock_tryrdlock F +GLIBC_2.2.5 pthread_rwlock_trywrlock F +GLIBC_2.2.5 pthread_rwlock_unlock F +GLIBC_2.2.5 pthread_rwlock_wrlock F +GLIBC_2.2.5 pthread_rwlockattr_destroy F +GLIBC_2.2.5 pthread_rwlockattr_getkind_np F +GLIBC_2.2.5 pthread_rwlockattr_getpshared F +GLIBC_2.2.5 pthread_rwlockattr_init F +GLIBC_2.2.5 pthread_rwlockattr_setkind_np F +GLIBC_2.2.5 pthread_rwlockattr_setpshared F +GLIBC_2.2.5 pthread_self F +GLIBC_2.2.5 pthread_setcancelstate F +GLIBC_2.2.5 pthread_setcanceltype F +GLIBC_2.2.5 pthread_setconcurrency F +GLIBC_2.2.5 pthread_setschedparam F +GLIBC_2.2.5 pthread_setspecific F +GLIBC_2.2.5 pthread_sigmask F +GLIBC_2.2.5 pthread_spin_destroy F +GLIBC_2.2.5 pthread_spin_init F +GLIBC_2.2.5 pthread_spin_lock F +GLIBC_2.2.5 pthread_spin_trylock F +GLIBC_2.2.5 pthread_spin_unlock F +GLIBC_2.2.5 pthread_testcancel F +GLIBC_2.2.5 pthread_yield F +GLIBC_2.2.5 pwrite F +GLIBC_2.2.5 pwrite64 F +GLIBC_2.2.5 raise F +GLIBC_2.2.5 read F +GLIBC_2.2.5 recv F +GLIBC_2.2.5 recvfrom F +GLIBC_2.2.5 recvmsg F +GLIBC_2.2.5 sem_close F +GLIBC_2.2.5 sem_destroy F +GLIBC_2.2.5 sem_getvalue F +GLIBC_2.2.5 sem_init F +GLIBC_2.2.5 sem_open F +GLIBC_2.2.5 sem_post F +GLIBC_2.2.5 sem_timedwait F +GLIBC_2.2.5 sem_trywait F +GLIBC_2.2.5 sem_unlink F +GLIBC_2.2.5 sem_wait F +GLIBC_2.2.5 send F +GLIBC_2.2.5 sendmsg F +GLIBC_2.2.5 sendto F +GLIBC_2.2.5 sigaction F +GLIBC_2.2.5 siglongjmp F +GLIBC_2.2.5 sigwait F +GLIBC_2.2.5 system F +GLIBC_2.2.5 tcdrain F +GLIBC_2.2.5 vfork F +GLIBC_2.2.5 wait F +GLIBC_2.2.5 waitpid F +GLIBC_2.2.5 write F +GLIBC_2.2.6 GLIBC_2.2.6 A +GLIBC_2.2.6 __nanosleep F +GLIBC_2.3.2 GLIBC_2.3.2 A +GLIBC_2.3.2 pthread_cond_broadcast F +GLIBC_2.3.2 pthread_cond_destroy F +GLIBC_2.3.2 pthread_cond_init F +GLIBC_2.3.2 pthread_cond_signal F +GLIBC_2.3.2 pthread_cond_timedwait F +GLIBC_2.3.2 pthread_cond_wait F +GLIBC_2.3.3 GLIBC_2.3.3 A +GLIBC_2.3.3 __pthread_cleanup_routine F +GLIBC_2.3.3 __pthread_register_cancel F +GLIBC_2.3.3 __pthread_register_cancel_defer F +GLIBC_2.3.3 __pthread_unregister_cancel F +GLIBC_2.3.3 __pthread_unregister_cancel_restore F +GLIBC_2.3.3 __pthread_unwind_next F +GLIBC_2.3.3 pthread_attr_getaffinity_np F +GLIBC_2.3.3 pthread_attr_setaffinity_np F +GLIBC_2.3.3 pthread_barrierattr_getpshared F +GLIBC_2.3.3 pthread_condattr_getclock F +GLIBC_2.3.3 pthread_condattr_setclock F +GLIBC_2.3.3 pthread_getaffinity_np F +GLIBC_2.3.3 pthread_setaffinity_np F +GLIBC_2.3.3 pthread_timedjoin_np F +GLIBC_2.3.3 pthread_tryjoin_np F +GLIBC_2.3.4 GLIBC_2.3.4 A +GLIBC_2.3.4 pthread_attr_getaffinity_np F +GLIBC_2.3.4 pthread_attr_setaffinity_np F +GLIBC_2.3.4 pthread_getaffinity_np F +GLIBC_2.3.4 pthread_setaffinity_np F +GLIBC_2.3.4 pthread_setschedprio F +GLIBC_2.4 GLIBC_2.4 A +GLIBC_2.4 pthread_mutex_consistent_np F +GLIBC_2.4 pthread_mutex_getprioceiling F +GLIBC_2.4 pthread_mutex_setprioceiling F +GLIBC_2.4 pthread_mutexattr_getprioceiling F +GLIBC_2.4 pthread_mutexattr_getprotocol F +GLIBC_2.4 pthread_mutexattr_getrobust_np F +GLIBC_2.4 pthread_mutexattr_setprioceiling F +GLIBC_2.4 pthread_mutexattr_setprotocol F +GLIBC_2.4 pthread_mutexattr_setrobust_np F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist new file mode 100644 index 0000000000..a111ccc488 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libresolv.abilist @@ -0,0 +1,94 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 __b64_ntop F +GLIBC_2.2.5 __b64_pton F +GLIBC_2.2.5 __dn_comp F +GLIBC_2.2.5 __dn_count_labels F +GLIBC_2.2.5 __dn_expand F +GLIBC_2.2.5 __dn_skipname F +GLIBC_2.2.5 __fp_nquery F +GLIBC_2.2.5 __fp_query F +GLIBC_2.2.5 __fp_resstat F +GLIBC_2.2.5 __hostalias F +GLIBC_2.2.5 __loc_aton F +GLIBC_2.2.5 __loc_ntoa F +GLIBC_2.2.5 __p_cdname F +GLIBC_2.2.5 __p_cdnname F +GLIBC_2.2.5 __p_class F +GLIBC_2.2.5 __p_class_syms D 0xa8 +GLIBC_2.2.5 __p_fqname F +GLIBC_2.2.5 __p_fqnname F +GLIBC_2.2.5 __p_option F +GLIBC_2.2.5 __p_query F +GLIBC_2.2.5 __p_secstodate F +GLIBC_2.2.5 __p_time F +GLIBC_2.2.5 __p_type F +GLIBC_2.2.5 __p_type_syms D 0x450 +GLIBC_2.2.5 __putlong F +GLIBC_2.2.5 __putshort F +GLIBC_2.2.5 __res_close F +GLIBC_2.2.5 __res_dnok F +GLIBC_2.2.5 __res_hnok F +GLIBC_2.2.5 __res_hostalias F +GLIBC_2.2.5 __res_isourserver F +GLIBC_2.2.5 __res_mailok F +GLIBC_2.2.5 __res_mkquery F +GLIBC_2.2.5 __res_nameinquery F +GLIBC_2.2.5 __res_nmkquery F +GLIBC_2.2.5 __res_nquery F +GLIBC_2.2.5 __res_nquerydomain F +GLIBC_2.2.5 __res_nsearch F +GLIBC_2.2.5 __res_nsend F +GLIBC_2.2.5 __res_ownok F +GLIBC_2.2.5 __res_queriesmatch F +GLIBC_2.2.5 __res_query F +GLIBC_2.2.5 __res_querydomain F +GLIBC_2.2.5 __res_search F +GLIBC_2.2.5 __res_send F +GLIBC_2.2.5 __sym_ntop F +GLIBC_2.2.5 __sym_ntos F +GLIBC_2.2.5 __sym_ston F +GLIBC_2.2.5 _gethtbyaddr F +GLIBC_2.2.5 _gethtbyname F +GLIBC_2.2.5 _gethtbyname2 F +GLIBC_2.2.5 _gethtent F +GLIBC_2.2.5 _getlong F +GLIBC_2.2.5 _getshort F +GLIBC_2.2.5 _res_opcodes D 0x80 +GLIBC_2.2.5 _sethtent F +GLIBC_2.2.5 inet_net_ntop F +GLIBC_2.2.5 inet_net_pton F +GLIBC_2.2.5 inet_neta F +GLIBC_2.2.5 res_gethostbyaddr F +GLIBC_2.2.5 res_gethostbyname F +GLIBC_2.2.5 res_gethostbyname2 F +GLIBC_2.2.5 res_send_setqhook F +GLIBC_2.2.5 res_send_setrhook F +GLIBC_2.3.2 GLIBC_2.3.2 A +GLIBC_2.3.2 __p_rcode F +GLIBC_2.9 GLIBC_2.9 A +GLIBC_2.9 ns_datetosecs F +GLIBC_2.9 ns_format_ttl F +GLIBC_2.9 ns_get16 F +GLIBC_2.9 ns_get32 F +GLIBC_2.9 ns_initparse F +GLIBC_2.9 ns_makecanon F +GLIBC_2.9 ns_msg_getflag F +GLIBC_2.9 ns_name_compress F +GLIBC_2.9 ns_name_ntol F +GLIBC_2.9 ns_name_ntop F +GLIBC_2.9 ns_name_pack F +GLIBC_2.9 ns_name_pton F +GLIBC_2.9 ns_name_rollback F +GLIBC_2.9 ns_name_skip F +GLIBC_2.9 ns_name_uncompress F +GLIBC_2.9 ns_name_unpack F +GLIBC_2.9 ns_parse_ttl F +GLIBC_2.9 ns_parserr F +GLIBC_2.9 ns_put16 F +GLIBC_2.9 ns_put32 F +GLIBC_2.9 ns_samedomain F +GLIBC_2.9 ns_samename F +GLIBC_2.9 ns_skiprr F +GLIBC_2.9 ns_sprintrr F +GLIBC_2.9 ns_sprintrrf F +GLIBC_2.9 ns_subdomain F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist new file mode 100644 index 0000000000..d626758434 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist @@ -0,0 +1,52 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 aio_cancel F +GLIBC_2.2.5 aio_cancel64 F +GLIBC_2.2.5 aio_error F +GLIBC_2.2.5 aio_error64 F +GLIBC_2.2.5 aio_fsync F +GLIBC_2.2.5 aio_fsync64 F +GLIBC_2.2.5 aio_init F +GLIBC_2.2.5 aio_read F +GLIBC_2.2.5 aio_read64 F +GLIBC_2.2.5 aio_return F +GLIBC_2.2.5 aio_return64 F +GLIBC_2.2.5 aio_suspend F +GLIBC_2.2.5 aio_suspend64 F +GLIBC_2.2.5 aio_write F +GLIBC_2.2.5 aio_write64 F +GLIBC_2.2.5 clock_getcpuclockid F +GLIBC_2.2.5 clock_getres F +GLIBC_2.2.5 clock_gettime F +GLIBC_2.2.5 clock_nanosleep F +GLIBC_2.2.5 clock_settime F +GLIBC_2.2.5 lio_listio F +GLIBC_2.2.5 lio_listio64 F +GLIBC_2.2.5 shm_open F +GLIBC_2.2.5 shm_unlink F +GLIBC_2.2.5 timer_create F +GLIBC_2.2.5 timer_delete F +GLIBC_2.2.5 timer_getoverrun F +GLIBC_2.2.5 timer_gettime F +GLIBC_2.2.5 timer_settime F +GLIBC_2.3.3 GLIBC_2.3.3 A +GLIBC_2.3.3 timer_create F +GLIBC_2.3.3 timer_delete F +GLIBC_2.3.3 timer_getoverrun F +GLIBC_2.3.3 timer_gettime F +GLIBC_2.3.3 timer_settime F +GLIBC_2.3.4 GLIBC_2.3.4 A +GLIBC_2.3.4 mq_close F +GLIBC_2.3.4 mq_getattr F +GLIBC_2.3.4 mq_notify F +GLIBC_2.3.4 mq_open F +GLIBC_2.3.4 mq_receive F +GLIBC_2.3.4 mq_send F +GLIBC_2.3.4 mq_setattr F +GLIBC_2.3.4 mq_timedreceive F +GLIBC_2.3.4 mq_timedsend F +GLIBC_2.3.4 mq_unlink F +GLIBC_2.4 GLIBC_2.4 A +GLIBC_2.4 lio_listio F +GLIBC_2.4 lio_listio64 F +GLIBC_2.7 GLIBC_2.7 A +GLIBC_2.7 __mq_open_2 F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist new file mode 100644 index 0000000000..291a19132d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libthread_db.abilist @@ -0,0 +1,43 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 td_init F +GLIBC_2.2.5 td_log F +GLIBC_2.2.5 td_symbol_list F +GLIBC_2.2.5 td_ta_clear_event F +GLIBC_2.2.5 td_ta_delete F +GLIBC_2.2.5 td_ta_enable_stats F +GLIBC_2.2.5 td_ta_event_addr F +GLIBC_2.2.5 td_ta_event_getmsg F +GLIBC_2.2.5 td_ta_get_nthreads F +GLIBC_2.2.5 td_ta_get_ph F +GLIBC_2.2.5 td_ta_get_stats F +GLIBC_2.2.5 td_ta_map_id2thr F +GLIBC_2.2.5 td_ta_map_lwp2thr F +GLIBC_2.2.5 td_ta_new F +GLIBC_2.2.5 td_ta_reset_stats F +GLIBC_2.2.5 td_ta_set_event F +GLIBC_2.2.5 td_ta_setconcurrency F +GLIBC_2.2.5 td_ta_thr_iter F +GLIBC_2.2.5 td_ta_tsd_iter F +GLIBC_2.2.5 td_thr_clear_event F +GLIBC_2.2.5 td_thr_dbresume F +GLIBC_2.2.5 td_thr_dbsuspend F +GLIBC_2.2.5 td_thr_event_enable F +GLIBC_2.2.5 td_thr_event_getmsg F +GLIBC_2.2.5 td_thr_get_info F +GLIBC_2.2.5 td_thr_getfpregs F +GLIBC_2.2.5 td_thr_getgregs F +GLIBC_2.2.5 td_thr_getxregs F +GLIBC_2.2.5 td_thr_getxregsize F +GLIBC_2.2.5 td_thr_set_event F +GLIBC_2.2.5 td_thr_setfpregs F +GLIBC_2.2.5 td_thr_setgregs F +GLIBC_2.2.5 td_thr_setprio F +GLIBC_2.2.5 td_thr_setsigpending F +GLIBC_2.2.5 td_thr_setxregs F +GLIBC_2.2.5 td_thr_sigsetmask F +GLIBC_2.2.5 td_thr_tsd F +GLIBC_2.2.5 td_thr_validate F +GLIBC_2.3 GLIBC_2.3 A +GLIBC_2.3 td_thr_tls_get_addr F +GLIBC_2.3.3 GLIBC_2.3.3 A +GLIBC_2.3.3 td_thr_tlsbase F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist new file mode 100644 index 0000000000..98d06aa9f6 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/libutil.abilist @@ -0,0 +1,7 @@ +GLIBC_2.2.5 GLIBC_2.2.5 A +GLIBC_2.2.5 forkpty F +GLIBC_2.2.5 login F +GLIBC_2.2.5 login_tty F +GLIBC_2.2.5 logout F +GLIBC_2.2.5 logwtmp F +GLIBC_2.2.5 openpty F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h new file mode 100644 index 0000000000..06254efb94 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/mmap_internal.h @@ -0,0 +1,42 @@ +/* Linux mmap system call. x86-64 version. + Copyright (C) 2015-2017 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef MMAP_X86_64_INTERNAL_H +#define MMAP_X86_64_INTERNAL_H + +#include <ldsodefs.h> + +/* If the Prefer_MAP_32BIT_EXEC bit is set, try to map executable pages + with MAP_32BIT first. */ +#define MMAP_PREPARE(addr, len, prot, flags, fd, offset) \ + if ((addr) == NULL \ + && ((prot) & PROT_EXEC) != 0 \ + && HAS_ARCH_FEATURE (Prefer_MAP_32BIT_EXEC)) \ + { \ + void *ret = (void*) INLINE_SYSCALL_CALL (mmap, (addr), (len), \ + (prot), \ + (flags) | MAP_32BIT, \ + (fd), (offset)); \ + if (ret != MAP_FAILED) \ + return ret; \ + } + +#include_next <mmap_internal.h> + +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions new file mode 100644 index 0000000000..7f87a8bd17 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/64/shlib-versions @@ -0,0 +1,4 @@ +# DEFAULT Earliest symbol set +# --------------- ------------------------------ +DEFAULT GLIBC_2.2.5 +ld=ld-linux-x86-64.so.2 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies new file mode 100644 index 0000000000..c9be3c4711 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Implies @@ -0,0 +1,3 @@ +unix/sysv/linux/x86 +unix/sysv/linux/wordsize-64 +x86_64/nptl diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile new file mode 100644 index 0000000000..9b82155393 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Makefile @@ -0,0 +1,15 @@ +ifeq ($(subdir),misc) +sysdep_routines += ioperm iopl +endif + +ifeq ($(subdir),stdlib) +sysdep_routines += __start_context +endif + +ifeq ($(subdir),csu) +gen-as-const-headers += ucontext_i.sym +endif + +ifeq ($(subdir),misc) +gen-as-const-headers += sigaltstack-offsets.sym +endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions new file mode 100644 index 0000000000..2a7ed280fd --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/Versions @@ -0,0 +1,17 @@ +libc { + GLIBC_2.2.5 { + arch_prctl; __arch_prctl; + + ioperm; iopl; + + modify_ldt; + } +} + +librt { + GLIBC_2.3.3 { + # Changed timer_t. + timer_create; timer_delete; timer_getoverrun; timer_gettime; + timer_settime; + } +} diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S new file mode 100644 index 0000000000..2955c56a56 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S @@ -0,0 +1,131 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <jmpbuf-offsets.h> +#include <asm-syntax.h> +#include <stap-probe.h> + +#include <sigaltstack-offsets.h> + + .section .rodata.str1.1,"aMS",@progbits,1 + .type longjmp_msg,@object +longjmp_msg: + .string "longjmp causes uninitialized stack frame" + .size longjmp_msg, .-longjmp_msg + + +//#define __longjmp ____longjmp_chk + +#ifdef PIC +# define CALL_FAIL sub $8, %RSP_LP; \ + cfi_remember_state; \ + cfi_def_cfa_offset(16); \ + lea longjmp_msg(%rip), %RDI_LP; \ + call HIDDEN_JUMPTARGET(__fortify_fail); \ + nop; \ + cfi_restore_state +#else +# define CALL_FAIL sub $8, %RSP_LP; \ + cfi_remember_state; \ + cfi_def_cfa_offset(16); \ + mov $longjmp_msg, %RDI_LP; \ + call HIDDEN_JUMPTARGET(__fortify_fail); \ + nop; \ + cfi_restore_state +#endif + +/* Jump to the position specified by ENV, causing the + setjmp call there to return VAL, or 1 if VAL is 0. + void __longjmp (__jmp_buf env, int val). */ + .text +ENTRY(____longjmp_chk) + /* Restore registers. */ + mov (JB_RSP*8)(%rdi), %R8_LP + mov (JB_RBP*8)(%rdi),%R9_LP + mov (JB_PC*8)(%rdi), %RDX_LP +#ifdef PTR_DEMANGLE + PTR_DEMANGLE (%R8_LP) + PTR_DEMANGLE (%R9_LP) + PTR_DEMANGLE (%RDX_LP) +# ifdef __ILP32__ + /* We ignored the high bits of the %rbp value because only the low + bits are mangled. But we cannot presume that %rbp is being used + as a pointer and truncate it, so recover the high bits. */ + movl (JB_RBP*8 + 4)(%rdi), %eax + shlq $32, %rax + orq %rax, %r9 +# endif +#endif + + cmp %R8_LP, %RSP_LP + jbe .Lok + + /* Save function parameters. */ + movq %rdi, %r10 + cfi_register (%rdi, %r10) + movl %esi, %ebx + cfi_register (%rsi, %rbx) + + xorl %edi, %edi + lea -sizeSS(%rsp), %RSI_LP + movl $__NR_sigaltstack, %eax + syscall + /* Without working sigaltstack we cannot perform the test. */ + testl %eax, %eax + jne .Lok2 + testl $1, (-sizeSS + oSS_FLAGS)(%rsp) + jz .Lfail + + mov (-sizeSS + oSS_SP)(%rsp), %RAX_LP + add (-sizeSS + oSS_SIZE)(%rsp), %RAX_LP + sub %R8_LP, %RAX_LP + cmp (-sizeSS + oSS_SIZE)(%rsp), %RAX_LP + jae .Lok2 + +.Lfail: CALL_FAIL + +.Lok2: movq %r10, %rdi + cfi_restore (%rdi) + movl %ebx, %esi + cfi_restore (%rsi) + +.Lok: + LIBC_PROBE (longjmp, 3, LP_SIZE@%RDI_LP, -4@%esi, LP_SIZE@%RDX_LP) + /* We add unwind information for the target here. */ + cfi_def_cfa(%rdi, 0) + cfi_register(%rsp,%r8) + cfi_register(%rbp,%r9) + cfi_register(%rip,%rdx) + cfi_offset(%rbx,JB_RBX*8) + cfi_offset(%r12,JB_R12*8) + cfi_offset(%r13,JB_R13*8) + cfi_offset(%r14,JB_R14*8) + cfi_offset(%r15,JB_R15*8) + movq (JB_RBX*8)(%rdi), %rbx + movq (JB_R12*8)(%rdi), %r12 + movq (JB_R13*8)(%rdi), %r13 + movq (JB_R14*8)(%rdi), %r14 + movq (JB_R15*8)(%rdi), %r15 + /* Set return value for setjmp. */ + movl %esi, %eax + mov %R8_LP, %RSP_LP + movq %r9,%rbp + LIBC_PROBE (longjmp_target, 3, + LP_SIZE@%RDI_LP, -4@%eax, LP_SIZE@%RDX_LP) + jmpq *%rdx +END (____longjmp_chk) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S new file mode 100644 index 0000000000..d05ddc6a01 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/__start_context.S @@ -0,0 +1,49 @@ +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Andreas Jaeger <aj@suse.de>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +/* This is the helper code which gets called if a function which is + registered with 'makecontext' returns. In this case we have to + install the context listed in the uc_link element of the context + 'makecontext' manipulated at the time of the 'makecontext' call. + If the pointer is NULL the process must terminate. */ + + +ENTRY(__start_context) + /* This removes the parameters passed to the function given to + 'makecontext' from the stack. RBX contains the address + on the stack pointer for the next context. */ + movq %rbx, %rsp + + /* Don't use pop here so that stack is aligned to 16 bytes. */ + movq (%rsp), %rdi /* This is the next context. */ + testq %rdi, %rdi + je 2f /* If it is zero exit. */ + + call __setcontext + /* If this returns (which can happen if the syscall fails) we'll + exit the program with the return error value (-1). */ + movq %rax,%rdi + +2: + call HIDDEN_JUMPTARGET(exit) + /* The 'exit' call should never return. In case it does cause + the process to terminate. */ + hlt +END(__start_context) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h new file mode 100644 index 0000000000..29afc00583 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/arch-fork.h @@ -0,0 +1,27 @@ +/* Internal definitions for thread-friendly fork implementation. Linux/x86_64. + Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sched.h> +#include <sysdep.h> +#include <tls.h> + +#define ARCH_FORK() \ + INLINE_SYSCALL (clone, 4, \ + CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0, \ + NULL, &THREAD_SELF->tid) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c new file mode 100644 index 0000000000..7f6ae7a95d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/brk.c @@ -0,0 +1,41 @@ +/* brk system call for Linux/x86_64. + Copyright (C) 1995-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <unistd.h> +#include <sysdep.h> + +/* This must be initialized data because commons can't have aliases. */ +void *__curbrk = 0; + +int +__brk (void *addr) +{ + void *newbrk; + + __curbrk = newbrk = (void *) INLINE_SYSCALL (brk, 1, addr); + + if (newbrk < addr) + { + __set_errno (ENOMEM); + return -1; + } + + return 0; +} +weak_alias (__brk, brk) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S new file mode 100644 index 0000000000..ed804df138 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/cancellation.S @@ -0,0 +1,115 @@ +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2009. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <tcb-offsets.h> +#include <kernel-features.h> +#include "lowlevellock.h" + +#define PTHREAD_UNWIND JUMPTARGET(__pthread_unwind) +#if IS_IN (libpthread) +# if defined SHARED && !defined NO_HIDDEN +# undef PTHREAD_UNWIND +# define PTHREAD_UNWIND __GI___pthread_unwind +# endif +#else +# ifndef SHARED + .weak __pthread_unwind +# endif +#endif + + +#ifdef __ASSUME_PRIVATE_FUTEX +# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ + movl $(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg +#else +# if FUTEX_WAIT == 0 +# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ + movl %fs:PRIVATE_FUTEX, reg +# else +# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ + movl %fs:PRIVATE_FUTEX, reg ; \ + orl $FUTEX_WAIT, reg +# endif +#endif + +/* It is crucial that the functions in this file don't modify registers + other than %rax and %r11. The syscall wrapper code depends on this + because it doesn't explicitly save the other registers which hold + relevant values. */ + .text + + .hidden __pthread_enable_asynccancel +ENTRY(__pthread_enable_asynccancel) + movl %fs:CANCELHANDLING, %eax +2: movl %eax, %r11d + orl $TCB_CANCELTYPE_BITMASK, %r11d + cmpl %eax, %r11d + je 1f + + lock + cmpxchgl %r11d, %fs:CANCELHANDLING + jnz 2b + + andl $(TCB_CANCELSTATE_BITMASK|TCB_CANCELTYPE_BITMASK|TCB_CANCELED_BITMASK|TCB_EXITING_BITMASK|TCB_CANCEL_RESTMASK|TCB_TERMINATED_BITMASK), %r11d + cmpl $(TCB_CANCELTYPE_BITMASK|TCB_CANCELED_BITMASK), %r11d + je 3f + +1: ret + +3: subq $8, %rsp + cfi_adjust_cfa_offset(8) + LP_OP(mov) $TCB_PTHREAD_CANCELED, %fs:RESULT + lock + orl $TCB_EXITING_BITMASK, %fs:CANCELHANDLING + mov %fs:CLEANUP_JMP_BUF, %RDI_LP + call PTHREAD_UNWIND + hlt +END(__pthread_enable_asynccancel) + + + .hidden __pthread_disable_asynccancel +ENTRY(__pthread_disable_asynccancel) + testl $TCB_CANCELTYPE_BITMASK, %edi + jnz 1f + + movl %fs:CANCELHANDLING, %eax +2: movl %eax, %r11d + andl $~TCB_CANCELTYPE_BITMASK, %r11d + lock + cmpxchgl %r11d, %fs:CANCELHANDLING + jnz 2b + + movl %r11d, %eax +3: andl $(TCB_CANCELING_BITMASK|TCB_CANCELED_BITMASK), %eax + cmpl $TCB_CANCELING_BITMASK, %eax + je 4f +1: ret + + /* Performance doesn't matter in this loop. We will + delay until the thread is canceled. And we will unlikely + enter the loop twice. */ +4: mov %fs:0, %RDI_LP + movl $__NR_futex, %eax + xorq %r10, %r10 + addq $CANCELHANDLING, %rdi + LOAD_PRIVATE_FUTEX_WAIT (%esi) + syscall + movl %fs:CANCELHANDLING, %eax + jmp 3b +END(__pthread_disable_asynccancel) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S new file mode 100644 index 0000000000..d5c2d07885 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/clone.S @@ -0,0 +1,107 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* clone() is even more special than fork() as it mucks with stacks + and invokes a function in the right context after its all over. */ + +#include <sysdep.h> +#define _ERRNO_H 1 +#include <bits/errno.h> +#include <asm-syntax.h> + +#define CLONE_VM 0x00000100 + +/* The userland implementation is: + int clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg), + the kernel entry is: + int clone (long flags, void *child_stack). + + The parameters are passed in register and on the stack from userland: + rdi: fn + rsi: child_stack + rdx: flags + rcx: arg + r8d: TID field in parent + r9d: thread pointer +%esp+8: TID field in child + + The kernel expects: + rax: system call number + rdi: flags + rsi: child_stack + rdx: TID field in parent + r10: TID field in child + r8: thread pointer */ + + + .text +ENTRY (__clone) + /* Sanity check arguments. */ + movq $-EINVAL,%rax + testq %rdi,%rdi /* no NULL function pointers */ + jz SYSCALL_ERROR_LABEL + testq %rsi,%rsi /* no NULL stack pointers */ + jz SYSCALL_ERROR_LABEL + + /* Insert the argument onto the new stack. */ + subq $16,%rsi + movq %rcx,8(%rsi) + + /* Save the function pointer. It will be popped off in the + child in the ebx frobbing below. */ + movq %rdi,0(%rsi) + + /* Do the system call. */ + movq %rdx, %rdi + movq %r8, %rdx + movq %r9, %r8 + mov 8(%rsp), %R10_LP + movl $SYS_ify(clone),%eax + + /* End FDE now, because in the child the unwind info will be + wrong. */ + cfi_endproc; + syscall + + testq %rax,%rax + jl SYSCALL_ERROR_LABEL + jz L(thread_start) + + ret + +L(thread_start): + cfi_startproc; + /* Clearing frame pointer is insufficient, use CFI. */ + cfi_undefined (rip); + /* Clear the frame pointer. The ABI suggests this be done, to mark + the outermost frame obviously. */ + xorl %ebp, %ebp + + /* Set up arguments for the function call. */ + popq %rax /* Function to call. */ + popq %rdi /* Argument. */ + call *%rax + /* Call exit with return value from function call. */ + movq %rax, %rdi + call HIDDEN_JUMPTARGET (_exit) + cfi_endproc; + + cfi_startproc; +PSEUDO_END (__clone) + +libc_hidden_def (__clone) +weak_alias (__clone, clone) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h new file mode 100644 index 0000000000..f5d5380a00 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/compat-timer.h @@ -0,0 +1,45 @@ +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see <http://www.gnu.org/licenses/>. */ + +#include <signal.h> +#include <time.h> +#include <sys/types.h> + +#define OLD_TIMER_MAX 256 + +extern timer_t __compat_timer_list[OLD_TIMER_MAX] attribute_hidden; + + +extern int __timer_create_new (clockid_t clock_id, struct sigevent *evp, + timer_t *timerid); +extern int __timer_delete_new (timer_t timerid); +extern int __timer_getoverrun_new (timer_t timerid); +extern int __timer_gettime_new (timer_t timerid, struct itimerspec *value); +extern int __timer_settime_new (timer_t timerid, int flags, + const struct itimerspec *value, + struct itimerspec *ovalue); + + +extern int __timer_create_old (clockid_t clock_id, struct sigevent *evp, + int *timerid); +extern int __timer_delete_old (int timerid); +extern int __timer_getoverrun_old (int timerid); +extern int __timer_gettime_old (int timerid, struct itimerspec *value); +extern int __timer_settime_old (int timerid, int flags, + const struct itimerspec *value, + struct itimerspec *ovalue); diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure new file mode 100644 index 0000000000..cb904876ab --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure @@ -0,0 +1,4 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/unix/sysv/linux/x86_64. + +ldd_rewrite_script=sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure.ac new file mode 100644 index 0000000000..4a34e9458a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/configure.ac @@ -0,0 +1,4 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/unix/sysv/linux/x86_64. + +ldd_rewrite_script=sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h new file mode 100644 index 0000000000..fd61441245 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-cache.h @@ -0,0 +1,51 @@ +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. + Copyright (C) 1999-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define _DL_CACHE_DEFAULT_ID 0x303 + +#define _dl_cache_check_flags(flags) \ + ((flags) == _DL_CACHE_DEFAULT_ID) + +#define add_system_dir(dir) \ + do \ + { \ + size_t len = strlen (dir); \ + char path[len + 4]; \ + memcpy (path, dir, len + 1); \ + if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6)) \ + { \ + len -= 2; \ + path[len] = '\0'; \ + } \ + else if (len >= 7 \ + && ! memcmp (path + len - 7, "/libx32", 7)) \ + { \ + len -= 3; \ + path[len] = '\0'; \ + } \ + add_dir (path); \ + if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4)) \ + { \ + memcpy (path + len, "64", 3); \ + add_dir (path); \ + memcpy (path + len, "x32", 4); \ + add_dir (path); \ + } \ + } while (0) + +#include <sysdeps/generic/dl-cache.h> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c new file mode 100644 index 0000000000..a3c0c1931e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.c @@ -0,0 +1,5 @@ +#if IS_IN (ldconfig) +# include <sysdeps/i386/dl-procinfo.c> +#else +# include <sysdeps/x86_64/dl-procinfo.c> +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h new file mode 100644 index 0000000000..7b45fe4bf8 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/dl-procinfo.h @@ -0,0 +1,5 @@ +#if IS_IN (ldconfig) +# include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h> +#else +# include <sysdeps/x86/dl-procinfo.h> +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c new file mode 100644 index 0000000000..a58d40a9c1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/get_clockfreq.c @@ -0,0 +1 @@ +#include "../i386/get_clockfreq.c" diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S new file mode 100644 index 0000000000..fed47d0f5d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/getcontext.S @@ -0,0 +1,87 @@ +/* Save current context. + Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Andreas Jaeger <aj@suse.de>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +#include "ucontext_i.h" + +/* int __getcontext (ucontext_t *ucp) + + Saves the machine context in UCP such that when it is activated, + it appears as if __getcontext() returned again. + + This implementation is intended to be used for *synchronous* context + switches only. Therefore, it does not have to save anything + other than the PRESERVED state. */ + + +ENTRY(__getcontext) + /* Save the preserved registers, the registers used for passing + args, and the return address. */ + movq %rbx, oRBX(%rdi) + movq %rbp, oRBP(%rdi) + movq %r12, oR12(%rdi) + movq %r13, oR13(%rdi) + movq %r14, oR14(%rdi) + movq %r15, oR15(%rdi) + + movq %rdi, oRDI(%rdi) + movq %rsi, oRSI(%rdi) + movq %rdx, oRDX(%rdi) + movq %rcx, oRCX(%rdi) + movq %r8, oR8(%rdi) + movq %r9, oR9(%rdi) + + movq (%rsp), %rcx + movq %rcx, oRIP(%rdi) + leaq 8(%rsp), %rcx /* Exclude the return address. */ + movq %rcx, oRSP(%rdi) + + /* We have separate floating-point register content memory on the + stack. We use the __fpregs_mem block in the context. Set the + links up correctly. */ + + leaq oFPREGSMEM(%rdi), %rcx + movq %rcx, oFPREGS(%rdi) + /* Save the floating-point environment. */ + fnstenv (%rcx) + fldenv (%rcx) + stmxcsr oMXCSR(%rdi) + + /* Save the current signal mask with + rt_sigprocmask (SIG_BLOCK, NULL, set,_NSIG/8). */ + leaq oSIGMASK(%rdi), %rdx + xorl %esi,%esi +#if SIG_BLOCK == 0 + xorl %edi, %edi +#else + movl $SIG_BLOCK, %edi +#endif + movl $_NSIG8,%r10d + movl $__NR_rt_sigprocmask, %eax + syscall + cmpq $-4095, %rax /* Check %rax for error. */ + jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ + + /* All done, return 0 for success. */ + xorl %eax, %eax + ret +PSEUDO_END(__getcontext) + +weak_alias (__getcontext, getcontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c new file mode 100644 index 0000000000..f1c46cb5bc --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/init-first.c @@ -0,0 +1,52 @@ +/* Initialization code run first thing by the ELF startup code. Linux/x86-64. + Copyright (C) 2007-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifdef SHARED +# include <time.h> +# include <sysdep.h> +# include <dl-vdso.h> +# include <libc-vdso.h> + +long int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *) + attribute_hidden; +long int (*VDSO_SYMBOL(getcpu)) (unsigned *, unsigned *, void *) + attribute_hidden; + +extern long int __syscall_clock_gettime (clockid_t, struct timespec *); + + +static inline void +__vdso_platform_setup (void) +{ + PREPARE_VERSION (linux26, "LINUX_2.6", 61765110); + + void *p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26); + if (p == NULL) + p = __syscall_clock_gettime; + PTR_MANGLE (p); + VDSO_SYMBOL(clock_gettime) = p; + + p = _dl_vdso_vsym ("__vdso_getcpu", &linux26); + PTR_MANGLE (p); + VDSO_SYMBOL(getcpu) = p; +} + +# define VDSO_SETUP __vdso_platform_setup +#endif + +#include <csu/init-first.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h new file mode 100644 index 0000000000..6de3cd6fc2 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ipc_priv.h @@ -0,0 +1,32 @@ +/* Old SysV permission definition for Linux. x86_64 version. + Copyright (C) 2016-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sys/ipc.h> /* For __key_t */ + +#define __IPC_64 0x0 + +struct __old_ipc_perm +{ + __key_t __key; /* Key. */ + unsigned short uid; /* Owner's user ID. */ + unsigned short gid; /* Owner's group ID. */ + unsigned short cuid; /* Creator's user ID. */ + unsigned short cgid; /* Creator's group ID. */ + unsigned short mode; /* Read/write permission. */ + unsigned short int __seq; /* Sequence number. */ +}; diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h new file mode 100644 index 0000000000..115e34c090 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel-features.h @@ -0,0 +1,26 @@ +/* Set flags signalling availability of kernel features based on given + kernel version number. x86-64 version. + Copyright (C) 1999-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* Define that x32 is a ILP32 ABI to set the correct interface to pass + 64-bits values through syscalls. */ +#ifdef __ILP32__ +# define __ASSUME_WORDSIZE64_ILP32 1 +#endif + +#include_next <kernel-features.h> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h new file mode 100644 index 0000000000..945c02930c --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/kernel_stat.h @@ -0,0 +1,21 @@ +/* Definition of `struct stat' used in the kernel. + Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define STAT_IS_KERNEL_STAT 1 +#define XSTAT_IS_XSTAT64 1 +#define STATFS_IS_STATFS64 0 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h new file mode 100644 index 0000000000..3a7a75b7f0 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldconfig.h @@ -0,0 +1,26 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdeps/generic/ldconfig.h> + +#define SYSDEP_KNOWN_INTERPRETER_NAMES \ + { "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \ + { "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \ + { "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 }, +#define SYSDEP_KNOWN_LIBRARY_NAMES \ + { "libc.so.6", FLAG_ELF_LIBC6 }, \ + { "libm.so.6", FLAG_ELF_LIBC6 }, diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed new file mode 100644 index 0000000000..44d76e8aa1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed @@ -0,0 +1,3 @@ +/LD_TRACE_LOADED_OBJECTS=1/a\ +add_env="$add_env LD_LIBRARY_VERSION=\\$verify_out" +s_^\(RTLDLIST=\)\(.*lib\)\(\|64\|x32\)\(/[^/]*\)\(-x86-64\|-x32\)\(\.so\.[0-9.]*\)[ ]*$_\1"\2\4\6 \264\4-x86-64\6 \2x32\4-x32\6"_ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S new file mode 100644 index 0000000000..dc9d8226f1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-cancellation.S @@ -0,0 +1,21 @@ +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2009. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define __pthread_enable_asynccancel __libc_enable_asynccancel +#define __pthread_disable_asynccancel __libc_disable_asynccancel +#include "cancellation.S" diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S new file mode 100644 index 0000000000..1e5e150aa7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libc-lowlevellock.S @@ -0,0 +1,19 @@ +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include "lowlevellock.S" diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist new file mode 100644 index 0000000000..80d028a61c --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/libmvec.abilist @@ -0,0 +1,49 @@ +GLIBC_2.22 GLIBC_2.22 A +GLIBC_2.22 _ZGVbN2v_cos F +GLIBC_2.22 _ZGVbN2v_exp F +GLIBC_2.22 _ZGVbN2v_log F +GLIBC_2.22 _ZGVbN2v_sin F +GLIBC_2.22 _ZGVbN2vv_pow F +GLIBC_2.22 _ZGVbN2vvv_sincos F +GLIBC_2.22 _ZGVbN4v_cosf F +GLIBC_2.22 _ZGVbN4v_expf F +GLIBC_2.22 _ZGVbN4v_logf F +GLIBC_2.22 _ZGVbN4v_sinf F +GLIBC_2.22 _ZGVbN4vv_powf F +GLIBC_2.22 _ZGVbN4vvv_sincosf F +GLIBC_2.22 _ZGVcN4v_cos F +GLIBC_2.22 _ZGVcN4v_exp F +GLIBC_2.22 _ZGVcN4v_log F +GLIBC_2.22 _ZGVcN4v_sin F +GLIBC_2.22 _ZGVcN4vv_pow F +GLIBC_2.22 _ZGVcN4vvv_sincos F +GLIBC_2.22 _ZGVcN8v_cosf F +GLIBC_2.22 _ZGVcN8v_expf F +GLIBC_2.22 _ZGVcN8v_logf F +GLIBC_2.22 _ZGVcN8v_sinf F +GLIBC_2.22 _ZGVcN8vv_powf F +GLIBC_2.22 _ZGVcN8vvv_sincosf F +GLIBC_2.22 _ZGVdN4v_cos F +GLIBC_2.22 _ZGVdN4v_exp F +GLIBC_2.22 _ZGVdN4v_log F +GLIBC_2.22 _ZGVdN4v_sin F +GLIBC_2.22 _ZGVdN4vv_pow F +GLIBC_2.22 _ZGVdN4vvv_sincos F +GLIBC_2.22 _ZGVdN8v_cosf F +GLIBC_2.22 _ZGVdN8v_expf F +GLIBC_2.22 _ZGVdN8v_logf F +GLIBC_2.22 _ZGVdN8v_sinf F +GLIBC_2.22 _ZGVdN8vv_powf F +GLIBC_2.22 _ZGVdN8vvv_sincosf F +GLIBC_2.22 _ZGVeN16v_cosf F +GLIBC_2.22 _ZGVeN16v_expf F +GLIBC_2.22 _ZGVeN16v_logf F +GLIBC_2.22 _ZGVeN16v_sinf F +GLIBC_2.22 _ZGVeN16vv_powf F +GLIBC_2.22 _ZGVeN16vvv_sincosf F +GLIBC_2.22 _ZGVeN8v_cos F +GLIBC_2.22 _ZGVeN8v_exp F +GLIBC_2.22 _ZGVeN8v_log F +GLIBC_2.22 _ZGVeN8v_sin F +GLIBC_2.22 _ZGVeN8vv_pow F +GLIBC_2.22 _ZGVeN8vvv_sincos F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S new file mode 100644 index 0000000000..8422939dc7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/librt-cancellation.S @@ -0,0 +1,21 @@ +/* Copyright (C) 2009-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2009. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define __pthread_enable_asynccancel __librt_enable_asynccancel +#define __pthread_disable_asynccancel __librt_disable_asynccancel +#include "cancellation.S" diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c new file mode 100644 index 0000000000..f6875b8f89 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedlock_wait.c @@ -0,0 +1 @@ +/* __lll_timedlock_wait is in lowlevellock.S. */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c new file mode 100644 index 0000000000..43900c6294 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lll_timedwait_tid.c @@ -0,0 +1 @@ +/* __lll_timedwait_tid is in lowlevellock.S. */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S new file mode 100644 index 0000000000..6e8ae053c7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S @@ -0,0 +1,463 @@ +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <pthread-errnos.h> +#include <kernel-features.h> +#include <lowlevellock.h> + +#include <stap-probe.h> + + .text + +#ifdef __ASSUME_PRIVATE_FUTEX +# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ + movl $(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg +# define LOAD_PRIVATE_FUTEX_WAKE(reg) \ + movl $(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg +# define LOAD_FUTEX_WAIT(reg) \ + xorl $(FUTEX_WAIT | FUTEX_PRIVATE_FLAG), reg +# define LOAD_FUTEX_WAIT_ABS(reg) \ + xorl $(FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME), reg +# define LOAD_FUTEX_WAKE(reg) \ + xorl $(FUTEX_WAKE | FUTEX_PRIVATE_FLAG), reg +#else +# if FUTEX_WAIT == 0 +# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ + movl %fs:PRIVATE_FUTEX, reg +# else +# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ + movl %fs:PRIVATE_FUTEX, reg ; \ + orl $FUTEX_WAIT, reg +# endif +# define LOAD_PRIVATE_FUTEX_WAKE(reg) \ + movl %fs:PRIVATE_FUTEX, reg ; \ + orl $FUTEX_WAKE, reg +# if FUTEX_WAIT == 0 +# define LOAD_FUTEX_WAIT(reg) \ + xorl $FUTEX_PRIVATE_FLAG, reg ; \ + andl %fs:PRIVATE_FUTEX, reg +# else +# define LOAD_FUTEX_WAIT(reg) \ + xorl $FUTEX_PRIVATE_FLAG, reg ; \ + andl %fs:PRIVATE_FUTEX, reg ; \ + orl $FUTEX_WAIT, reg +# endif +# define LOAD_FUTEX_WAIT_ABS(reg) \ + xorl $FUTEX_PRIVATE_FLAG, reg ; \ + andl %fs:PRIVATE_FUTEX, reg ; \ + orl $FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg +# define LOAD_FUTEX_WAKE(reg) \ + xorl $FUTEX_PRIVATE_FLAG, reg ; \ + andl %fs:PRIVATE_FUTEX, reg ; \ + orl $FUTEX_WAKE, reg +#endif + + + .globl __lll_lock_wait_private + .type __lll_lock_wait_private,@function + .hidden __lll_lock_wait_private + .align 16 +__lll_lock_wait_private: + cfi_startproc + pushq %r10 + cfi_adjust_cfa_offset(8) + pushq %rdx + cfi_adjust_cfa_offset(8) + cfi_offset(%r10, -16) + cfi_offset(%rdx, -24) + xorq %r10, %r10 /* No timeout. */ + movl $2, %edx + LOAD_PRIVATE_FUTEX_WAIT (%esi) + + cmpl %edx, %eax /* NB: %edx == 2 */ + jne 2f + +1: LIBC_PROBE (lll_lock_wait_private, 1, %rdi) + movl $SYS_futex, %eax + syscall + +2: movl %edx, %eax + xchgl %eax, (%rdi) /* NB: lock is implied */ + + testl %eax, %eax + jnz 1b + + popq %rdx + cfi_adjust_cfa_offset(-8) + cfi_restore(%rdx) + popq %r10 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r10) + retq + cfi_endproc + .size __lll_lock_wait_private,.-__lll_lock_wait_private + +#if !IS_IN (libc) + .globl __lll_lock_wait + .type __lll_lock_wait,@function + .hidden __lll_lock_wait + .align 16 +__lll_lock_wait: + cfi_startproc + pushq %r10 + cfi_adjust_cfa_offset(8) + pushq %rdx + cfi_adjust_cfa_offset(8) + cfi_offset(%r10, -16) + cfi_offset(%rdx, -24) + xorq %r10, %r10 /* No timeout. */ + movl $2, %edx + LOAD_FUTEX_WAIT (%esi) + + cmpl %edx, %eax /* NB: %edx == 2 */ + jne 2f + +1: LIBC_PROBE (lll_lock_wait, 2, %rdi, %rsi) + movl $SYS_futex, %eax + syscall + +2: movl %edx, %eax + xchgl %eax, (%rdi) /* NB: lock is implied */ + + testl %eax, %eax + jnz 1b + + popq %rdx + cfi_adjust_cfa_offset(-8) + cfi_restore(%rdx) + popq %r10 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r10) + retq + cfi_endproc + .size __lll_lock_wait,.-__lll_lock_wait + + /* %rdi: futex + %rsi: flags + %rdx: timeout + %eax: futex value + */ + .globl __lll_timedlock_wait + .type __lll_timedlock_wait,@function + .hidden __lll_timedlock_wait + .align 16 +__lll_timedlock_wait: + cfi_startproc +# ifndef __ASSUME_FUTEX_CLOCK_REALTIME +# ifdef PIC + cmpl $0, __have_futex_clock_realtime(%rip) +# else + cmpl $0, __have_futex_clock_realtime +# endif + je .Lreltmo +# endif + + cmpq $0, (%rdx) + js 5f + + pushq %r9 + cfi_adjust_cfa_offset(8) + cfi_rel_offset(%r9, 0) + + movq %rdx, %r10 + movl $0xffffffff, %r9d + LOAD_FUTEX_WAIT_ABS (%esi) + + movl $2, %edx + cmpl %edx, %eax + jne 2f + +1: movl $SYS_futex, %eax + movl $2, %edx + syscall + +2: xchgl %edx, (%rdi) /* NB: lock is implied */ + + testl %edx, %edx + jz 3f + + cmpl $-ETIMEDOUT, %eax + je 4f + cmpl $-EINVAL, %eax + jne 1b +4: movl %eax, %edx + negl %edx + +3: movl %edx, %eax + popq %r9 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r9) + retq + +5: movl $ETIMEDOUT, %eax + retq + +# ifndef __ASSUME_FUTEX_CLOCK_REALTIME +.Lreltmo: + /* Check for a valid timeout value. */ + cmpq $1000000000, 8(%rdx) + jae 3f + + pushq %r8 + cfi_adjust_cfa_offset(8) + pushq %r9 + cfi_adjust_cfa_offset(8) + pushq %r12 + cfi_adjust_cfa_offset(8) + pushq %r13 + cfi_adjust_cfa_offset(8) + pushq %r14 + cfi_adjust_cfa_offset(8) + cfi_offset(%r8, -16) + cfi_offset(%r9, -24) + cfi_offset(%r12, -32) + cfi_offset(%r13, -40) + cfi_offset(%r14, -48) + pushq %rsi + cfi_adjust_cfa_offset(8) + + /* Stack frame for the timespec and timeval structs. */ + subq $24, %rsp + cfi_adjust_cfa_offset(24) + + movq %rdi, %r12 + movq %rdx, %r13 + + movl $2, %edx + xchgl %edx, (%r12) + + testl %edx, %edx + je 6f + +1: + /* Get current time. */ + movq %rsp, %rdi + xorl %esi, %esi + /* This call works because we directly jump to a system call entry + which preserves all the registers. */ + call JUMPTARGET(__gettimeofday) + + /* Compute relative timeout. */ + movq 8(%rsp), %rax + movl $1000, %edi + mul %rdi /* Milli seconds to nano seconds. */ + movq (%r13), %rdi + movq 8(%r13), %rsi + subq (%rsp), %rdi + subq %rax, %rsi + jns 4f + addq $1000000000, %rsi + decq %rdi +4: testq %rdi, %rdi + js 2f /* Time is already up. */ + + /* Store relative timeout. */ + movq %rdi, (%rsp) + movq %rsi, 8(%rsp) + + /* Futex call. */ + movl $2, %edx + movl $1, %eax + movq %rsp, %r10 + movl 24(%rsp), %esi + LOAD_FUTEX_WAIT (%esi) + movq %r12, %rdi + movl $SYS_futex, %eax + syscall + + /* NB: %edx == 2 */ + xchgl %edx, (%r12) + + testl %edx, %edx + je 6f + + cmpl $-ETIMEDOUT, %eax + jne 1b +2: movl $ETIMEDOUT, %edx + +6: addq $32, %rsp + cfi_adjust_cfa_offset(-32) + popq %r14 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r14) + popq %r13 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r13) + popq %r12 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r12) + popq %r9 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r9) + popq %r8 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r8) + movl %edx, %eax + retq + +3: movl $EINVAL, %eax + retq +# endif + cfi_endproc + .size __lll_timedlock_wait,.-__lll_timedlock_wait +#endif + + + .globl __lll_unlock_wake_private + .type __lll_unlock_wake_private,@function + .hidden __lll_unlock_wake_private + .align 16 +__lll_unlock_wake_private: + cfi_startproc + pushq %rsi + cfi_adjust_cfa_offset(8) + pushq %rdx + cfi_adjust_cfa_offset(8) + cfi_offset(%rsi, -16) + cfi_offset(%rdx, -24) + + movl $0, (%rdi) + LOAD_PRIVATE_FUTEX_WAKE (%esi) + movl $1, %edx /* Wake one thread. */ + movl $SYS_futex, %eax + syscall + + popq %rdx + cfi_adjust_cfa_offset(-8) + cfi_restore(%rdx) + popq %rsi + cfi_adjust_cfa_offset(-8) + cfi_restore(%rsi) + retq + cfi_endproc + .size __lll_unlock_wake_private,.-__lll_unlock_wake_private + +#if !IS_IN (libc) + .globl __lll_unlock_wake + .type __lll_unlock_wake,@function + .hidden __lll_unlock_wake + .align 16 +__lll_unlock_wake: + cfi_startproc + pushq %rsi + cfi_adjust_cfa_offset(8) + pushq %rdx + cfi_adjust_cfa_offset(8) + cfi_offset(%rsi, -16) + cfi_offset(%rdx, -24) + + movl $0, (%rdi) + LOAD_FUTEX_WAKE (%esi) + movl $1, %edx /* Wake one thread. */ + movl $SYS_futex, %eax + syscall + + popq %rdx + cfi_adjust_cfa_offset(-8) + cfi_restore(%rdx) + popq %rsi + cfi_adjust_cfa_offset(-8) + cfi_restore(%rsi) + retq + cfi_endproc + .size __lll_unlock_wake,.-__lll_unlock_wake + + .globl __lll_timedwait_tid + .type __lll_timedwait_tid,@function + .hidden __lll_timedwait_tid + .align 16 +__lll_timedwait_tid: + cfi_startproc + pushq %r12 + cfi_adjust_cfa_offset(8) + pushq %r13 + cfi_adjust_cfa_offset(8) + cfi_offset(%r12, -16) + cfi_offset(%r13, -24) + + movq %rdi, %r12 + movq %rsi, %r13 + + /* Align stack to 16 bytes when calling __gettimeofday. */ + subq $24, %rsp + cfi_adjust_cfa_offset(24) + + /* Get current time. */ +2: movq %rsp, %rdi + xorl %esi, %esi + /* This call works because we directly jump to a system call entry + which preserves all the registers. */ + call JUMPTARGET(__gettimeofday) + + /* Compute relative timeout. */ + movq 8(%rsp), %rax + movl $1000, %edi + mul %rdi /* Milli seconds to nano seconds. */ + movq (%r13), %rdi + movq 8(%r13), %rsi + subq (%rsp), %rdi + subq %rax, %rsi + jns 5f + addq $1000000000, %rsi + decq %rdi +5: testq %rdi, %rdi + js 6f /* Time is already up. */ + + movq %rdi, (%rsp) /* Store relative timeout. */ + movq %rsi, 8(%rsp) + + movl (%r12), %edx + testl %edx, %edx + jz 4f + + movq %rsp, %r10 + /* XXX The kernel so far uses global futex for the wakeup at + all times. */ +#if FUTEX_WAIT == 0 + xorl %esi, %esi +#else + movl $FUTEX_WAIT, %esi +#endif + movq %r12, %rdi + movl $SYS_futex, %eax + syscall + + cmpl $0, (%rdi) + jne 1f +4: xorl %eax, %eax + +8: addq $24, %rsp + cfi_adjust_cfa_offset(-24) + popq %r13 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r13) + popq %r12 + cfi_adjust_cfa_offset(-8) + cfi_restore(%r12) + retq + + cfi_adjust_cfa_offset(32) +1: cmpq $-ETIMEDOUT, %rax + jne 2b + +6: movl $ETIMEDOUT, %eax + jmp 8b + cfi_endproc + .size __lll_timedwait_tid,.-__lll_timedwait_tid +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h new file mode 100644 index 0000000000..cbf6597e00 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/lowlevellock.h @@ -0,0 +1,278 @@ +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LOWLEVELLOCK_H +#define _LOWLEVELLOCK_H 1 + +#include <stap-probe.h> + +#ifndef __ASSEMBLER__ +# include <time.h> +# include <sys/param.h> +# include <bits/pthreadtypes.h> +# include <kernel-features.h> +# include <tcb-offsets.h> + +# ifndef LOCK_INSTR +# ifdef UP +# define LOCK_INSTR /* nothing */ +# else +# define LOCK_INSTR "lock;" +# endif +# endif +#else +# ifndef LOCK +# ifdef UP +# define LOCK +# else +# define LOCK lock +# endif +# endif +#endif + +#include <lowlevellock-futex.h> + +/* XXX Remove when no assembler code uses futexes anymore. */ +#define SYS_futex __NR_futex + +#ifndef __ASSEMBLER__ + +/* Initializer for lock. */ +#define LLL_LOCK_INITIALIZER (0) +#define LLL_LOCK_INITIALIZER_LOCKED (1) +#define LLL_LOCK_INITIALIZER_WAITERS (2) + + +/* NB: in the lll_trylock macro we simply return the value in %eax + after the cmpxchg instruction. In case the operation succeded this + value is zero. In case the operation failed, the cmpxchg instruction + has loaded the current value of the memory work which is guaranteed + to be nonzero. */ +#if !IS_IN (libc) || defined UP +# define __lll_trylock_asm LOCK_INSTR "cmpxchgl %2, %1" +#else +# define __lll_trylock_asm "cmpl $0, __libc_multiple_threads(%%rip)\n\t" \ + "je 0f\n\t" \ + "lock; cmpxchgl %2, %1\n\t" \ + "jmp 1f\n\t" \ + "0:\tcmpxchgl %2, %1\n\t" \ + "1:" +#endif + +#define lll_trylock(futex) \ + ({ int ret; \ + __asm __volatile (__lll_trylock_asm \ + : "=a" (ret), "=m" (futex) \ + : "r" (LLL_LOCK_INITIALIZER_LOCKED), "m" (futex), \ + "0" (LLL_LOCK_INITIALIZER) \ + : "memory"); \ + ret; }) + +#define lll_cond_trylock(futex) \ + ({ int ret; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %2, %1" \ + : "=a" (ret), "=m" (futex) \ + : "r" (LLL_LOCK_INITIALIZER_WAITERS), \ + "m" (futex), "0" (LLL_LOCK_INITIALIZER) \ + : "memory"); \ + ret; }) + +#if !IS_IN (libc) || defined UP +# define __lll_lock_asm_start LOCK_INSTR "cmpxchgl %4, %2\n\t" \ + "jz 24f\n\t" +#else +# define __lll_lock_asm_start "cmpl $0, __libc_multiple_threads(%%rip)\n\t" \ + "je 0f\n\t" \ + "lock; cmpxchgl %4, %2\n\t" \ + "jnz 1f\n\t" \ + "jmp 24f\n" \ + "0:\tcmpxchgl %4, %2\n\t" \ + "jz 24f\n\t" +#endif + +#define lll_lock(futex, private) \ + (void) \ + ({ int ignore1, ignore2, ignore3; \ + if (__builtin_constant_p (private) && (private) == LLL_PRIVATE) \ + __asm __volatile (__lll_lock_asm_start \ + "1:\tlea %2, %%" RDI_LP "\n" \ + "2:\tsub $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset 128\n" \ + "3:\tcallq __lll_lock_wait_private\n" \ + "4:\tadd $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset -128\n" \ + "24:" \ + : "=S" (ignore1), "=&D" (ignore2), "=m" (futex), \ + "=a" (ignore3) \ + : "0" (1), "m" (futex), "3" (0) \ + : "cx", "r11", "cc", "memory"); \ + else \ + __asm __volatile (__lll_lock_asm_start \ + "1:\tlea %2, %%" RDI_LP "\n" \ + "2:\tsub $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset 128\n" \ + "3:\tcallq __lll_lock_wait\n" \ + "4:\tadd $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset -128\n" \ + "24:" \ + : "=S" (ignore1), "=D" (ignore2), "=m" (futex), \ + "=a" (ignore3) \ + : "1" (1), "m" (futex), "3" (0), "0" (private) \ + : "cx", "r11", "cc", "memory"); \ + }) \ + +#define lll_cond_lock(futex, private) \ + (void) \ + ({ int ignore1, ignore2, ignore3; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %4, %2\n\t" \ + "jz 24f\n" \ + "1:\tlea %2, %%" RDI_LP "\n" \ + "2:\tsub $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset 128\n" \ + "3:\tcallq __lll_lock_wait\n" \ + "4:\tadd $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset -128\n" \ + "24:" \ + : "=S" (ignore1), "=D" (ignore2), "=m" (futex), \ + "=a" (ignore3) \ + : "1" (2), "m" (futex), "3" (0), "0" (private) \ + : "cx", "r11", "cc", "memory"); \ + }) + +#define lll_timedlock(futex, timeout, private) \ + ({ int result, ignore1, ignore2, ignore3; \ + __asm __volatile (LOCK_INSTR "cmpxchgl %1, %4\n\t" \ + "jz 24f\n" \ + "1:\tlea %4, %%" RDI_LP "\n" \ + "0:\tmov %8, %%" RDX_LP "\n" \ + "2:\tsub $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset 128\n" \ + "3:\tcallq __lll_timedlock_wait\n" \ + "4:\tadd $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset -128\n" \ + "24:" \ + : "=a" (result), "=D" (ignore1), "=S" (ignore2), \ + "=&d" (ignore3), "=m" (futex) \ + : "0" (0), "1" (1), "m" (futex), "m" (timeout), \ + "2" (private) \ + : "memory", "cx", "cc", "r10", "r11"); \ + result; }) + +extern int __lll_timedlock_elision (int *futex, short *adapt_count, + const struct timespec *timeout, + int private) attribute_hidden; + +#define lll_timedlock_elision(futex, adapt_count, timeout, private) \ + __lll_timedlock_elision(&(futex), &(adapt_count), timeout, private) + +#if !IS_IN (libc) || defined UP +# define __lll_unlock_asm_start LOCK_INSTR "decl %0\n\t" \ + "je 24f\n\t" +#else +# define __lll_unlock_asm_start "cmpl $0, __libc_multiple_threads(%%rip)\n\t" \ + "je 0f\n\t" \ + "lock; decl %0\n\t" \ + "jne 1f\n\t" \ + "jmp 24f\n\t" \ + "0:\tdecl %0\n\t" \ + "je 24f\n\t" +#endif + +#define lll_unlock(futex, private) \ + (void) \ + ({ int ignore; \ + if (__builtin_constant_p (private) && (private) == LLL_PRIVATE) \ + __asm __volatile (__lll_unlock_asm_start \ + "1:\tlea %0, %%" RDI_LP "\n" \ + "2:\tsub $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset 128\n" \ + "3:\tcallq __lll_unlock_wake_private\n" \ + "4:\tadd $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset -128\n" \ + "24:" \ + : "=m" (futex), "=&D" (ignore) \ + : "m" (futex) \ + : "ax", "cx", "r11", "cc", "memory"); \ + else \ + __asm __volatile (__lll_unlock_asm_start \ + "1:\tlea %0, %%" RDI_LP "\n" \ + "2:\tsub $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset 128\n" \ + "3:\tcallq __lll_unlock_wake\n" \ + "4:\tadd $128, %%" RSP_LP "\n" \ + ".cfi_adjust_cfa_offset -128\n" \ + "24:" \ + : "=m" (futex), "=&D" (ignore) \ + : "m" (futex), "S" (private) \ + : "ax", "cx", "r11", "cc", "memory"); \ + }) + +#define lll_islocked(futex) \ + (futex != LLL_LOCK_INITIALIZER) + + +/* The kernel notifies a process which uses CLONE_CHILD_CLEARTID via futex + wake-up when the clone terminates. The memory location contains the + thread ID while the clone is running and is reset to zero by the kernel + afterwards. The kernel up to version 3.16.3 does not use the private futex + operations for futex wake-up when the clone terminates. */ +#define lll_wait_tid(tid) \ + do { \ + __typeof (tid) __tid; \ + while ((__tid = (tid)) != 0) \ + lll_futex_wait (&(tid), __tid, LLL_SHARED);\ + } while (0) + +extern int __lll_timedwait_tid (int *, const struct timespec *) + attribute_hidden; + +/* As lll_wait_tid, but with a timeout. If the timeout occurs then return + ETIMEDOUT. If ABSTIME is invalid, return EINVAL. + XXX Note that this differs from the generic version in that we do the + error checking here and not in __lll_timedwait_tid. */ +#define lll_timedwait_tid(tid, abstime) \ + ({ \ + int __result = 0; \ + if ((tid) != 0) \ + { \ + if ((abstime)->tv_nsec < 0 || (abstime)->tv_nsec >= 1000000000) \ + __result = EINVAL; \ + else \ + __result = __lll_timedwait_tid (&(tid), (abstime)); \ + } \ + __result; }) + +extern int __lll_lock_elision (int *futex, short *adapt_count, int private) + attribute_hidden; + +extern int __lll_unlock_elision (int *lock, int private) + attribute_hidden; + +extern int __lll_trylock_elision (int *lock, short *adapt_count) + attribute_hidden; + +#define lll_lock_elision(futex, adapt_count, private) \ + __lll_lock_elision (&(futex), &(adapt_count), private) +#define lll_unlock_elision(futex, adapt_count, private) \ + __lll_unlock_elision (&(futex), private) +#define lll_trylock_elision(futex, adapt_count) \ + __lll_trylock_elision (&(futex), &(adapt_count)) + +#endif /* !__ASSEMBLER__ */ + +#endif /* lowlevellock.h */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c new file mode 100644 index 0000000000..59fb77a8c1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/makecontext.c @@ -0,0 +1,121 @@ +/* Create new context. + Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Andreas Jaeger <aj@suse.de>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <stdarg.h> +#include <stdint.h> +#include <ucontext.h> + +#include "ucontext_i.h" + +/* This implementation can handle any ARGC value but only + normal integer parameters. + makecontext sets up a stack and the registers for the + user context. The stack looks like this: + +-----------------------+ + | next context | + +-----------------------+ + | parameter 7-n | + +-----------------------+ + | trampoline address | + %rsp -> +-----------------------+ + + The registers are set up like this: + %rdi,%rsi,%rdx,%rcx,%r8,%r9: parameter 1 to 6 + %rbx : address of next context + %rsp : stack pointer. +*/ + +/* XXX: This implementation currently only handles integer arguments. + To handle long int and pointer arguments the va_arg arguments needs + to be changed to long and also the stdlib/tst-setcontext.c file needs + to be changed to pass long arguments to makecontext. */ + + +void +__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) +{ + extern void __start_context (void); + greg_t *sp; + unsigned int idx_uc_link; + va_list ap; + int i; + + /* Generate room on stack for parameter if needed and uc_link. */ + sp = (greg_t *) ((uintptr_t) ucp->uc_stack.ss_sp + + ucp->uc_stack.ss_size); + sp -= (argc > 6 ? argc - 6 : 0) + 1; + /* Align stack and make space for trampoline address. */ + sp = (greg_t *) ((((uintptr_t) sp) & -16L) - 8); + + idx_uc_link = (argc > 6 ? argc - 6 : 0) + 1; + + /* Setup context ucp. */ + /* Address to jump to. */ + ucp->uc_mcontext.gregs[REG_RIP] = (uintptr_t) func; + /* Setup rbx.*/ + ucp->uc_mcontext.gregs[REG_RBX] = (uintptr_t) &sp[idx_uc_link]; + ucp->uc_mcontext.gregs[REG_RSP] = (uintptr_t) sp; + + /* Setup stack. */ + sp[0] = (uintptr_t) &__start_context; + sp[idx_uc_link] = (uintptr_t) ucp->uc_link; + + va_start (ap, argc); + /* Handle arguments. + + The standard says the parameters must all be int values. This is + an historic accident and would be done differently today. For + x86-64 all integer values are passed as 64-bit values and + therefore extending the API to copy 64-bit values instead of + 32-bit ints makes sense. It does not break existing + functionality and it does not violate the standard which says + that passing non-int values means undefined behavior. */ + for (i = 0; i < argc; ++i) + switch (i) + { + case 0: + ucp->uc_mcontext.gregs[REG_RDI] = va_arg (ap, greg_t); + break; + case 1: + ucp->uc_mcontext.gregs[REG_RSI] = va_arg (ap, greg_t); + break; + case 2: + ucp->uc_mcontext.gregs[REG_RDX] = va_arg (ap, greg_t); + break; + case 3: + ucp->uc_mcontext.gregs[REG_RCX] = va_arg (ap, greg_t); + break; + case 4: + ucp->uc_mcontext.gregs[REG_R8] = va_arg (ap, greg_t); + break; + case 5: + ucp->uc_mcontext.gregs[REG_R9] = va_arg (ap, greg_t); + break; + default: + /* Put value on stack. */ + sp[i - 5] = va_arg (ap, greg_t); + break; + } + va_end (ap); + +} + + +weak_alias (__makecontext, makecontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h new file mode 100644 index 0000000000..5970120bfa --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/profil-counter.h @@ -0,0 +1,31 @@ +/* Low-level statistical profiling support function. Linux/x86-64 version. + Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <signal.h> +#include <sigcontextinfo.h> + +static void +__profil_counter (int signo, SIGCONTEXT scp) +{ + profil_count ((void *) GET_PC (scp)); + + /* This is a hack to prevent the compiler from implementing the + above function call as a sibcall. The sibcall would overwrite + the signal context. */ + asm volatile (""); +} diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c new file mode 100644 index 0000000000..a7bbe38156 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/pthread_setaffinity.c @@ -0,0 +1,14 @@ +#include <tls.h> + +#define RESET_VGETCPU_CACHE() \ + do { \ + asm volatile ("movl %0, %%fs:%P1\n\t" \ + "movl %0, %%fs:%P2" \ + : \ + : "ir" (0), "i" (offsetof (struct pthread, \ + header.vgetcpu_cache[0])), \ + "i" (offsetof (struct pthread, \ + header.vgetcpu_cache[1]))); \ + } while (0) + +#include <sysdeps/unix/sysv/linux/pthread_setaffinity.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c new file mode 100644 index 0000000000..4c4e5f9d1a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/readelflib.c @@ -0,0 +1,2 @@ +#define SKIP_EM_IA_64 +#include <sysdeps/unix/sysv/linux/i386/readelflib.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h new file mode 100644 index 0000000000..6a52957901 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/register-dump.h @@ -0,0 +1,345 @@ +/* Dump registers. + Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sys/uio.h> +#include <_itoa.h> + +/* We will print the register dump in this format: + + RAX: XXXXXXXXXXXXXXXX RBX: XXXXXXXXXXXXXXXX RCX: XXXXXXXXXXXXXXXX + RDX: XXXXXXXXXXXXXXXX RSI: XXXXXXXXXXXXXXXX RDI: XXXXXXXXXXXXXXXX + RBP: XXXXXXXXXXXXXXXX R8 : XXXXXXXXXXXXXXXX R9 : XXXXXXXXXXXXXXXX + R10: XXXXXXXXXXXXXXXX R11: XXXXXXXXXXXXXXXX R12: XXXXXXXXXXXXXXXX + R13: XXXXXXXXXXXXXXXX R14: XXXXXXXXXXXXXXXX R15: XXXXXXXXXXXXXXXX + RSP: XXXXXXXXXXXXXXXX + + RIP: XXXXXXXXXXXXXXXX EFLAGS: XXXXXXXX + + CS: XXXX DS: XXXX ES: XXXX FS: XXXX GS: XXXX + + Trap: XXXXXXXX Error: XXXXXXXX OldMask: XXXXXXXX + RSP/SIGNAL: XXXXXXXXXXXXXXXX CR2: XXXXXXXX + + FPUCW: XXXXXXXX FPUSW: XXXXXXXX TAG: XXXXXXXX + IPOFF: XXXXXXXX CSSEL: XXXX DATAOFF: XXXXXXXX DATASEL: XXXX + + ST(0) XXXX XXXXXXXXXXXXXXXX ST(1) XXXX XXXXXXXXXXXXXXXX + ST(2) XXXX XXXXXXXXXXXXXXXX ST(3) XXXX XXXXXXXXXXXXXXXX + ST(4) XXXX XXXXXXXXXXXXXXXX ST(5) XXXX XXXXXXXXXXXXXXXX + ST(6) XXXX XXXXXXXXXXXXXXXX ST(7) XXXX XXXXXXXXXXXXXXXX + + mxcsr: XXXX + XMM0 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM1 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM2 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM3 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM4 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM5 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM6 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM7 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM8 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM9 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM10: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM11: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM12: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM13: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + XMM14: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XMM15: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + + */ + +static void +hexvalue (unsigned long int value, char *buf, size_t len) +{ + char *cp = _itoa_word (value, buf + len, 16, 0); + while (cp > buf) + *--cp = '0'; +} + +static void +register_dump (int fd, struct ucontext *ctx) +{ + char regs[25][16]; + char fpregs[30][8]; + char xmmregs[16][32]; + struct iovec iov[147]; + size_t nr = 0; + int i; + +#define ADD_STRING(str) \ + iov[nr].iov_base = (char *) str; \ + iov[nr].iov_len = strlen (str); \ + ++nr +#define ADD_MEM(str, len) \ + iov[nr].iov_base = str; \ + iov[nr].iov_len = len; \ + ++nr + + /* Generate strings of register contents. */ + hexvalue (ctx->uc_mcontext.gregs[REG_RAX], regs[0], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RBX], regs[1], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RCX], regs[2], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RDX], regs[3], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RSI], regs[4], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RDI], regs[5], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RBP], regs[6], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R8], regs[7], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R9], regs[8], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R10], regs[9], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R11], regs[10], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R12], regs[11], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R13], regs[12], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R14], regs[13], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_R15], regs[14], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RSP], regs[15], 16); + hexvalue (ctx->uc_mcontext.gregs[REG_RIP], regs[16], 16); + + hexvalue (ctx->uc_mcontext.gregs[REG_EFL], regs[17], 8); + hexvalue (ctx->uc_mcontext.gregs[REG_CSGSFS] & 0xffff, regs[18], 4); + hexvalue ((ctx->uc_mcontext.gregs[REG_CSGSFS] >> 16) & 0xffff, regs[19], 4); + hexvalue ((ctx->uc_mcontext.gregs[REG_CSGSFS] >> 32) & 0xffff, regs[20], 4); + /* hexvalue (ctx->ss, regs[23], 4); */ + hexvalue (ctx->uc_mcontext.gregs[REG_TRAPNO], regs[21], 8); + hexvalue (ctx->uc_mcontext.gregs[REG_ERR], regs[22], 8); + hexvalue (ctx->uc_mcontext.gregs[REG_OLDMASK], regs[23], 8); + hexvalue (ctx->uc_mcontext.gregs[REG_CR2], regs[24], 8); + + /* Generate the output. */ + ADD_STRING ("Register dump:\n\n RAX: "); + ADD_MEM (regs[0], 16); + ADD_STRING (" RBX: "); + ADD_MEM (regs[1], 16); + ADD_STRING (" RCX: "); + ADD_MEM (regs[2], 16); + ADD_STRING ("\n RDX: "); + ADD_MEM (regs[3], 16); + ADD_STRING (" RSI: "); + ADD_MEM (regs[4], 16); + ADD_STRING (" RDI: "); + ADD_MEM (regs[5], 16); + ADD_STRING ("\n RBP: "); + ADD_MEM (regs[6], 16); + ADD_STRING (" R8 : "); + ADD_MEM (regs[7], 16); + ADD_STRING (" R9 : "); + ADD_MEM (regs[8], 16); + ADD_STRING ("\n R10: "); + ADD_MEM (regs[9], 16); + ADD_STRING (" R11: "); + ADD_MEM (regs[10], 16); + ADD_STRING (" R12: "); + ADD_MEM (regs[11], 16); + ADD_STRING ("\n R13: "); + ADD_MEM (regs[12], 16); + ADD_STRING (" R14: "); + ADD_MEM (regs[13], 16); + ADD_STRING (" R15: "); + ADD_MEM (regs[14], 16); + ADD_STRING ("\n RSP: "); + ADD_MEM (regs[15], 16); + ADD_STRING ("\n\n RIP: "); + ADD_MEM (regs[16], 16); + ADD_STRING (" EFLAGS: "); + ADD_MEM (regs[17], 8); + ADD_STRING ("\n\n CS: "); + ADD_MEM (regs[18], 4); + ADD_STRING (" FS: "); + ADD_MEM (regs[19], 4); + ADD_STRING (" GS: "); + ADD_MEM (regs[20], 4); + /* + ADD_STRING (" SS: "); + ADD_MEM (regs[23], 4); + */ + ADD_STRING ("\n\n Trap: "); + ADD_MEM (regs[21], 8); + ADD_STRING (" Error: "); + ADD_MEM (regs[22], 8); + ADD_STRING (" OldMask: "); + ADD_MEM (regs[23], 8); + ADD_STRING (" CR2: "); + ADD_MEM (regs[24], 8); + + if (ctx->uc_mcontext.fpregs != NULL) + { + + /* Generate output for the FPU control/status registers. */ + hexvalue (ctx->uc_mcontext.fpregs->cwd, fpregs[0], 8); + hexvalue (ctx->uc_mcontext.fpregs->swd, fpregs[1], 8); + hexvalue (ctx->uc_mcontext.fpregs->ftw, fpregs[2], 8); + hexvalue (ctx->uc_mcontext.fpregs->rip, fpregs[3], 8); + hexvalue (ctx->uc_mcontext.fpregs->rdp, fpregs[4], 8); + + ADD_STRING ("\n\n FPUCW: "); + ADD_MEM (fpregs[0], 8); + ADD_STRING (" FPUSW: "); + ADD_MEM (fpregs[1], 8); + ADD_STRING (" TAG: "); + ADD_MEM (fpregs[2], 8); + ADD_STRING ("\n RIP: "); + ADD_MEM (fpregs[3], 8); + ADD_STRING (" RDP: "); + ADD_MEM (fpregs[4], 8); + + /* Now the real FPU registers. */ + hexvalue (ctx->uc_mcontext.fpregs->_st[0].exponent, fpregs[5], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[0].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[0].significand[2], fpregs[6], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[0].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[0].significand[0], fpregs[7], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[1].exponent, fpregs[8], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[1].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[1].significand[2], fpregs[9], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[1].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[1].significand[0], fpregs[10], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[2].exponent, fpregs[11], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[2].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[2].significand[2], fpregs[12], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[2].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[2].significand[0], fpregs[13], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[3].exponent, fpregs[14], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[3].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[3].significand[2], fpregs[15], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[3].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[3].significand[0], fpregs[16], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[4].exponent, fpregs[17], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[4].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[4].significand[2], fpregs[18], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[4].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[4].significand[0], fpregs[19], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[5].exponent, fpregs[20], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[5].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[5].significand[2], fpregs[21], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[5].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[5].significand[0], fpregs[22], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[6].exponent, fpregs[23], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[6].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[6].significand[2], fpregs[24], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[6].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[6].significand[0], fpregs[25], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[7].exponent, fpregs[26], 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[7].significand[3] << 16 + | ctx->uc_mcontext.fpregs->_st[7].significand[2], fpregs[27], + 8); + hexvalue (ctx->uc_mcontext.fpregs->_st[7].significand[1] << 16 + | ctx->uc_mcontext.fpregs->_st[7].significand[0], fpregs[28], + 8); + + hexvalue (ctx->uc_mcontext.fpregs->mxcsr, fpregs[29], 4); + + for (i = 0; i < 16; i++) + hexvalue (ctx->uc_mcontext.fpregs->_xmm[i].element[3] << 24 + | ctx->uc_mcontext.fpregs->_xmm[i].element[2] << 16 + | ctx->uc_mcontext.fpregs->_xmm[i].element[1] << 8 + | ctx->uc_mcontext.fpregs->_xmm[i].element[0], xmmregs[i], + 32); + + + ADD_STRING ("\n\n ST(0) "); + ADD_MEM (fpregs[5], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[6], 8); + ADD_MEM (fpregs[7], 8); + ADD_STRING (" ST(1) "); + ADD_MEM (fpregs[8], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[9], 8); + ADD_MEM (fpregs[10], 8); + ADD_STRING ("\n ST(2) "); + ADD_MEM (fpregs[11], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[12], 8); + ADD_MEM (fpregs[13], 8); + ADD_STRING (" ST(3) "); + ADD_MEM (fpregs[14], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[15], 8); + ADD_MEM (fpregs[16], 8); + ADD_STRING ("\n ST(4) "); + ADD_MEM (fpregs[17], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[18], 8); + ADD_MEM (fpregs[19], 8); + ADD_STRING (" ST(5) "); + ADD_MEM (fpregs[20], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[21], 8); + ADD_MEM (fpregs[22], 8); + ADD_STRING ("\n ST(6) "); + ADD_MEM (fpregs[23], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[24], 8); + ADD_MEM (fpregs[25], 8); + ADD_STRING (" ST(7) "); + ADD_MEM (fpregs[27], 4); + ADD_STRING (" "); + ADD_MEM (fpregs[27], 8); + ADD_MEM (fpregs[28], 8); + + ADD_STRING ("\n mxcsr: "); + ADD_MEM (fpregs[29], 4); + + ADD_STRING ("\n XMM0: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM1: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM2: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM3: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM4: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM5: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM6: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM7: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM8: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM9: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM10: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM11: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM12: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM13: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING ("\n XMM14: "); + ADD_MEM (xmmregs[0], 32); + ADD_STRING (" XMM15: "); + ADD_MEM (xmmregs[0], 32); + + } + + ADD_STRING ("\n"); + + /* Write the stuff out. */ + writev (fd, iov, nr); +} + + +#define REGISTER_DUMP register_dump (fd, ctx) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c new file mode 100644 index 0000000000..d1101c56f5 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sched_setaffinity.c @@ -0,0 +1,14 @@ +#include <tls.h> + +#define RESET_VGETCPU_CACHE() \ + do { \ + asm volatile ("movl %0, %%fs:%P1\n\t" \ + "movl %0, %%fs:%P2" \ + : \ + : "ir" (0), "i" (offsetof (struct pthread, \ + header.vgetcpu_cache[0])), \ + "i" (offsetof (struct pthread, \ + header.vgetcpu_cache[1]))); \ + } while (0) + +#include "../sched_setaffinity.c" diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S new file mode 100644 index 0000000000..f41e7d47a2 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/setcontext.S @@ -0,0 +1,102 @@ +/* Install given context. + Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Andreas Jaeger <aj@suse.de>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +#include "ucontext_i.h" + + +/* int __setcontext (const ucontext_t *ucp) + + Restores the machine context in UCP and thereby resumes execution + in that context. + + This implementation is intended to be used for *synchronous* context + switches only. Therefore, it does not have to restore anything + other than the PRESERVED state. */ + +ENTRY(__setcontext) + /* Save argument since syscall will destroy it. */ + pushq %rdi + cfi_adjust_cfa_offset(8) + + /* Set the signal mask with + rt_sigprocmask (SIG_SETMASK, mask, NULL, _NSIG/8). */ + leaq oSIGMASK(%rdi), %rsi + xorl %edx, %edx + movl $SIG_SETMASK, %edi + movl $_NSIG8,%r10d + movl $__NR_rt_sigprocmask, %eax + syscall + popq %rdi /* Reload %rdi, adjust stack. */ + cfi_adjust_cfa_offset(-8) + cmpq $-4095, %rax /* Check %rax for error. */ + jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ + + /* Restore the floating-point context. Not the registers, only the + rest. */ + movq oFPREGS(%rdi), %rcx + fldenv (%rcx) + ldmxcsr oMXCSR(%rdi) + + + /* Load the new stack pointer, the preserved registers and + registers used for passing args. */ + cfi_def_cfa(%rdi, 0) + cfi_offset(%rbx,oRBX) + cfi_offset(%rbp,oRBP) + cfi_offset(%r12,oR12) + cfi_offset(%r13,oR13) + cfi_offset(%r14,oR14) + cfi_offset(%r15,oR15) + cfi_offset(%rsp,oRSP) + cfi_offset(%rip,oRIP) + + movq oRSP(%rdi), %rsp + movq oRBX(%rdi), %rbx + movq oRBP(%rdi), %rbp + movq oR12(%rdi), %r12 + movq oR13(%rdi), %r13 + movq oR14(%rdi), %r14 + movq oR15(%rdi), %r15 + + /* The following ret should return to the address set with + getcontext. Therefore push the address on the stack. */ + movq oRIP(%rdi), %rcx + pushq %rcx + + movq oRSI(%rdi), %rsi + movq oRDX(%rdi), %rdx + movq oRCX(%rdi), %rcx + movq oR8(%rdi), %r8 + movq oR9(%rdi), %r9 + + /* Setup finally %rdi. */ + movq oRDI(%rdi), %rdi + + /* End FDE here, we fall into another context. */ + cfi_endproc + cfi_startproc + + /* Clear rax to indicate success. */ + xorl %eax, %eax + ret +PSEUDO_END(__setcontext) + +weak_alias (__setcontext, setcontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c new file mode 100644 index 0000000000..be058bac43 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaction.c @@ -0,0 +1,176 @@ +/* POSIX.1 `sigaction' call for Linux/x86-64. + Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <errno.h> +#include <stddef.h> +#include <signal.h> +#include <string.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +/* The difference here is that the sigaction structure used in the + kernel is not the same as we use in the libc. Therefore we must + translate it here. */ +#include <kernel_sigaction.h> + +#include "ucontext_i.h" + +/* We do not globally define the SA_RESTORER flag so do it here. */ +#define SA_RESTORER 0x04000000 + +/* Using the hidden attribute here does not change the code but it + helps to avoid warnings. */ +extern void restore_rt (void) asm ("__restore_rt") attribute_hidden; + + +/* If ACT is not NULL, change the action for SIG to *ACT. + If OACT is not NULL, put the old action for SIG in *OACT. */ +int +__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) +{ + int result; + struct kernel_sigaction kact, koact; + + if (act) + { + kact.k_sa_handler = act->sa_handler; + memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); + kact.sa_flags = act->sa_flags | SA_RESTORER; + + kact.sa_restorer = &restore_rt; + } + + /* XXX The size argument hopefully will have to be changed to the + real size of the user-level sigset_t. */ + result = INLINE_SYSCALL (rt_sigaction, 4, + sig, act ? &kact : NULL, + oact ? &koact : NULL, _NSIG / 8); + if (oact && result >= 0) + { + oact->sa_handler = koact.k_sa_handler; + memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t)); + oact->sa_flags = koact.sa_flags; + oact->sa_restorer = koact.sa_restorer; + } + return result; +} +libc_hidden_def (__libc_sigaction) + +#include <nptl/sigaction.c> + + +/* NOTE: Please think twice before making any changes to the bits of + code below. GDB needs some intimate knowledge about it to + recognize them as signal trampolines, and make backtraces through + signal handlers work right. Important are both the names + (__restore_rt) and the exact instruction sequence. + If you ever feel the need to make any changes, please notify the + appropriate GDB maintainer. + + The unwind information starts a byte before __restore_rt, so that + it is found when unwinding, to get an address the unwinder assumes + will be in the middle of a call instruction. See the Linux kernel + (the i386 vsyscall, in particular) for an explanation of the complex + unwind information used here in order to get the traditional CFA. + We do not restore cs - it's only stored as two bytes here so that's + a bit tricky. We don't use the gas cfi directives, so that we can + reliably add .cfi_signal_frame. */ + +#define do_cfa_expr \ + " .byte 0x0f\n" /* DW_CFA_def_cfa_expression */ \ + " .uleb128 2f-1f\n" /* length */ \ + "1: .byte 0x77\n" /* DW_OP_breg7 */ \ + " .sleb128 " CFI_STRINGIFY (oRSP) "\n" \ + " .byte 0x06\n" /* DW_OP_deref */ \ + "2:" + +#define do_expr(regno, offset) \ + " .byte 0x10\n" /* DW_CFA_expression */ \ + " .uleb128 " CFI_STRINGIFY (regno) "\n" \ + " .uleb128 2f-1f\n" /* length */ \ + "1: .byte 0x77\n" /* DW_OP_breg7 */ \ + " .sleb128 " CFI_STRINGIFY (offset) "\n" \ + "2:" + +#define RESTORE(name, syscall) RESTORE2 (name, syscall) +# define RESTORE2(name, syscall) \ +asm \ + ( \ + /* `nop' for debuggers assuming `call' should not disalign the code. */ \ + " nop\n" \ + ".align 16\n" \ + ".LSTART_" #name ":\n" \ + " .type __" #name ",@function\n" \ + "__" #name ":\n" \ + " movq $" #syscall ", %rax\n" \ + " syscall\n" \ + ".LEND_" #name ":\n" \ + ".section .eh_frame,\"a\",@progbits\n" \ + ".LSTARTFRAME_" #name ":\n" \ + " .long .LENDCIE_" #name "-.LSTARTCIE_" #name "\n" \ + ".LSTARTCIE_" #name ":\n" \ + " .long 0\n" /* CIE ID */ \ + " .byte 1\n" /* Version number */ \ + " .string \"zRS\"\n" /* NUL-terminated augmentation string */ \ + " .uleb128 1\n" /* Code alignment factor */ \ + " .sleb128 -8\n" /* Data alignment factor */ \ + " .uleb128 16\n" /* Return address register column (rip) */ \ + /* Augmentation value length */ \ + " .uleb128 .LENDAUGMNT_" #name "-.LSTARTAUGMNT_" #name "\n" \ + ".LSTARTAUGMNT_" #name ":\n" \ + " .byte 0x1b\n" /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ \ + ".LENDAUGMNT_" #name ":\n" \ + " .align " LP_SIZE "\n" \ + ".LENDCIE_" #name ":\n" \ + " .long .LENDFDE_" #name "-.LSTARTFDE_" #name "\n" /* FDE len */ \ + ".LSTARTFDE_" #name ":\n" \ + " .long .LSTARTFDE_" #name "-.LSTARTFRAME_" #name "\n" /* CIE */ \ + /* `LSTART_' is subtracted 1 as debuggers assume a `call' here. */ \ + " .long (.LSTART_" #name "-1)-.\n" /* PC-relative start addr. */ \ + " .long .LEND_" #name "-(.LSTART_" #name "-1)\n" \ + " .uleb128 0\n" /* FDE augmentation length */ \ + do_cfa_expr \ + do_expr (8 /* r8 */, oR8) \ + do_expr (9 /* r9 */, oR9) \ + do_expr (10 /* r10 */, oR10) \ + do_expr (11 /* r11 */, oR11) \ + do_expr (12 /* r12 */, oR12) \ + do_expr (13 /* r13 */, oR13) \ + do_expr (14 /* r14 */, oR14) \ + do_expr (15 /* r15 */, oR15) \ + do_expr (5 /* rdi */, oRDI) \ + do_expr (4 /* rsi */, oRSI) \ + do_expr (6 /* rbp */, oRBP) \ + do_expr (3 /* rbx */, oRBX) \ + do_expr (1 /* rdx */, oRDX) \ + do_expr (0 /* rax */, oRAX) \ + do_expr (2 /* rcx */, oRCX) \ + do_expr (7 /* rsp */, oRSP) \ + do_expr (16 /* rip */, oRIP) \ + /* libgcc-4.1.1 has only `DWARF_FRAME_REGISTERS == 17'. */ \ + /* do_expr (49 |* rflags *|, oEFL) */ \ + /* `cs'/`ds'/`fs' are unaligned and a different size. */ \ + /* gas: Error: register save offset not a multiple of 8 */ \ + " .align " LP_SIZE "\n" \ + ".LENDFDE_" #name ":\n" \ + " .previous\n" \ + ); +/* The return code for realtime-signals. */ +RESTORE (restore_rt, __NR_rt_sigreturn) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym new file mode 100644 index 0000000000..5ff3af4a82 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigaltstack-offsets.sym @@ -0,0 +1,15 @@ +#ifndef _XOPEN_EXTENDED +# define _XOPEN_EXTENDED +#endif + +#include <stddef.h> +#include <signal.h> + +-- + +#define sigaltstack(member) offsetof (stack_t, member) + +sizeSS sizeof (stack_t) +oSS_SP sigaltstack (ss_sp) +oSS_SIZE sigaltstack (ss_size) +oSS_FLAGS sigaltstack (ss_flags) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h new file mode 100644 index 0000000000..e935353ccd --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h @@ -0,0 +1,30 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <stdint.h> + +#define SIGCONTEXT siginfo_t *_si, struct ucontext * +#define SIGCONTEXT_EXTRA_ARGS _si, +#define GET_PC(ctx) \ + ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RIP]) +#define GET_FRAME(ctx) \ + ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RBP]) +#define GET_STACK(ctx) \ + ((void *) (uintptr_t) (ctx)->uc_mcontext.gregs[REG_RSP]) + +#define CALL_SIGHANDLER(handler, signo, ctx) \ + (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx)) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c new file mode 100644 index 0000000000..410217ed84 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigpending.c @@ -0,0 +1,36 @@ +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* Linux/x86_64 only has rt signals, thus we do not even want to try falling + back to the old style signals as the default Linux handler does. */ + +#include <errno.h> +#include <signal.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +/* Change the set of blocked signals to SET, + wait until a signal arrives, and restore the set of blocked signals. */ +int +sigpending (sigset_t *set) +{ + /* XXX The size argument hopefully will have to be changed to the + real size of the user-level sigset_t. */ + return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8); +} diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c new file mode 100644 index 0000000000..a87ad106ea --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c @@ -0,0 +1,38 @@ +/* Copyright (C) 1997-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* Linux/x86_64 only has rt signals, thus we do not even want to try falling + back to the old style signals as the default Linux handler does. */ + +#include <errno.h> +#include <signal.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +/* Get and/or change the set of blocked signals. */ +int +__sigprocmask (int how, const sigset_t *set, sigset_t *oset) +{ + + /* XXX The size argument hopefully will have to be changed to the + real size of the user-level sigset_t. */ + return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8); +} +weak_alias (__sigprocmask, sigprocmask) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/swapcontext.S new file mode 100644 index 0000000000..0e1f0b5cab --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/swapcontext.S @@ -0,0 +1,120 @@ +/* Save current context and install the given one. + Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Andreas Jaeger <aj@suse.de>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +#include "ucontext_i.h" + + +/* int __swapcontext (ucontext_t *oucp, const ucontext_t *ucp); + + Saves the machine context in oucp such that when it is activated, + it appears as if __swapcontextt() returned again, restores the + machine context in ucp and thereby resumes execution in that + context. + + This implementation is intended to be used for *synchronous* context + switches only. Therefore, it does not have to save anything + other than the PRESERVED state. */ + +ENTRY(__swapcontext) + /* Save the preserved registers, the registers used for passing args, + and the return address. */ + movq %rbx, oRBX(%rdi) + movq %rbp, oRBP(%rdi) + movq %r12, oR12(%rdi) + movq %r13, oR13(%rdi) + movq %r14, oR14(%rdi) + movq %r15, oR15(%rdi) + + movq %rdi, oRDI(%rdi) + movq %rsi, oRSI(%rdi) + movq %rdx, oRDX(%rdi) + movq %rcx, oRCX(%rdi) + movq %r8, oR8(%rdi) + movq %r9, oR9(%rdi) + + movq (%rsp), %rcx + movq %rcx, oRIP(%rdi) + leaq 8(%rsp), %rcx /* Exclude the return address. */ + movq %rcx, oRSP(%rdi) + + /* We have separate floating-point register content memory on the + stack. We use the __fpregs_mem block in the context. Set the + links up correctly. */ + leaq oFPREGSMEM(%rdi), %rcx + movq %rcx, oFPREGS(%rdi) + /* Save the floating-point environment. */ + fnstenv (%rcx) + stmxcsr oMXCSR(%rdi) + + + /* The syscall destroys some registers, save them. */ + movq %rsi, %r12 + + /* Save the current signal mask and install the new one with + rt_sigprocmask (SIG_BLOCK, newset, oldset,_NSIG/8). */ + leaq oSIGMASK(%rdi), %rdx + leaq oSIGMASK(%rsi), %rsi + movl $SIG_SETMASK, %edi + movl $_NSIG8,%r10d + movl $__NR_rt_sigprocmask, %eax + syscall + cmpq $-4095, %rax /* Check %rax for error. */ + jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ + + /* Restore destroyed registers. */ + movq %r12, %rsi + + /* Restore the floating-point context. Not the registers, only the + rest. */ + movq oFPREGS(%rsi), %rcx + fldenv (%rcx) + ldmxcsr oMXCSR(%rsi) + + /* Load the new stack pointer and the preserved registers. */ + movq oRSP(%rsi), %rsp + movq oRBX(%rsi), %rbx + movq oRBP(%rsi), %rbp + movq oR12(%rsi), %r12 + movq oR13(%rsi), %r13 + movq oR14(%rsi), %r14 + movq oR15(%rsi), %r15 + + /* The following ret should return to the address set with + getcontext. Therefore push the address on the stack. */ + movq oRIP(%rsi), %rcx + pushq %rcx + + /* Setup registers used for passing args. */ + movq oRDI(%rsi), %rdi + movq oRDX(%rsi), %rdx + movq oRCX(%rsi), %rcx + movq oR8(%rsi), %r8 + movq oR9(%rsi), %r9 + + /* Setup finally %rsi. */ + movq oRSI(%rsi), %rsi + + /* Clear rax to indicate success. */ + xorl %eax, %eax + ret +PSEUDO_END(__swapcontext) + +weak_alias (__swapcontext, swapcontext) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S new file mode 100644 index 0000000000..f6486b9e4d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscall.S @@ -0,0 +1,42 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +/* Please consult the file sysdeps/unix/sysv/linux/x86-64/sysdep.h for + more information about the value -4095 used below. */ + +/* Usage: long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5, arg6) + We need to do some arg shifting, the syscall_number will be in + rax. */ + + + .text +ENTRY (syscall) + movq %rdi, %rax /* Syscall number -> rax. */ + movq %rsi, %rdi /* shift arg1 - arg5. */ + movq %rdx, %rsi + movq %rcx, %rdx + movq %r8, %r10 + movq %r9, %r8 + movq 8(%rsp),%r9 /* arg6 is on the stack. */ + syscall /* Do the system call. */ + cmpq $-4095, %rax /* Check %rax for error. */ + jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ + ret /* Return to caller. */ + +PSEUDO_END (syscall) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list new file mode 100644 index 0000000000..889193ba76 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/syscalls.list @@ -0,0 +1,21 @@ +# File name Caller Syscall name # args Strong name Weak names + +arch_prctl EXTRA arch_prctl i:ii __arch_prctl arch_prctl +modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt +pread64 - pread64 Ci:ipii __libc_pread __libc_pread64 __pread64 pread64 __pread pread +preadv64 - preadv Ci:ipii preadv64 preadv +pwrite64 - pwrite64 Ci:ipii __libc_pwrite __libc_pwrite64 __pwrite64 pwrite64 __pwrite pwrite +pwritev64 - pwritev Ci:ipii pwritev64 pwritev +syscall_clock_gettime EXTRA clock_gettime Ei:ip __syscall_clock_gettime + + +# proper socket implementations: +bind - bind i:ipi __bind bind +getpeername - getpeername i:ipp __getpeername getpeername +getsockname - getsockname i:ipp __getsockname getsockname +getsockopt - getsockopt i:iiiBN __getsockopt getsockopt +listen - listen i:ii __listen listen +setsockopt - setsockopt i:iiibn __setsockopt setsockopt +shutdown - shutdown i:ii __shutdown shutdown +socket - socket i:iii __socket socket +socketpair - socketpair i:iiif __socketpair socketpair diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h new file mode 100644 index 0000000000..65980102be --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h @@ -0,0 +1,109 @@ +/* Copyright (C) 2002-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#include <tls.h> +#ifndef __ASSEMBLER__ +# include <nptl/pthreadP.h> +#endif + +#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt) + +/* The code to disable cancellation depends on the fact that the called + functions are special. They don't modify registers other than %rax + and %r11 if they return. Therefore we don't have to preserve other + registers around these calls. */ +# undef PSEUDO +# define PSEUDO(name, syscall_name, args) \ + .text; \ + ENTRY (name) \ + SINGLE_THREAD_P; \ + jne L(pseudo_cancel); \ + .type __##syscall_name##_nocancel,@function; \ + .globl __##syscall_name##_nocancel; \ + __##syscall_name##_nocancel: \ + DO_CALL (syscall_name, args); \ + cmpq $-4095, %rax; \ + jae SYSCALL_ERROR_LABEL; \ + ret; \ + .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \ + L(pseudo_cancel): \ + /* We always have to align the stack before calling a function. */ \ + subq $8, %rsp; cfi_adjust_cfa_offset (8); \ + CENABLE \ + /* The return value from CENABLE is argument for CDISABLE. */ \ + movq %rax, (%rsp); \ + DO_CALL (syscall_name, args); \ + movq (%rsp), %rdi; \ + /* Save %rax since it's the error code from the syscall. */ \ + movq %rax, %rdx; \ + CDISABLE \ + movq %rdx, %rax; \ + addq $8,%rsp; cfi_adjust_cfa_offset (-8); \ + cmpq $-4095, %rax; \ + jae SYSCALL_ERROR_LABEL + + +# if IS_IN (libpthread) +# define CENABLE call __pthread_enable_asynccancel; +# define CDISABLE call __pthread_disable_asynccancel; +# define __local_multiple_threads __pthread_multiple_threads +# elif IS_IN (libc) +# define CENABLE call __libc_enable_asynccancel; +# define CDISABLE call __libc_disable_asynccancel; +# define __local_multiple_threads __libc_multiple_threads +# elif IS_IN (librt) +# define CENABLE call __librt_enable_asynccancel; +# define CDISABLE call __librt_disable_asynccancel; +# else +# error Unsupported library +# endif + +# if IS_IN (libpthread) || IS_IN (libc) +# ifndef __ASSEMBLER__ +extern int __local_multiple_threads attribute_hidden; +# define SINGLE_THREAD_P \ + __builtin_expect (__local_multiple_threads == 0, 1) +# else +# define SINGLE_THREAD_P cmpl $0, __local_multiple_threads(%rip) +# endif + +# else + +# ifndef __ASSEMBLER__ +# define SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +# else +# define SINGLE_THREAD_P cmpl $0, %fs:MULTIPLE_THREADS_OFFSET +# endif + +# endif + +#elif !defined __ASSEMBLER__ + +# define SINGLE_THREAD_P (1) +# define NO_CANCELLATION 1 + +#endif + +#ifndef __ASSEMBLER__ +# define RTLD_SINGLE_THREAD_P \ + __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ + header.multiple_threads) == 0, 1) +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.S new file mode 100644 index 0000000000..29b664d3f1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.S @@ -0,0 +1,40 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +/* The following code is only used in the shared library when we + compile the reentrant version. Otherwise each system call defines + each own version. */ + +#ifndef PIC + +/* The syscall stubs jump here when they detect an error. + The code for Linux is almost identical to the canonical Unix + code, except that the error number in %rax is negated. */ + +#undef CALL_MCOUNT +#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %rax. */ + + .text +ENTRY (__syscall_error) + neg %RAX_LP + +#define __syscall_error __syscall_error_1 +#include <sysdeps/unix/x86_64/sysdep.S> + +#endif /* !PIC */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h new file mode 100644 index 0000000000..880e496880 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/sysdep.h @@ -0,0 +1,392 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LINUX_X86_64_SYSDEP_H +#define _LINUX_X86_64_SYSDEP_H 1 + +/* There is some commonality. */ +#include <sysdeps/unix/sysv/linux/sysdep.h> +#include <sysdeps/unix/x86_64/sysdep.h> +#include <tls.h> + +#if IS_IN (rtld) +# include <dl-sysdep.h> /* Defines RTLD_PRIVATE_ERRNO. */ +#endif + +/* For Linux we can use the system call table in the header file + /usr/include/asm/unistd.h + of the kernel. But these symbols do not follow the SYS_* syntax + so we have to redefine the `SYS_ify' macro here. */ +#undef SYS_ify +#define SYS_ify(syscall_name) __NR_##syscall_name + +/* This is a kludge to make syscalls.list find these under the names + pread and pwrite, since some kernel headers define those names + and some define the *64 names for the same system calls. */ +#if !defined __NR_pread && defined __NR_pread64 +# define __NR_pread __NR_pread64 +#endif +#if !defined __NR_pwrite && defined __NR_pwrite64 +# define __NR_pwrite __NR_pwrite64 +#endif + +/* This is to help the old kernel headers where __NR_semtimedop is not + available. */ +#ifndef __NR_semtimedop +# define __NR_semtimedop 220 +#endif + + +#ifdef __ASSEMBLER__ + +/* Linux uses a negative return value to indicate syscall errors, + unlike most Unices, which use the condition codes' carry flag. + + Since version 2.1 the return value of a system call might be + negative even if the call succeeded. E.g., the `lseek' system call + might return a large offset. Therefore we must not anymore test + for < 0, but test for a real error by making sure the value in %eax + is a real error number. Linus said he will make sure the no syscall + returns a value in -1 .. -4095 as a valid result so we can savely + test with -4095. */ + +/* We don't want the label for the error handle to be global when we define + it here. */ +# ifdef PIC +# define SYSCALL_ERROR_LABEL 0f +# else +# define SYSCALL_ERROR_LABEL syscall_error +# endif + +# undef PSEUDO +# define PSEUDO(name, syscall_name, args) \ + .text; \ + ENTRY (name) \ + DO_CALL (syscall_name, args); \ + cmpq $-4095, %rax; \ + jae SYSCALL_ERROR_LABEL + +# undef PSEUDO_END +# define PSEUDO_END(name) \ + SYSCALL_ERROR_HANDLER \ + END (name) + +# undef PSEUDO_NOERRNO +# define PSEUDO_NOERRNO(name, syscall_name, args) \ + .text; \ + ENTRY (name) \ + DO_CALL (syscall_name, args) + +# undef PSEUDO_END_NOERRNO +# define PSEUDO_END_NOERRNO(name) \ + END (name) + +# define ret_NOERRNO ret + +# undef PSEUDO_ERRVAL +# define PSEUDO_ERRVAL(name, syscall_name, args) \ + .text; \ + ENTRY (name) \ + DO_CALL (syscall_name, args); \ + negq %rax + +# undef PSEUDO_END_ERRVAL +# define PSEUDO_END_ERRVAL(name) \ + END (name) + +# define ret_ERRVAL ret + +# if defined PIC && defined RTLD_PRIVATE_ERRNO +# define SYSCALL_SET_ERRNO \ + lea rtld_errno(%rip), %RCX_LP; \ + neg %eax; \ + movl %eax, (%rcx) +# else +# if IS_IN (libc) +# define SYSCALL_ERROR_ERRNO __libc_errno +# else +# define SYSCALL_ERROR_ERRNO errno +# endif +# define SYSCALL_SET_ERRNO \ + movq SYSCALL_ERROR_ERRNO@GOTTPOFF(%rip), %rcx;\ + neg %eax; \ + movl %eax, %fs:(%rcx); +# endif + +# ifndef PIC +# define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ +# else +# define SYSCALL_ERROR_HANDLER \ +0: \ + SYSCALL_SET_ERRNO; \ + or $-1, %RAX_LP; \ + ret; +# endif /* PIC */ + +/* The Linux/x86-64 kernel expects the system call parameters in + registers according to the following table: + + syscall number rax + arg 1 rdi + arg 2 rsi + arg 3 rdx + arg 4 r10 + arg 5 r8 + arg 6 r9 + + The Linux kernel uses and destroys internally these registers: + return address from + syscall rcx + eflags from syscall r11 + + Normal function call, including calls to the system call stub + functions in the libc, get the first six parameters passed in + registers and the seventh parameter and later on the stack. The + register use is as follows: + + system call number in the DO_CALL macro + arg 1 rdi + arg 2 rsi + arg 3 rdx + arg 4 rcx + arg 5 r8 + arg 6 r9 + + We have to take care that the stack is aligned to 16 bytes. When + called the stack is not aligned since the return address has just + been pushed. + + + Syscalls of more than 6 arguments are not supported. */ + +# undef DO_CALL +# define DO_CALL(syscall_name, args) \ + DOARGS_##args \ + movl $SYS_ify (syscall_name), %eax; \ + syscall; + +# define DOARGS_0 /* nothing */ +# define DOARGS_1 /* nothing */ +# define DOARGS_2 /* nothing */ +# define DOARGS_3 /* nothing */ +# define DOARGS_4 movq %rcx, %r10; +# define DOARGS_5 DOARGS_4 +# define DOARGS_6 DOARGS_5 + +#else /* !__ASSEMBLER__ */ +/* Define a macro which expands inline into the wrapper code for a system + call. */ +# undef INLINE_SYSCALL +# define INLINE_SYSCALL(name, nr, args...) \ + ({ \ + unsigned long int resultvar = INTERNAL_SYSCALL (name, , nr, args); \ + if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, ))) \ + { \ + __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, )); \ + resultvar = (unsigned long int) -1; \ + } \ + (long int) resultvar; }) + +/* Define a macro with explicit types for arguments, which expands inline + into the wrapper code for a system call. It should be used when size + of any argument > size of long int. */ +# undef INLINE_SYSCALL_TYPES +# define INLINE_SYSCALL_TYPES(name, nr, args...) \ + ({ \ + unsigned long int resultvar = INTERNAL_SYSCALL_TYPES (name, , nr, args); \ + if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, ))) \ + { \ + __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, )); \ + resultvar = (unsigned long int) -1; \ + } \ + (long int) resultvar; }) + +# undef INTERNAL_SYSCALL_DECL +# define INTERNAL_SYSCALL_DECL(err) do { } while (0) + +/* Registers clobbered by syscall. */ +# define REGISTERS_CLOBBERED_BY_SYSCALL "cc", "r11", "cx" + +# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ + ({ \ + unsigned long int resultvar; \ + LOAD_ARGS_##nr (args) \ + LOAD_REGS_##nr \ + asm volatile ( \ + "syscall\n\t" \ + : "=a" (resultvar) \ + : "0" (name) ASM_ARGS_##nr : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ + (long int) resultvar; }) +# undef INTERNAL_SYSCALL +# define INTERNAL_SYSCALL(name, err, nr, args...) \ + INTERNAL_SYSCALL_NCS (__NR_##name, err, nr, ##args) + +# define INTERNAL_SYSCALL_NCS_TYPES(name, err, nr, args...) \ + ({ \ + unsigned long int resultvar; \ + LOAD_ARGS_TYPES_##nr (args) \ + LOAD_REGS_TYPES_##nr (args) \ + asm volatile ( \ + "syscall\n\t" \ + : "=a" (resultvar) \ + : "0" (name) ASM_ARGS_##nr : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ + (long int) resultvar; }) +# undef INTERNAL_SYSCALL_TYPES +# define INTERNAL_SYSCALL_TYPES(name, err, nr, args...) \ + INTERNAL_SYSCALL_NCS_TYPES (__NR_##name, err, nr, ##args) + +# undef INTERNAL_SYSCALL_ERROR_P +# define INTERNAL_SYSCALL_ERROR_P(val, err) \ + ((unsigned long int) (long int) (val) >= -4095L) + +# undef INTERNAL_SYSCALL_ERRNO +# define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) + +/* List of system calls which are supported as vsyscalls. */ +# define HAVE_CLOCK_GETTIME_VSYSCALL 1 +# define HAVE_GETTIMEOFDAY_VSYSCALL 1 +# define HAVE_GETCPU_VSYSCALL 1 + +# define LOAD_ARGS_0() +# define LOAD_REGS_0 +# define ASM_ARGS_0 + +# define LOAD_ARGS_TYPES_1(t1, a1) \ + t1 __arg1 = (t1) (a1); \ + LOAD_ARGS_0 () +# define LOAD_REGS_TYPES_1(t1, a1) \ + register t1 _a1 asm ("rdi") = __arg1; \ + LOAD_REGS_0 +# define ASM_ARGS_1 ASM_ARGS_0, "r" (_a1) +# define LOAD_ARGS_1(a1) \ + LOAD_ARGS_TYPES_1 (long int, a1) +# define LOAD_REGS_1 \ + LOAD_REGS_TYPES_1 (long int, a1) + +# define LOAD_ARGS_TYPES_2(t1, a1, t2, a2) \ + t2 __arg2 = (t2) (a2); \ + LOAD_ARGS_TYPES_1 (t1, a1) +# define LOAD_REGS_TYPES_2(t1, a1, t2, a2) \ + register t2 _a2 asm ("rsi") = __arg2; \ + LOAD_REGS_TYPES_1(t1, a1) +# define ASM_ARGS_2 ASM_ARGS_1, "r" (_a2) +# define LOAD_ARGS_2(a1, a2) \ + LOAD_ARGS_TYPES_2 (long int, a1, long int, a2) +# define LOAD_REGS_2 \ + LOAD_REGS_TYPES_2 (long int, a1, long int, a2) + +# define LOAD_ARGS_TYPES_3(t1, a1, t2, a2, t3, a3) \ + t3 __arg3 = (t3) (a3); \ + LOAD_ARGS_TYPES_2 (t1, a1, t2, a2) +# define LOAD_REGS_TYPES_3(t1, a1, t2, a2, t3, a3) \ + register t3 _a3 asm ("rdx") = __arg3; \ + LOAD_REGS_TYPES_2(t1, a1, t2, a2) +# define ASM_ARGS_3 ASM_ARGS_2, "r" (_a3) +# define LOAD_ARGS_3(a1, a2, a3) \ + LOAD_ARGS_TYPES_3 (long int, a1, long int, a2, long int, a3) +# define LOAD_REGS_3 \ + LOAD_REGS_TYPES_3 (long int, a1, long int, a2, long int, a3) + +# define LOAD_ARGS_TYPES_4(t1, a1, t2, a2, t3, a3, t4, a4) \ + t4 __arg4 = (t4) (a4); \ + LOAD_ARGS_TYPES_3 (t1, a1, t2, a2, t3, a3) +# define LOAD_REGS_TYPES_4(t1, a1, t2, a2, t3, a3, t4, a4) \ + register t4 _a4 asm ("r10") = __arg4; \ + LOAD_REGS_TYPES_3(t1, a2, t2, a2, t3, a3) +# define ASM_ARGS_4 ASM_ARGS_3, "r" (_a4) +# define LOAD_ARGS_4(a1, a2, a3, a4) \ + LOAD_ARGS_TYPES_4 (long int, a1, long int, a2, long int, a3, \ + long int, a4) +# define LOAD_REGS_4 \ + LOAD_REGS_TYPES_4 (long int, a1, long int, a2, long int, a3, \ + long int, a4) + +# define LOAD_ARGS_TYPES_5(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5) \ + t5 __arg5 = (t5) (a5); \ + LOAD_ARGS_TYPES_4 (t1, a1, t2, a2, t3, a3, t4, a4) +# define LOAD_REGS_TYPES_5(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5) \ + register t5 _a5 asm ("r8") = __arg5; \ + LOAD_REGS_TYPES_4 (t1, a1, t2, a2, t3, a3, t4, a4) +# define ASM_ARGS_5 ASM_ARGS_4, "r" (_a5) +# define LOAD_ARGS_5(a1, a2, a3, a4, a5) \ + LOAD_ARGS_TYPES_5 (long int, a1, long int, a2, long int, a3, \ + long int, a4, long int, a5) +# define LOAD_REGS_5 \ + LOAD_REGS_TYPES_5 (long int, a1, long int, a2, long int, a3, \ + long int, a4, long int, a5) + +# define LOAD_ARGS_TYPES_6(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, t6, a6) \ + t6 __arg6 = (t6) (a6); \ + LOAD_ARGS_TYPES_5 (t1, a1, t2, a2, t3, a3, t4, a4, t5, a5) +# define LOAD_REGS_TYPES_6(t1, a1, t2, a2, t3, a3, t4, a4, t5, a5, t6, a6) \ + register t6 _a6 asm ("r9") = __arg6; \ + LOAD_REGS_TYPES_5 (t1, a1, t2, a2, t3, a3, t4, a4, t5, a5) +# define ASM_ARGS_6 ASM_ARGS_5, "r" (_a6) +# define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6) \ + LOAD_ARGS_TYPES_6 (long int, a1, long int, a2, long int, a3, \ + long int, a4, long int, a5, long int, a6) +# define LOAD_REGS_6 \ + LOAD_REGS_TYPES_6 (long int, a1, long int, a2, long int, a3, \ + long int, a4, long int, a5, long int, a6) + +#endif /* __ASSEMBLER__ */ + + +/* Pointer mangling support. */ +#if IS_IN (rtld) +/* We cannot use the thread descriptor because in ld.so we use setjmp + earlier than the descriptor is initialized. */ +# ifdef __ASSEMBLER__ +# define PTR_MANGLE(reg) xor __pointer_chk_guard_local(%rip), reg; \ + rol $2*LP_SIZE+1, reg +# define PTR_DEMANGLE(reg) ror $2*LP_SIZE+1, reg; \ + xor __pointer_chk_guard_local(%rip), reg +# else +# define PTR_MANGLE(reg) asm ("xor __pointer_chk_guard_local(%%rip), %0\n" \ + "rol $2*" LP_SIZE "+1, %0" \ + : "=r" (reg) : "0" (reg)) +# define PTR_DEMANGLE(reg) asm ("ror $2*" LP_SIZE "+1, %0\n" \ + "xor __pointer_chk_guard_local(%%rip), %0" \ + : "=r" (reg) : "0" (reg)) +# endif +#else +# ifdef __ASSEMBLER__ +# define PTR_MANGLE(reg) xor %fs:POINTER_GUARD, reg; \ + rol $2*LP_SIZE+1, reg +# define PTR_DEMANGLE(reg) ror $2*LP_SIZE+1, reg; \ + xor %fs:POINTER_GUARD, reg +# else +# define PTR_MANGLE(var) asm ("xor %%fs:%c2, %0\n" \ + "rol $2*" LP_SIZE "+1, %0" \ + : "=r" (var) \ + : "0" (var), \ + "i" (offsetof (tcbhead_t, \ + pointer_guard))) +# define PTR_DEMANGLE(var) asm ("ror $2*" LP_SIZE "+1, %0\n" \ + "xor %%fs:%c2, %0" \ + : "=r" (var) \ + : "0" (var), \ + "i" (offsetof (tcbhead_t, \ + pointer_guard))) +# endif +#endif + +/* How to pass the off{64}_t argument on p{readv,writev}{64}. */ +#undef LO_HI_LONG +#define LO_HI_LONG(val) (val), 0 + +#endif /* linux/x86_64/sysdep.h */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c new file mode 100644 index 0000000000..7fbe9618b4 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_create.c @@ -0,0 +1,65 @@ +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see <http://www.gnu.org/licenses/>. */ + +#include <shlib-compat.h> +#include "compat-timer.h" +#include <atomic.h> + + +#define timer_create_alias __timer_create_new +#include <sysdeps/unix/sysv/linux/timer_create.c> + +#undef timer_create +versioned_symbol (librt, __timer_create_new, timer_create, GLIBC_2_3_3); + + +#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) +timer_t __compat_timer_list[OLD_TIMER_MAX] attribute_hidden; + + +int +__timer_create_old (clockid_t clock_id, struct sigevent *evp, int *timerid) +{ + timer_t newp; + + int res = __timer_create_new (clock_id, evp, &newp); + if (res == 0) + { + int i; + for (i = 0; i < OLD_TIMER_MAX; ++i) + if (__compat_timer_list[i] == NULL + && ! atomic_compare_and_exchange_bool_acq (&__compat_timer_list[i], + newp, NULL)) + { + *timerid = i; + break; + } + + if (__glibc_unlikely (i == OLD_TIMER_MAX)) + { + /* No free slot. */ + (void) __timer_delete_new (newp); + __set_errno (EINVAL); + res = -1; + } + } + + return res; +} +compat_symbol (librt, __timer_create_old, timer_create, GLIBC_2_2); +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c new file mode 100644 index 0000000000..eb24585c85 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_delete.c @@ -0,0 +1,44 @@ +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see <http://www.gnu.org/licenses/>. */ + +#include <shlib-compat.h> +#include "compat-timer.h" + + +#define timer_delete_alias __timer_delete_new +#include <sysdeps/unix/sysv/linux/timer_delete.c> + +#undef timer_delete +versioned_symbol (librt, __timer_delete_new, timer_delete, GLIBC_2_3_3); + + +#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) +int +__timer_delete_old (int timerid) +{ + int res = __timer_delete_new (__compat_timer_list[timerid]); + + if (res == 0) + /* Successful timer deletion, now free the index. We only need to + store a word and that better be atomic. */ + __compat_timer_list[timerid] = NULL; + + return res; +} +compat_symbol (librt, __timer_delete_old, timer_delete, GLIBC_2_2); +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c new file mode 100644 index 0000000000..78d45ab371 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c @@ -0,0 +1,38 @@ +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see <http://www.gnu.org/licenses/>. */ + +#include <shlib-compat.h> +#include "compat-timer.h" + + +#define timer_getoverrun_alias __timer_getoverrun_new +#include <sysdeps/unix/sysv/linux/timer_getoverr.c> + +#undef timer_getoverrun +versioned_symbol (librt, __timer_getoverrun_new, timer_getoverrun, + GLIBC_2_3_3); + + +#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) +int +__timer_getoverrun_old (int timerid) +{ + return __timer_getoverrun_new (__compat_timer_list[timerid]); +} +compat_symbol (librt, __timer_getoverrun_old, timer_getoverrun, GLIBC_2_2); +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c new file mode 100644 index 0000000000..35af18226e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_gettime.c @@ -0,0 +1,37 @@ +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see <http://www.gnu.org/licenses/>. */ + +#include <shlib-compat.h> +#include "compat-timer.h" + + +#define timer_gettime_alias __timer_gettime_new +#include <sysdeps/unix/sysv/linux/timer_gettime.c> + +#undef timer_gettime +versioned_symbol (librt, __timer_gettime_new, timer_gettime, GLIBC_2_3_3); + + +#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) +int +__timer_gettime_old (int timerid, struct itimerspec *value) +{ + return __timer_gettime_new (__compat_timer_list[timerid], value); +} +compat_symbol (librt, __timer_gettime_old, timer_gettime, GLIBC_2_2); +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c new file mode 100644 index 0000000000..7174a505a8 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/timer_settime.c @@ -0,0 +1,39 @@ +/* Copyright (C) 2003-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@redhat.com>, 2003. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see <http://www.gnu.org/licenses/>. */ + +#include <shlib-compat.h> +#include "compat-timer.h" + + +#define timer_settime_alias __timer_settime_new +#include <sysdeps/unix/sysv/linux/timer_settime.c> + +#undef timer_settime +versioned_symbol (librt, __timer_settime_new, timer_settime, GLIBC_2_3_3); + + +#if SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) +int +__timer_settime_old (int timerid, int flags, const struct itimerspec *value, + struct itimerspec *ovalue) +{ + return __timer_settime_new (__compat_timer_list[timerid], flags, + value, ovalue); +} +compat_symbol (librt, __timer_settime_old, timer_settime, GLIBC_2_2); +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym new file mode 100644 index 0000000000..af3e0e544b --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/ucontext_i.sym @@ -0,0 +1,37 @@ +#include <stddef.h> +#include <signal.h> +#include <sys/ucontext.h> + +-- + +SIG_BLOCK +SIG_SETMASK + +_NSIG8 (_NSIG / 8) + +#define ucontext(member) offsetof (ucontext_t, member) +#define mcontext(member) ucontext (uc_mcontext.member) +#define mreg(reg) mcontext (gregs[REG_##reg]) + +oRBP mreg (RBP) +oRSP mreg (RSP) +oRBX mreg (RBX) +oR8 mreg (R8) +oR9 mreg (R9) +oR10 mreg (R10) +oR11 mreg (R11) +oR12 mreg (R12) +oR13 mreg (R13) +oR14 mreg (R14) +oR15 mreg (R15) +oRDI mreg (RDI) +oRSI mreg (RSI) +oRDX mreg (RDX) +oRAX mreg (RAX) +oRCX mreg (RCX) +oRIP mreg (RIP) +oEFL mreg (EFL) +oFPREGS mcontext (fpregs) +oSIGMASK ucontext (uc_sigmask) +oFPREGSMEM ucontext (__fpregs_mem) +oMXCSR ucontext (__fpregs_mem.mxcsr) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c new file mode 100644 index 0000000000..1de40a476e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/umount.c @@ -0,0 +1,30 @@ +/* Copyright (C) 2000-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by David Huggins-Daines <dhd@debian.org>, 2000. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* Since we don't have an oldumount system call, do what the kernel + does down here. */ + +extern long int __umount2 (const char *name, int flags); + +long int +__umount (const char *name) +{ + return __umount2 (name, 0); +} + +weak_alias (__umount, umount); diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S new file mode 100644 index 0000000000..a8b0369fb3 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/vfork.S @@ -0,0 +1,55 @@ +/* Copyright (C) 2001-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> +#define _ERRNO_H 1 +#include <bits/errno.h> +#include <tcb-offsets.h> + + +/* Clone the calling process, but without copying the whole address space. + The calling process is suspended until the new process exits or is + replaced by a call to `execve'. Return -1 for errors, 0 to the new process, + and the process ID of the new process to the old process. */ + +ENTRY (__vfork) + + /* Pop the return PC value into RDI. We need a register that + is preserved by the syscall and that we're allowed to destroy. */ + popq %rdi + cfi_adjust_cfa_offset(-8) + cfi_register(%rip, %rdi) + + /* Stuff the syscall number in RAX and enter into the kernel. */ + movl $SYS_ify (vfork), %eax + syscall + + /* Push back the return PC. */ + pushq %rdi + cfi_adjust_cfa_offset(8) + + cmpl $-4095, %eax + jae SYSCALL_ERROR_LABEL /* Branch forward if it failed. */ + + /* Normal return. */ + ret + +PSEUDO_END (__vfork) +libc_hidden_def (__vfork) + +weak_alias (__vfork, vfork) +strong_alias (__vfork, __libc_vfork) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies new file mode 100644 index 0000000000..b287872e93 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Implies @@ -0,0 +1 @@ +x86_64/x32/nptl diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile new file mode 100644 index 0000000000..16b768d8ba --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/Makefile @@ -0,0 +1,11 @@ +# The default ABI is x32. +default-abi := x32 + +ifeq ($(subdir),misc) +sysdep_routines += arch_prctl +endif + +ifeq ($(subdir),conform) +# For bugs 16437 and 21279. +conformtest-xfail-conds += x86_64-x32-linux +endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c new file mode 100644 index 0000000000..67880e4b28 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/arch_prctl.c @@ -0,0 +1,63 @@ +/* arch_prctl call for Linux/x32. + Copyright (C) 2012-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <sys/prctl.h> +#include <sys/syscall.h> +#include <sysdep.h> +#include <stdint.h> + +/* Since x32 arch_prctl stores 32-bit base address of segment registers + %fs and %gs as unsigned 64-bit value via ARCH_GET_FS and ARCH_GET_GS, + we use an unsigned 64-bit variable to hold the base address and copy + it to ADDR after the system call returns. */ + +int +__arch_prctl (int code, uintptr_t *addr) +{ + int res; + uint64_t addr64; + void *prctl_arg = addr; + + switch (code) + { + case ARCH_GET_FS: + case ARCH_GET_GS: + prctl_arg = &addr64; + break; + } + + res = INLINE_SYSCALL (arch_prctl, 2, code, prctl_arg); + if (res == 0) + switch (code) + { + case ARCH_GET_FS: + case ARCH_GET_GS: + /* Check for a large value that overflows. */ + if ((uintptr_t) addr64 != addr64) + { + __set_errno (EOVERFLOW); + return -1; + } + *addr = (uintptr_t) addr64; + break; + } + + return res; +} +weak_alias (__arch_prctl, arch_prctl) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data new file mode 100644 index 0000000000..348bf52b2b --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/c++-types.data @@ -0,0 +1,67 @@ +blkcnt64_t:x +blkcnt_t:x +blksize_t:x +caddr_t:Pc +clockid_t:i +clock_t:x +daddr_t:i +dev_t:y +fd_mask:l +fsblkcnt64_t:y +fsblkcnt_t:y +fsfilcnt64_t:y +fsfilcnt_t:y +fsid_t:8__fsid_t +gid_t:j +id_t:j +ino64_t:y +ino_t:y +int16_t:s +int32_t:i +int64_t:x +int8_t:a +intptr_t:i +key_t:i +loff_t:x +mode_t:j +nlink_t:y +off64_t:x +off_t:x +pid_t:i +pthread_attr_t:14pthread_attr_t +pthread_barrier_t:17pthread_barrier_t +pthread_barrierattr_t:21pthread_barrierattr_t +pthread_cond_t:14pthread_cond_t +pthread_condattr_t:18pthread_condattr_t +pthread_key_t:j +pthread_mutex_t:15pthread_mutex_t +pthread_mutexattr_t:19pthread_mutexattr_t +pthread_once_t:i +pthread_rwlock_t:16pthread_rwlock_t +pthread_rwlockattr_t:20pthread_rwlockattr_t +pthread_spinlock_t:i +pthread_t:m +quad_t:x +register_t:x +rlim64_t:y +rlim_t:y +sigset_t:10__sigset_t +size_t:j +socklen_t:j +ssize_t:i +suseconds_t:x +time_t:x +u_char:h +uid_t:j +uint:j +u_int:j +u_int16_t:t +u_int32_t:j +u_int64_t:y +u_int8_t:h +ulong:m +u_long:m +u_quad_t:y +useconds_t:j +ushort:t +u_short:t diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure new file mode 100644 index 0000000000..1417da4785 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure @@ -0,0 +1,17 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32. + +arch_minimum_kernel=3.4.0 + +test -n "$libc_cv_slibdir" || +case "$prefix" in +/usr | /usr/) + libc_cv_slibdir=/libx32 + libc_cv_rtlddir=/libx32 + if test "$libdir" = '${exec_prefix}/lib'; then + libdir='${exec_prefix}/libx32'; + # Locale data can be shared between 32-bit and 64-bit libraries. + libc_cv_complocaledir='${exec_prefix}/lib/locale' + fi + ;; +esac diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac new file mode 100644 index 0000000000..f44e4ca148 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/configure.ac @@ -0,0 +1,6 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/unix/sysv/linux/86_64/x32. + +arch_minimum_kernel=3.4.0 + +LIBC_SLIBDIR_RTLDDIR([libx32], [libx32]) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h new file mode 100644 index 0000000000..8da3025fd7 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/dl-cache.h @@ -0,0 +1,23 @@ +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. + Copyright (C) 2012-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdeps/unix/sysv/linux/x86_64/dl-cache.h> + +/* Defined as (FLAG_ELF_LIBC6 | FLAG_X8664_LIBX32). */ +#undef _DL_CACHE_DEFAULT_ID +#define _DL_CACHE_DEFAULT_ID 0x803 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c new file mode 100644 index 0000000000..980573ed68 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts.c @@ -0,0 +1 @@ +#include <sysdeps/wordsize-64/fts.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c new file mode 100644 index 0000000000..221d1b5608 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/fts64.c @@ -0,0 +1 @@ +#include <sysdeps/wordsize-64/fts64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c new file mode 100644 index 0000000000..a21dfe5690 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw.c @@ -0,0 +1 @@ +#include <sysdeps/wordsize-64/ftw.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c new file mode 100644 index 0000000000..3c025b738a --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ftw64.c @@ -0,0 +1 @@ +#include <sysdeps/wordsize-64/ftw64.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c new file mode 100644 index 0000000000..cd26d2e627 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/getcpu.c @@ -0,0 +1,32 @@ +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifdef SHARED +# include <dl-vdso.h> + +void *getcpu_ifunc (void) __asm__ ("__getcpu"); + +void * +inhibit_stack_protector +getcpu_ifunc (void) +{ + PREPARE_VERSION (linux26, "LINUX_2.6", 61765110); + + return _dl_vdso_vsym ("__vdso_getcpu", &linux26); +} +__asm (".type __getcpu, %gnu_indirect_function"); +#endif diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c new file mode 100644 index 0000000000..e5427475f6 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/glob.c @@ -0,0 +1 @@ +#include <sysdeps/wordsize-64/glob.c> diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist new file mode 100644 index 0000000000..236357bd83 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/ld.abilist @@ -0,0 +1,9 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 __libc_stack_end D 0x4 +GLIBC_2.16 __tls_get_addr F +GLIBC_2.16 _dl_mcount F +GLIBC_2.16 _r_debug D 0x14 +GLIBC_2.16 calloc F +GLIBC_2.16 free F +GLIBC_2.16 malloc F +GLIBC_2.16 realloc F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist new file mode 100644 index 0000000000..0c8f428e3b --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libBrokenLocale.abilist @@ -0,0 +1,2 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 __ctype_get_mb_cur_max F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist new file mode 100644 index 0000000000..695118b9d5 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libanl.abilist @@ -0,0 +1,5 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 gai_cancel F +GLIBC_2.16 gai_error F +GLIBC_2.16 gai_suspend F +GLIBC_2.16 getaddrinfo_a F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist new file mode 100644 index 0000000000..0c557e9f43 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -0,0 +1,2112 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 _Exit F +GLIBC_2.16 _IO_2_1_stderr_ D 0xa0 +GLIBC_2.16 _IO_2_1_stdin_ D 0xa0 +GLIBC_2.16 _IO_2_1_stdout_ D 0xa0 +GLIBC_2.16 _IO_adjust_column F +GLIBC_2.16 _IO_adjust_wcolumn F +GLIBC_2.16 _IO_default_doallocate F +GLIBC_2.16 _IO_default_finish F +GLIBC_2.16 _IO_default_pbackfail F +GLIBC_2.16 _IO_default_uflow F +GLIBC_2.16 _IO_default_xsgetn F +GLIBC_2.16 _IO_default_xsputn F +GLIBC_2.16 _IO_do_write F +GLIBC_2.16 _IO_doallocbuf F +GLIBC_2.16 _IO_fclose F +GLIBC_2.16 _IO_fdopen F +GLIBC_2.16 _IO_feof F +GLIBC_2.16 _IO_ferror F +GLIBC_2.16 _IO_fflush F +GLIBC_2.16 _IO_fgetpos F +GLIBC_2.16 _IO_fgetpos64 F +GLIBC_2.16 _IO_fgets F +GLIBC_2.16 _IO_file_attach F +GLIBC_2.16 _IO_file_close F +GLIBC_2.16 _IO_file_close_it F +GLIBC_2.16 _IO_file_doallocate F +GLIBC_2.16 _IO_file_finish F +GLIBC_2.16 _IO_file_fopen F +GLIBC_2.16 _IO_file_init F +GLIBC_2.16 _IO_file_jumps D 0x54 +GLIBC_2.16 _IO_file_open F +GLIBC_2.16 _IO_file_overflow F +GLIBC_2.16 _IO_file_read F +GLIBC_2.16 _IO_file_seek F +GLIBC_2.16 _IO_file_seekoff F +GLIBC_2.16 _IO_file_setbuf F +GLIBC_2.16 _IO_file_stat F +GLIBC_2.16 _IO_file_sync F +GLIBC_2.16 _IO_file_underflow F +GLIBC_2.16 _IO_file_write F +GLIBC_2.16 _IO_file_xsputn F +GLIBC_2.16 _IO_flockfile F +GLIBC_2.16 _IO_flush_all F +GLIBC_2.16 _IO_flush_all_linebuffered F +GLIBC_2.16 _IO_fopen F +GLIBC_2.16 _IO_fprintf F +GLIBC_2.16 _IO_fputs F +GLIBC_2.16 _IO_fread F +GLIBC_2.16 _IO_free_backup_area F +GLIBC_2.16 _IO_free_wbackup_area F +GLIBC_2.16 _IO_fsetpos F +GLIBC_2.16 _IO_fsetpos64 F +GLIBC_2.16 _IO_ftell F +GLIBC_2.16 _IO_ftrylockfile F +GLIBC_2.16 _IO_funlockfile F +GLIBC_2.16 _IO_fwrite F +GLIBC_2.16 _IO_getc F +GLIBC_2.16 _IO_getline F +GLIBC_2.16 _IO_getline_info F +GLIBC_2.16 _IO_gets F +GLIBC_2.16 _IO_init F +GLIBC_2.16 _IO_init_marker F +GLIBC_2.16 _IO_init_wmarker F +GLIBC_2.16 _IO_iter_begin F +GLIBC_2.16 _IO_iter_end F +GLIBC_2.16 _IO_iter_file F +GLIBC_2.16 _IO_iter_next F +GLIBC_2.16 _IO_least_wmarker F +GLIBC_2.16 _IO_link_in F +GLIBC_2.16 _IO_list_all D 0x4 +GLIBC_2.16 _IO_list_lock F +GLIBC_2.16 _IO_list_resetlock F +GLIBC_2.16 _IO_list_unlock F +GLIBC_2.16 _IO_marker_delta F +GLIBC_2.16 _IO_marker_difference F +GLIBC_2.16 _IO_padn F +GLIBC_2.16 _IO_peekc_locked F +GLIBC_2.16 _IO_popen F +GLIBC_2.16 _IO_printf F +GLIBC_2.16 _IO_proc_close F +GLIBC_2.16 _IO_proc_open F +GLIBC_2.16 _IO_putc F +GLIBC_2.16 _IO_puts F +GLIBC_2.16 _IO_remove_marker F +GLIBC_2.16 _IO_seekmark F +GLIBC_2.16 _IO_seekoff F +GLIBC_2.16 _IO_seekpos F +GLIBC_2.16 _IO_seekwmark F +GLIBC_2.16 _IO_setb F +GLIBC_2.16 _IO_setbuffer F +GLIBC_2.16 _IO_setvbuf F +GLIBC_2.16 _IO_sgetn F +GLIBC_2.16 _IO_sprintf F +GLIBC_2.16 _IO_sputbackc F +GLIBC_2.16 _IO_sputbackwc F +GLIBC_2.16 _IO_sscanf F +GLIBC_2.16 _IO_str_init_readonly F +GLIBC_2.16 _IO_str_init_static F +GLIBC_2.16 _IO_str_overflow F +GLIBC_2.16 _IO_str_pbackfail F +GLIBC_2.16 _IO_str_seekoff F +GLIBC_2.16 _IO_str_underflow F +GLIBC_2.16 _IO_sungetc F +GLIBC_2.16 _IO_sungetwc F +GLIBC_2.16 _IO_switch_to_get_mode F +GLIBC_2.16 _IO_switch_to_main_wget_area F +GLIBC_2.16 _IO_switch_to_wbackup_area F +GLIBC_2.16 _IO_switch_to_wget_mode F +GLIBC_2.16 _IO_un_link F +GLIBC_2.16 _IO_ungetc F +GLIBC_2.16 _IO_unsave_markers F +GLIBC_2.16 _IO_unsave_wmarkers F +GLIBC_2.16 _IO_vfprintf F +GLIBC_2.16 _IO_vfscanf F +GLIBC_2.16 _IO_vsprintf F +GLIBC_2.16 _IO_wdefault_doallocate F +GLIBC_2.16 _IO_wdefault_finish F +GLIBC_2.16 _IO_wdefault_pbackfail F +GLIBC_2.16 _IO_wdefault_uflow F +GLIBC_2.16 _IO_wdefault_xsgetn F +GLIBC_2.16 _IO_wdefault_xsputn F +GLIBC_2.16 _IO_wdo_write F +GLIBC_2.16 _IO_wdoallocbuf F +GLIBC_2.16 _IO_wfile_jumps D 0x54 +GLIBC_2.16 _IO_wfile_overflow F +GLIBC_2.16 _IO_wfile_seekoff F +GLIBC_2.16 _IO_wfile_sync F +GLIBC_2.16 _IO_wfile_underflow F +GLIBC_2.16 _IO_wfile_xsputn F +GLIBC_2.16 _IO_wmarker_delta F +GLIBC_2.16 _IO_wsetb F +GLIBC_2.16 __adjtimex F +GLIBC_2.16 __after_morecore_hook D 0x4 +GLIBC_2.16 __arch_prctl F +GLIBC_2.16 __argz_count F +GLIBC_2.16 __argz_next F +GLIBC_2.16 __argz_stringify F +GLIBC_2.16 __asprintf F +GLIBC_2.16 __asprintf_chk F +GLIBC_2.16 __assert F +GLIBC_2.16 __assert_fail F +GLIBC_2.16 __assert_perror_fail F +GLIBC_2.16 __backtrace F +GLIBC_2.16 __backtrace_symbols F +GLIBC_2.16 __backtrace_symbols_fd F +GLIBC_2.16 __bsd_getpgrp F +GLIBC_2.16 __bzero F +GLIBC_2.16 __check_rhosts_file D 0x4 +GLIBC_2.16 __chk_fail F +GLIBC_2.16 __clone F +GLIBC_2.16 __close F +GLIBC_2.16 __cmsg_nxthdr F +GLIBC_2.16 __confstr_chk F +GLIBC_2.16 __connect F +GLIBC_2.16 __ctype_b_loc F +GLIBC_2.16 __ctype_get_mb_cur_max F +GLIBC_2.16 __ctype_tolower_loc F +GLIBC_2.16 __ctype_toupper_loc F +GLIBC_2.16 __curbrk D 0x4 +GLIBC_2.16 __cxa_at_quick_exit F +GLIBC_2.16 __cxa_atexit F +GLIBC_2.16 __cxa_finalize F +GLIBC_2.16 __cyg_profile_func_enter F +GLIBC_2.16 __cyg_profile_func_exit F +GLIBC_2.16 __daylight D 0x4 +GLIBC_2.16 __dcgettext F +GLIBC_2.16 __default_morecore F +GLIBC_2.16 __dgettext F +GLIBC_2.16 __dprintf_chk F +GLIBC_2.16 __dup2 F +GLIBC_2.16 __duplocale F +GLIBC_2.16 __endmntent F +GLIBC_2.16 __environ D 0x4 +GLIBC_2.16 __errno_location F +GLIBC_2.16 __fbufsize F +GLIBC_2.16 __fcntl F +GLIBC_2.16 __fdelt_chk F +GLIBC_2.16 __fdelt_warn F +GLIBC_2.16 __fentry__ F +GLIBC_2.16 __ffs F +GLIBC_2.16 __fgets_chk F +GLIBC_2.16 __fgets_unlocked_chk F +GLIBC_2.16 __fgetws_chk F +GLIBC_2.16 __fgetws_unlocked_chk F +GLIBC_2.16 __finite F +GLIBC_2.16 __finitef F +GLIBC_2.16 __finitel F +GLIBC_2.16 __flbf F +GLIBC_2.16 __fork F +GLIBC_2.16 __fpending F +GLIBC_2.16 __fprintf_chk F +GLIBC_2.16 __fpu_control D 0x2 +GLIBC_2.16 __fpurge F +GLIBC_2.16 __fread_chk F +GLIBC_2.16 __fread_unlocked_chk F +GLIBC_2.16 __freadable F +GLIBC_2.16 __freading F +GLIBC_2.16 __free_hook D 0x4 +GLIBC_2.16 __freelocale F +GLIBC_2.16 __fsetlocking F +GLIBC_2.16 __fwprintf_chk F +GLIBC_2.16 __fwritable F +GLIBC_2.16 __fwriting F +GLIBC_2.16 __fxstat F +GLIBC_2.16 __fxstat64 F +GLIBC_2.16 __fxstatat F +GLIBC_2.16 __fxstatat64 F +GLIBC_2.16 __getauxval F +GLIBC_2.16 __getcwd_chk F +GLIBC_2.16 __getdelim F +GLIBC_2.16 __getdomainname_chk F +GLIBC_2.16 __getgroups_chk F +GLIBC_2.16 __gethostname_chk F +GLIBC_2.16 __getlogin_r_chk F +GLIBC_2.16 __getmntent_r F +GLIBC_2.16 __getpagesize F +GLIBC_2.16 __getpgid F +GLIBC_2.16 __getpid F +GLIBC_2.16 __gets_chk F +GLIBC_2.16 __gettimeofday F +GLIBC_2.16 __getwd_chk F +GLIBC_2.16 __gmtime_r F +GLIBC_2.16 __h_errno_location F +GLIBC_2.16 __isalnum_l F +GLIBC_2.16 __isalpha_l F +GLIBC_2.16 __isascii_l F +GLIBC_2.16 __isblank_l F +GLIBC_2.16 __iscntrl_l F +GLIBC_2.16 __isctype F +GLIBC_2.16 __isdigit_l F +GLIBC_2.16 __isgraph_l F +GLIBC_2.16 __isinf F +GLIBC_2.16 __isinff F +GLIBC_2.16 __isinfl F +GLIBC_2.16 __islower_l F +GLIBC_2.16 __isnan F +GLIBC_2.16 __isnanf F +GLIBC_2.16 __isnanl F +GLIBC_2.16 __isoc99_fscanf F +GLIBC_2.16 __isoc99_fwscanf F +GLIBC_2.16 __isoc99_scanf F +GLIBC_2.16 __isoc99_sscanf F +GLIBC_2.16 __isoc99_swscanf F +GLIBC_2.16 __isoc99_vfscanf F +GLIBC_2.16 __isoc99_vfwscanf F +GLIBC_2.16 __isoc99_vscanf F +GLIBC_2.16 __isoc99_vsscanf F +GLIBC_2.16 __isoc99_vswscanf F +GLIBC_2.16 __isoc99_vwscanf F +GLIBC_2.16 __isoc99_wscanf F +GLIBC_2.16 __isprint_l F +GLIBC_2.16 __ispunct_l F +GLIBC_2.16 __isspace_l F +GLIBC_2.16 __isupper_l F +GLIBC_2.16 __iswalnum_l F +GLIBC_2.16 __iswalpha_l F +GLIBC_2.16 __iswblank_l F +GLIBC_2.16 __iswcntrl_l F +GLIBC_2.16 __iswctype F +GLIBC_2.16 __iswctype_l F +GLIBC_2.16 __iswdigit_l F +GLIBC_2.16 __iswgraph_l F +GLIBC_2.16 __iswlower_l F +GLIBC_2.16 __iswprint_l F +GLIBC_2.16 __iswpunct_l F +GLIBC_2.16 __iswspace_l F +GLIBC_2.16 __iswupper_l F +GLIBC_2.16 __iswxdigit_l F +GLIBC_2.16 __isxdigit_l F +GLIBC_2.16 __ivaliduser F +GLIBC_2.16 __key_decryptsession_pk_LOCAL D 0x4 +GLIBC_2.16 __key_encryptsession_pk_LOCAL D 0x4 +GLIBC_2.16 __key_gendes_LOCAL D 0x4 +GLIBC_2.16 __libc_allocate_rtsig F +GLIBC_2.16 __libc_calloc F +GLIBC_2.16 __libc_current_sigrtmax F +GLIBC_2.16 __libc_current_sigrtmin F +GLIBC_2.16 __libc_free F +GLIBC_2.16 __libc_freeres F +GLIBC_2.16 __libc_init_first F +GLIBC_2.16 __libc_mallinfo F +GLIBC_2.16 __libc_malloc F +GLIBC_2.16 __libc_mallopt F +GLIBC_2.16 __libc_memalign F +GLIBC_2.16 __libc_pvalloc F +GLIBC_2.16 __libc_realloc F +GLIBC_2.16 __libc_sa_len F +GLIBC_2.16 __libc_start_main F +GLIBC_2.16 __libc_valloc F +GLIBC_2.16 __longjmp_chk F +GLIBC_2.16 __lseek F +GLIBC_2.16 __lxstat F +GLIBC_2.16 __lxstat64 F +GLIBC_2.16 __malloc_hook D 0x4 +GLIBC_2.16 __malloc_initialize_hook D 0x4 +GLIBC_2.16 __mbrlen F +GLIBC_2.16 __mbrtowc F +GLIBC_2.16 __mbsnrtowcs_chk F +GLIBC_2.16 __mbsrtowcs_chk F +GLIBC_2.16 __mbstowcs_chk F +GLIBC_2.16 __memalign_hook D 0x4 +GLIBC_2.16 __memcpy_chk F +GLIBC_2.16 __memmove_chk F +GLIBC_2.16 __mempcpy F +GLIBC_2.16 __mempcpy_chk F +GLIBC_2.16 __mempcpy_small F +GLIBC_2.16 __memset_chk F +GLIBC_2.16 __monstartup F +GLIBC_2.16 __morecore D 0x4 +GLIBC_2.16 __nanosleep F +GLIBC_2.16 __newlocale F +GLIBC_2.16 __nl_langinfo_l F +GLIBC_2.16 __nss_configure_lookup F +GLIBC_2.16 __nss_database_lookup F +GLIBC_2.16 __nss_group_lookup F +GLIBC_2.16 __nss_hostname_digits_dots F +GLIBC_2.16 __nss_hosts_lookup F +GLIBC_2.16 __nss_next F +GLIBC_2.16 __nss_passwd_lookup F +GLIBC_2.16 __obstack_printf_chk F +GLIBC_2.16 __obstack_vprintf_chk F +GLIBC_2.16 __open F +GLIBC_2.16 __open64 F +GLIBC_2.16 __open64_2 F +GLIBC_2.16 __open_2 F +GLIBC_2.16 __openat64_2 F +GLIBC_2.16 __openat_2 F +GLIBC_2.16 __overflow F +GLIBC_2.16 __pipe F +GLIBC_2.16 __poll F +GLIBC_2.16 __poll_chk F +GLIBC_2.16 __posix_getopt F +GLIBC_2.16 __ppoll_chk F +GLIBC_2.16 __pread64 F +GLIBC_2.16 __pread64_chk F +GLIBC_2.16 __pread_chk F +GLIBC_2.16 __printf_chk F +GLIBC_2.16 __printf_fp F +GLIBC_2.16 __profile_frequency F +GLIBC_2.16 __progname D 0x4 +GLIBC_2.16 __progname_full D 0x4 +GLIBC_2.16 __ptsname_r_chk F +GLIBC_2.16 __pwrite64 F +GLIBC_2.16 __rawmemchr F +GLIBC_2.16 __rcmd_errstr D 0x4 +GLIBC_2.16 __read F +GLIBC_2.16 __read_chk F +GLIBC_2.16 __readlink_chk F +GLIBC_2.16 __readlinkat_chk F +GLIBC_2.16 __realloc_hook D 0x4 +GLIBC_2.16 __realpath_chk F +GLIBC_2.16 __recv_chk F +GLIBC_2.16 __recvfrom_chk F +GLIBC_2.16 __register_atfork F +GLIBC_2.16 __res_init F +GLIBC_2.16 __res_nclose F +GLIBC_2.16 __res_ninit F +GLIBC_2.16 __res_randomid F +GLIBC_2.16 __res_state F +GLIBC_2.16 __rpc_thread_createerr F +GLIBC_2.16 __rpc_thread_svc_fdset F +GLIBC_2.16 __rpc_thread_svc_max_pollfd F +GLIBC_2.16 __rpc_thread_svc_pollfd F +GLIBC_2.16 __sbrk F +GLIBC_2.16 __sched_cpualloc F +GLIBC_2.16 __sched_cpucount F +GLIBC_2.16 __sched_cpufree F +GLIBC_2.16 __sched_get_priority_max F +GLIBC_2.16 __sched_get_priority_min F +GLIBC_2.16 __sched_getparam F +GLIBC_2.16 __sched_getscheduler F +GLIBC_2.16 __sched_setscheduler F +GLIBC_2.16 __sched_yield F +GLIBC_2.16 __secure_getenv F +GLIBC_2.16 __select F +GLIBC_2.16 __send F +GLIBC_2.16 __setmntent F +GLIBC_2.16 __setpgid F +GLIBC_2.16 __sigaction F +GLIBC_2.16 __sigaddset F +GLIBC_2.16 __sigdelset F +GLIBC_2.16 __sigismember F +GLIBC_2.16 __signbit F +GLIBC_2.16 __signbitf F +GLIBC_2.16 __signbitl F +GLIBC_2.16 __sigpause F +GLIBC_2.16 __sigsetjmp F +GLIBC_2.16 __sigsuspend F +GLIBC_2.16 __snprintf_chk F +GLIBC_2.16 __sprintf_chk F +GLIBC_2.16 __stack_chk_fail F +GLIBC_2.16 __statfs F +GLIBC_2.16 __stpcpy F +GLIBC_2.16 __stpcpy_chk F +GLIBC_2.16 __stpcpy_small F +GLIBC_2.16 __stpncpy F +GLIBC_2.16 __stpncpy_chk F +GLIBC_2.16 __strcasecmp F +GLIBC_2.16 __strcasecmp_l F +GLIBC_2.16 __strcasestr F +GLIBC_2.16 __strcat_chk F +GLIBC_2.16 __strcoll_l F +GLIBC_2.16 __strcpy_chk F +GLIBC_2.16 __strcpy_small F +GLIBC_2.16 __strcspn_c1 F +GLIBC_2.16 __strcspn_c2 F +GLIBC_2.16 __strcspn_c3 F +GLIBC_2.16 __strdup F +GLIBC_2.16 __strerror_r F +GLIBC_2.16 __strfmon_l F +GLIBC_2.16 __strftime_l F +GLIBC_2.16 __strncasecmp_l F +GLIBC_2.16 __strncat_chk F +GLIBC_2.16 __strncpy_chk F +GLIBC_2.16 __strndup F +GLIBC_2.16 __strpbrk_c2 F +GLIBC_2.16 __strpbrk_c3 F +GLIBC_2.16 __strsep_1c F +GLIBC_2.16 __strsep_2c F +GLIBC_2.16 __strsep_3c F +GLIBC_2.16 __strsep_g F +GLIBC_2.16 __strspn_c1 F +GLIBC_2.16 __strspn_c2 F +GLIBC_2.16 __strspn_c3 F +GLIBC_2.16 __strtod_internal F +GLIBC_2.16 __strtod_l F +GLIBC_2.16 __strtof_internal F +GLIBC_2.16 __strtof_l F +GLIBC_2.16 __strtok_r F +GLIBC_2.16 __strtok_r_1c F +GLIBC_2.16 __strtol_internal F +GLIBC_2.16 __strtol_l F +GLIBC_2.16 __strtold_internal F +GLIBC_2.16 __strtold_l F +GLIBC_2.16 __strtoll_internal F +GLIBC_2.16 __strtoll_l F +GLIBC_2.16 __strtoul_internal F +GLIBC_2.16 __strtoul_l F +GLIBC_2.16 __strtoull_internal F +GLIBC_2.16 __strtoull_l F +GLIBC_2.16 __strverscmp F +GLIBC_2.16 __strxfrm_l F +GLIBC_2.16 __swprintf_chk F +GLIBC_2.16 __sysconf F +GLIBC_2.16 __syslog_chk F +GLIBC_2.16 __sysv_signal F +GLIBC_2.16 __timezone D 0x4 +GLIBC_2.16 __toascii_l F +GLIBC_2.16 __tolower_l F +GLIBC_2.16 __toupper_l F +GLIBC_2.16 __towctrans F +GLIBC_2.16 __towctrans_l F +GLIBC_2.16 __towlower_l F +GLIBC_2.16 __towupper_l F +GLIBC_2.16 __ttyname_r_chk F +GLIBC_2.16 __tzname D 0x8 +GLIBC_2.16 __uflow F +GLIBC_2.16 __underflow F +GLIBC_2.16 __uselocale F +GLIBC_2.16 __vasprintf_chk F +GLIBC_2.16 __vdprintf_chk F +GLIBC_2.16 __vfork F +GLIBC_2.16 __vfprintf_chk F +GLIBC_2.16 __vfscanf F +GLIBC_2.16 __vfwprintf_chk F +GLIBC_2.16 __vprintf_chk F +GLIBC_2.16 __vsnprintf F +GLIBC_2.16 __vsnprintf_chk F +GLIBC_2.16 __vsprintf_chk F +GLIBC_2.16 __vsscanf F +GLIBC_2.16 __vswprintf_chk F +GLIBC_2.16 __vsyslog_chk F +GLIBC_2.16 __vwprintf_chk F +GLIBC_2.16 __wait F +GLIBC_2.16 __waitpid F +GLIBC_2.16 __wcpcpy_chk F +GLIBC_2.16 __wcpncpy_chk F +GLIBC_2.16 __wcrtomb_chk F +GLIBC_2.16 __wcscasecmp_l F +GLIBC_2.16 __wcscat_chk F +GLIBC_2.16 __wcscoll_l F +GLIBC_2.16 __wcscpy_chk F +GLIBC_2.16 __wcsftime_l F +GLIBC_2.16 __wcsncasecmp_l F +GLIBC_2.16 __wcsncat_chk F +GLIBC_2.16 __wcsncpy_chk F +GLIBC_2.16 __wcsnrtombs_chk F +GLIBC_2.16 __wcsrtombs_chk F +GLIBC_2.16 __wcstod_internal F +GLIBC_2.16 __wcstod_l F +GLIBC_2.16 __wcstof_internal F +GLIBC_2.16 __wcstof_l F +GLIBC_2.16 __wcstol_internal F +GLIBC_2.16 __wcstol_l F +GLIBC_2.16 __wcstold_internal F +GLIBC_2.16 __wcstold_l F +GLIBC_2.16 __wcstoll_internal F +GLIBC_2.16 __wcstoll_l F +GLIBC_2.16 __wcstombs_chk F +GLIBC_2.16 __wcstoul_internal F +GLIBC_2.16 __wcstoul_l F +GLIBC_2.16 __wcstoull_internal F +GLIBC_2.16 __wcstoull_l F +GLIBC_2.16 __wcsxfrm_l F +GLIBC_2.16 __wctomb_chk F +GLIBC_2.16 __wctrans_l F +GLIBC_2.16 __wctype_l F +GLIBC_2.16 __wmemcpy_chk F +GLIBC_2.16 __wmemmove_chk F +GLIBC_2.16 __wmempcpy_chk F +GLIBC_2.16 __wmemset_chk F +GLIBC_2.16 __woverflow F +GLIBC_2.16 __wprintf_chk F +GLIBC_2.16 __write F +GLIBC_2.16 __wuflow F +GLIBC_2.16 __wunderflow F +GLIBC_2.16 __xmknod F +GLIBC_2.16 __xmknodat F +GLIBC_2.16 __xpg_basename F +GLIBC_2.16 __xpg_sigpause F +GLIBC_2.16 __xpg_strerror_r F +GLIBC_2.16 __xstat F +GLIBC_2.16 __xstat64 F +GLIBC_2.16 _authenticate F +GLIBC_2.16 _dl_mcount_wrapper F +GLIBC_2.16 _dl_mcount_wrapper_check F +GLIBC_2.16 _environ D 0x4 +GLIBC_2.16 _exit F +GLIBC_2.16 _flushlbf F +GLIBC_2.16 _libc_intl_domainname D 0x5 +GLIBC_2.16 _longjmp F +GLIBC_2.16 _mcleanup F +GLIBC_2.16 _mcount F +GLIBC_2.16 _nl_default_dirname D 0x12 +GLIBC_2.16 _nl_domain_bindings D 0x4 +GLIBC_2.16 _nl_msg_cat_cntr D 0x4 +GLIBC_2.16 _null_auth D 0xc +GLIBC_2.16 _obstack_allocated_p F +GLIBC_2.16 _obstack_begin F +GLIBC_2.16 _obstack_begin_1 F +GLIBC_2.16 _obstack_free F +GLIBC_2.16 _obstack_memory_used F +GLIBC_2.16 _obstack_newchunk F +GLIBC_2.16 _res D 0x200 +GLIBC_2.16 _res_hconf D 0x30 +GLIBC_2.16 _rpc_dtablesize F +GLIBC_2.16 _seterr_reply F +GLIBC_2.16 _setjmp F +GLIBC_2.16 _sys_errlist D 0x21c +GLIBC_2.16 _sys_nerr D 0x4 +GLIBC_2.16 _sys_siglist D 0x104 +GLIBC_2.16 _tolower F +GLIBC_2.16 _toupper F +GLIBC_2.16 a64l F +GLIBC_2.16 abort F +GLIBC_2.16 abs F +GLIBC_2.16 accept F +GLIBC_2.16 accept4 F +GLIBC_2.16 access F +GLIBC_2.16 acct F +GLIBC_2.16 addmntent F +GLIBC_2.16 addseverity F +GLIBC_2.16 adjtime F +GLIBC_2.16 adjtimex F +GLIBC_2.16 advance F +GLIBC_2.16 alarm F +GLIBC_2.16 aligned_alloc F +GLIBC_2.16 alphasort F +GLIBC_2.16 alphasort64 F +GLIBC_2.16 arch_prctl F +GLIBC_2.16 argp_err_exit_status D 0x4 +GLIBC_2.16 argp_error F +GLIBC_2.16 argp_failure F +GLIBC_2.16 argp_help F +GLIBC_2.16 argp_parse F +GLIBC_2.16 argp_program_bug_address D 0x4 +GLIBC_2.16 argp_program_version D 0x4 +GLIBC_2.16 argp_program_version_hook D 0x4 +GLIBC_2.16 argp_state_help F +GLIBC_2.16 argp_usage F +GLIBC_2.16 argz_add F +GLIBC_2.16 argz_add_sep F +GLIBC_2.16 argz_append F +GLIBC_2.16 argz_count F +GLIBC_2.16 argz_create F +GLIBC_2.16 argz_create_sep F +GLIBC_2.16 argz_delete F +GLIBC_2.16 argz_extract F +GLIBC_2.16 argz_insert F +GLIBC_2.16 argz_next F +GLIBC_2.16 argz_replace F +GLIBC_2.16 argz_stringify F +GLIBC_2.16 asctime F +GLIBC_2.16 asctime_r F +GLIBC_2.16 asprintf F +GLIBC_2.16 atof F +GLIBC_2.16 atoi F +GLIBC_2.16 atol F +GLIBC_2.16 atoll F +GLIBC_2.16 authdes_create F +GLIBC_2.16 authdes_getucred F +GLIBC_2.16 authdes_pk_create F +GLIBC_2.16 authnone_create F +GLIBC_2.16 authunix_create F +GLIBC_2.16 authunix_create_default F +GLIBC_2.16 backtrace F +GLIBC_2.16 backtrace_symbols F +GLIBC_2.16 backtrace_symbols_fd F +GLIBC_2.16 basename F +GLIBC_2.16 bcmp F +GLIBC_2.16 bcopy F +GLIBC_2.16 bdflush F +GLIBC_2.16 bind F +GLIBC_2.16 bind_textdomain_codeset F +GLIBC_2.16 bindresvport F +GLIBC_2.16 bindtextdomain F +GLIBC_2.16 brk F +GLIBC_2.16 bsd_signal F +GLIBC_2.16 bsearch F +GLIBC_2.16 btowc F +GLIBC_2.16 bzero F +GLIBC_2.16 c16rtomb F +GLIBC_2.16 c32rtomb F +GLIBC_2.16 calloc F +GLIBC_2.16 callrpc F +GLIBC_2.16 canonicalize_file_name F +GLIBC_2.16 capget F +GLIBC_2.16 capset F +GLIBC_2.16 catclose F +GLIBC_2.16 catgets F +GLIBC_2.16 catopen F +GLIBC_2.16 cbc_crypt F +GLIBC_2.16 cfgetispeed F +GLIBC_2.16 cfgetospeed F +GLIBC_2.16 cfmakeraw F +GLIBC_2.16 cfree F +GLIBC_2.16 cfsetispeed F +GLIBC_2.16 cfsetospeed F +GLIBC_2.16 cfsetspeed F +GLIBC_2.16 chdir F +GLIBC_2.16 chflags F +GLIBC_2.16 chmod F +GLIBC_2.16 chown F +GLIBC_2.16 chroot F +GLIBC_2.16 clearenv F +GLIBC_2.16 clearerr F +GLIBC_2.16 clearerr_unlocked F +GLIBC_2.16 clnt_broadcast F +GLIBC_2.16 clnt_create F +GLIBC_2.16 clnt_pcreateerror F +GLIBC_2.16 clnt_perrno F +GLIBC_2.16 clnt_perror F +GLIBC_2.16 clnt_spcreateerror F +GLIBC_2.16 clnt_sperrno F +GLIBC_2.16 clnt_sperror F +GLIBC_2.16 clntraw_create F +GLIBC_2.16 clnttcp_create F +GLIBC_2.16 clntudp_bufcreate F +GLIBC_2.16 clntudp_create F +GLIBC_2.16 clntunix_create F +GLIBC_2.16 clock F +GLIBC_2.16 clock_adjtime F +GLIBC_2.16 clone F +GLIBC_2.16 close F +GLIBC_2.16 closedir F +GLIBC_2.16 closelog F +GLIBC_2.16 confstr F +GLIBC_2.16 connect F +GLIBC_2.16 copysign F +GLIBC_2.16 copysignf F +GLIBC_2.16 copysignl F +GLIBC_2.16 creat F +GLIBC_2.16 creat64 F +GLIBC_2.16 create_module F +GLIBC_2.16 ctermid F +GLIBC_2.16 ctime F +GLIBC_2.16 ctime_r F +GLIBC_2.16 cuserid F +GLIBC_2.16 daemon F +GLIBC_2.16 daylight D 0x4 +GLIBC_2.16 dcgettext F +GLIBC_2.16 dcngettext F +GLIBC_2.16 delete_module F +GLIBC_2.16 des_setparity F +GLIBC_2.16 dgettext F +GLIBC_2.16 difftime F +GLIBC_2.16 dirfd F +GLIBC_2.16 dirname F +GLIBC_2.16 div F +GLIBC_2.16 dl_iterate_phdr F +GLIBC_2.16 dngettext F +GLIBC_2.16 dprintf F +GLIBC_2.16 drand48 F +GLIBC_2.16 drand48_r F +GLIBC_2.16 dup F +GLIBC_2.16 dup2 F +GLIBC_2.16 dup3 F +GLIBC_2.16 duplocale F +GLIBC_2.16 dysize F +GLIBC_2.16 eaccess F +GLIBC_2.16 ecb_crypt F +GLIBC_2.16 ecvt F +GLIBC_2.16 ecvt_r F +GLIBC_2.16 endaliasent F +GLIBC_2.16 endfsent F +GLIBC_2.16 endgrent F +GLIBC_2.16 endhostent F +GLIBC_2.16 endmntent F +GLIBC_2.16 endnetent F +GLIBC_2.16 endnetgrent F +GLIBC_2.16 endprotoent F +GLIBC_2.16 endpwent F +GLIBC_2.16 endrpcent F +GLIBC_2.16 endservent F +GLIBC_2.16 endsgent F +GLIBC_2.16 endspent F +GLIBC_2.16 endttyent F +GLIBC_2.16 endusershell F +GLIBC_2.16 endutent F +GLIBC_2.16 endutxent F +GLIBC_2.16 environ D 0x4 +GLIBC_2.16 envz_add F +GLIBC_2.16 envz_entry F +GLIBC_2.16 envz_get F +GLIBC_2.16 envz_merge F +GLIBC_2.16 envz_remove F +GLIBC_2.16 envz_strip F +GLIBC_2.16 epoll_create F +GLIBC_2.16 epoll_create1 F +GLIBC_2.16 epoll_ctl F +GLIBC_2.16 epoll_pwait F +GLIBC_2.16 epoll_wait F +GLIBC_2.16 erand48 F +GLIBC_2.16 erand48_r F +GLIBC_2.16 err F +GLIBC_2.16 error F +GLIBC_2.16 error_at_line F +GLIBC_2.16 error_message_count D 0x4 +GLIBC_2.16 error_one_per_line D 0x4 +GLIBC_2.16 error_print_progname D 0x4 +GLIBC_2.16 errx F +GLIBC_2.16 ether_aton F +GLIBC_2.16 ether_aton_r F +GLIBC_2.16 ether_hostton F +GLIBC_2.16 ether_line F +GLIBC_2.16 ether_ntoa F +GLIBC_2.16 ether_ntoa_r F +GLIBC_2.16 ether_ntohost F +GLIBC_2.16 euidaccess F +GLIBC_2.16 eventfd F +GLIBC_2.16 eventfd_read F +GLIBC_2.16 eventfd_write F +GLIBC_2.16 execl F +GLIBC_2.16 execle F +GLIBC_2.16 execlp F +GLIBC_2.16 execv F +GLIBC_2.16 execve F +GLIBC_2.16 execvp F +GLIBC_2.16 execvpe F +GLIBC_2.16 exit F +GLIBC_2.16 faccessat F +GLIBC_2.16 fallocate F +GLIBC_2.16 fallocate64 F +GLIBC_2.16 fanotify_init F +GLIBC_2.16 fanotify_mark F +GLIBC_2.16 fattach F +GLIBC_2.16 fchdir F +GLIBC_2.16 fchflags F +GLIBC_2.16 fchmod F +GLIBC_2.16 fchmodat F +GLIBC_2.16 fchown F +GLIBC_2.16 fchownat F +GLIBC_2.16 fclose F +GLIBC_2.16 fcloseall F +GLIBC_2.16 fcntl F +GLIBC_2.16 fcvt F +GLIBC_2.16 fcvt_r F +GLIBC_2.16 fdatasync F +GLIBC_2.16 fdetach F +GLIBC_2.16 fdopen F +GLIBC_2.16 fdopendir F +GLIBC_2.16 feof F +GLIBC_2.16 feof_unlocked F +GLIBC_2.16 ferror F +GLIBC_2.16 ferror_unlocked F +GLIBC_2.16 fexecve F +GLIBC_2.16 fflush F +GLIBC_2.16 fflush_unlocked F +GLIBC_2.16 ffs F +GLIBC_2.16 ffsl F +GLIBC_2.16 ffsll F +GLIBC_2.16 fgetc F +GLIBC_2.16 fgetc_unlocked F +GLIBC_2.16 fgetgrent F +GLIBC_2.16 fgetgrent_r F +GLIBC_2.16 fgetpos F +GLIBC_2.16 fgetpos64 F +GLIBC_2.16 fgetpwent F +GLIBC_2.16 fgetpwent_r F +GLIBC_2.16 fgets F +GLIBC_2.16 fgets_unlocked F +GLIBC_2.16 fgetsgent F +GLIBC_2.16 fgetsgent_r F +GLIBC_2.16 fgetspent F +GLIBC_2.16 fgetspent_r F +GLIBC_2.16 fgetwc F +GLIBC_2.16 fgetwc_unlocked F +GLIBC_2.16 fgetws F +GLIBC_2.16 fgetws_unlocked F +GLIBC_2.16 fgetxattr F +GLIBC_2.16 fileno F +GLIBC_2.16 fileno_unlocked F +GLIBC_2.16 finite F +GLIBC_2.16 finitef F +GLIBC_2.16 finitel F +GLIBC_2.16 flistxattr F +GLIBC_2.16 flock F +GLIBC_2.16 flockfile F +GLIBC_2.16 fmemopen F +GLIBC_2.16 fmtmsg F +GLIBC_2.16 fnmatch F +GLIBC_2.16 fopen F +GLIBC_2.16 fopen64 F +GLIBC_2.16 fopencookie F +GLIBC_2.16 fork F +GLIBC_2.16 fpathconf F +GLIBC_2.16 fprintf F +GLIBC_2.16 fputc F +GLIBC_2.16 fputc_unlocked F +GLIBC_2.16 fputs F +GLIBC_2.16 fputs_unlocked F +GLIBC_2.16 fputwc F +GLIBC_2.16 fputwc_unlocked F +GLIBC_2.16 fputws F +GLIBC_2.16 fputws_unlocked F +GLIBC_2.16 fread F +GLIBC_2.16 fread_unlocked F +GLIBC_2.16 free F +GLIBC_2.16 freeaddrinfo F +GLIBC_2.16 freeifaddrs F +GLIBC_2.16 freelocale F +GLIBC_2.16 fremovexattr F +GLIBC_2.16 freopen F +GLIBC_2.16 freopen64 F +GLIBC_2.16 frexp F +GLIBC_2.16 frexpf F +GLIBC_2.16 frexpl F +GLIBC_2.16 fscanf F +GLIBC_2.16 fseek F +GLIBC_2.16 fseeko F +GLIBC_2.16 fseeko64 F +GLIBC_2.16 fsetpos F +GLIBC_2.16 fsetpos64 F +GLIBC_2.16 fsetxattr F +GLIBC_2.16 fstatfs F +GLIBC_2.16 fstatfs64 F +GLIBC_2.16 fstatvfs F +GLIBC_2.16 fstatvfs64 F +GLIBC_2.16 fsync F +GLIBC_2.16 ftell F +GLIBC_2.16 ftello F +GLIBC_2.16 ftello64 F +GLIBC_2.16 ftime F +GLIBC_2.16 ftok F +GLIBC_2.16 ftruncate F +GLIBC_2.16 ftruncate64 F +GLIBC_2.16 ftrylockfile F +GLIBC_2.16 fts_children F +GLIBC_2.16 fts_close F +GLIBC_2.16 fts_open F +GLIBC_2.16 fts_read F +GLIBC_2.16 fts_set F +GLIBC_2.16 ftw F +GLIBC_2.16 ftw64 F +GLIBC_2.16 funlockfile F +GLIBC_2.16 futimens F +GLIBC_2.16 futimes F +GLIBC_2.16 futimesat F +GLIBC_2.16 fwide F +GLIBC_2.16 fwprintf F +GLIBC_2.16 fwrite F +GLIBC_2.16 fwrite_unlocked F +GLIBC_2.16 fwscanf F +GLIBC_2.16 gai_strerror F +GLIBC_2.16 gcvt F +GLIBC_2.16 get_avphys_pages F +GLIBC_2.16 get_current_dir_name F +GLIBC_2.16 get_kernel_syms F +GLIBC_2.16 get_myaddress F +GLIBC_2.16 get_nprocs F +GLIBC_2.16 get_nprocs_conf F +GLIBC_2.16 get_phys_pages F +GLIBC_2.16 getaddrinfo F +GLIBC_2.16 getaliasbyname F +GLIBC_2.16 getaliasbyname_r F +GLIBC_2.16 getaliasent F +GLIBC_2.16 getaliasent_r F +GLIBC_2.16 getauxval F +GLIBC_2.16 getc F +GLIBC_2.16 getc_unlocked F +GLIBC_2.16 getchar F +GLIBC_2.16 getchar_unlocked F +GLIBC_2.16 getcontext F +GLIBC_2.16 getcwd F +GLIBC_2.16 getdate F +GLIBC_2.16 getdate_err D 0x4 +GLIBC_2.16 getdate_r F +GLIBC_2.16 getdelim F +GLIBC_2.16 getdirentries F +GLIBC_2.16 getdirentries64 F +GLIBC_2.16 getdomainname F +GLIBC_2.16 getdtablesize F +GLIBC_2.16 getegid F +GLIBC_2.16 getenv F +GLIBC_2.16 geteuid F +GLIBC_2.16 getfsent F +GLIBC_2.16 getfsfile F +GLIBC_2.16 getfsspec F +GLIBC_2.16 getgid F +GLIBC_2.16 getgrent F +GLIBC_2.16 getgrent_r F +GLIBC_2.16 getgrgid F +GLIBC_2.16 getgrgid_r F +GLIBC_2.16 getgrnam F +GLIBC_2.16 getgrnam_r F +GLIBC_2.16 getgrouplist F +GLIBC_2.16 getgroups F +GLIBC_2.16 gethostbyaddr F +GLIBC_2.16 gethostbyaddr_r F +GLIBC_2.16 gethostbyname F +GLIBC_2.16 gethostbyname2 F +GLIBC_2.16 gethostbyname2_r F +GLIBC_2.16 gethostbyname_r F +GLIBC_2.16 gethostent F +GLIBC_2.16 gethostent_r F +GLIBC_2.16 gethostid F +GLIBC_2.16 gethostname F +GLIBC_2.16 getifaddrs F +GLIBC_2.16 getipv4sourcefilter F +GLIBC_2.16 getitimer F +GLIBC_2.16 getline F +GLIBC_2.16 getloadavg F +GLIBC_2.16 getlogin F +GLIBC_2.16 getlogin_r F +GLIBC_2.16 getmntent F +GLIBC_2.16 getmntent_r F +GLIBC_2.16 getmsg F +GLIBC_2.16 getnameinfo F +GLIBC_2.16 getnetbyaddr F +GLIBC_2.16 getnetbyaddr_r F +GLIBC_2.16 getnetbyname F +GLIBC_2.16 getnetbyname_r F +GLIBC_2.16 getnetent F +GLIBC_2.16 getnetent_r F +GLIBC_2.16 getnetgrent F +GLIBC_2.16 getnetgrent_r F +GLIBC_2.16 getnetname F +GLIBC_2.16 getopt F +GLIBC_2.16 getopt_long F +GLIBC_2.16 getopt_long_only F +GLIBC_2.16 getpagesize F +GLIBC_2.16 getpass F +GLIBC_2.16 getpeername F +GLIBC_2.16 getpgid F +GLIBC_2.16 getpgrp F +GLIBC_2.16 getpid F +GLIBC_2.16 getpmsg F +GLIBC_2.16 getppid F +GLIBC_2.16 getpriority F +GLIBC_2.16 getprotobyname F +GLIBC_2.16 getprotobyname_r F +GLIBC_2.16 getprotobynumber F +GLIBC_2.16 getprotobynumber_r F +GLIBC_2.16 getprotoent F +GLIBC_2.16 getprotoent_r F +GLIBC_2.16 getpt F +GLIBC_2.16 getpublickey F +GLIBC_2.16 getpw F +GLIBC_2.16 getpwent F +GLIBC_2.16 getpwent_r F +GLIBC_2.16 getpwnam F +GLIBC_2.16 getpwnam_r F +GLIBC_2.16 getpwuid F +GLIBC_2.16 getpwuid_r F +GLIBC_2.16 getresgid F +GLIBC_2.16 getresuid F +GLIBC_2.16 getrlimit F +GLIBC_2.16 getrlimit64 F +GLIBC_2.16 getrpcbyname F +GLIBC_2.16 getrpcbyname_r F +GLIBC_2.16 getrpcbynumber F +GLIBC_2.16 getrpcbynumber_r F +GLIBC_2.16 getrpcent F +GLIBC_2.16 getrpcent_r F +GLIBC_2.16 getrpcport F +GLIBC_2.16 getrusage F +GLIBC_2.16 gets F +GLIBC_2.16 getsecretkey F +GLIBC_2.16 getservbyname F +GLIBC_2.16 getservbyname_r F +GLIBC_2.16 getservbyport F +GLIBC_2.16 getservbyport_r F +GLIBC_2.16 getservent F +GLIBC_2.16 getservent_r F +GLIBC_2.16 getsgent F +GLIBC_2.16 getsgent_r F +GLIBC_2.16 getsgnam F +GLIBC_2.16 getsgnam_r F +GLIBC_2.16 getsid F +GLIBC_2.16 getsockname F +GLIBC_2.16 getsockopt F +GLIBC_2.16 getsourcefilter F +GLIBC_2.16 getspent F +GLIBC_2.16 getspent_r F +GLIBC_2.16 getspnam F +GLIBC_2.16 getspnam_r F +GLIBC_2.16 getsubopt F +GLIBC_2.16 gettext F +GLIBC_2.16 gettimeofday F +GLIBC_2.16 getttyent F +GLIBC_2.16 getttynam F +GLIBC_2.16 getuid F +GLIBC_2.16 getusershell F +GLIBC_2.16 getutent F +GLIBC_2.16 getutent_r F +GLIBC_2.16 getutid F +GLIBC_2.16 getutid_r F +GLIBC_2.16 getutline F +GLIBC_2.16 getutline_r F +GLIBC_2.16 getutmp F +GLIBC_2.16 getutmpx F +GLIBC_2.16 getutxent F +GLIBC_2.16 getutxid F +GLIBC_2.16 getutxline F +GLIBC_2.16 getw F +GLIBC_2.16 getwc F +GLIBC_2.16 getwc_unlocked F +GLIBC_2.16 getwchar F +GLIBC_2.16 getwchar_unlocked F +GLIBC_2.16 getwd F +GLIBC_2.16 getxattr F +GLIBC_2.16 glob F +GLIBC_2.16 glob64 F +GLIBC_2.16 glob_pattern_p F +GLIBC_2.16 globfree F +GLIBC_2.16 globfree64 F +GLIBC_2.16 gmtime F +GLIBC_2.16 gmtime_r F +GLIBC_2.16 gnu_dev_major F +GLIBC_2.16 gnu_dev_makedev F +GLIBC_2.16 gnu_dev_minor F +GLIBC_2.16 gnu_get_libc_release F +GLIBC_2.16 gnu_get_libc_version F +GLIBC_2.16 grantpt F +GLIBC_2.16 group_member F +GLIBC_2.16 gsignal F +GLIBC_2.16 gtty F +GLIBC_2.16 h_errlist D 0x14 +GLIBC_2.16 h_nerr D 0x4 +GLIBC_2.16 hasmntopt F +GLIBC_2.16 hcreate F +GLIBC_2.16 hcreate_r F +GLIBC_2.16 hdestroy F +GLIBC_2.16 hdestroy_r F +GLIBC_2.16 herror F +GLIBC_2.16 host2netname F +GLIBC_2.16 hsearch F +GLIBC_2.16 hsearch_r F +GLIBC_2.16 hstrerror F +GLIBC_2.16 htonl F +GLIBC_2.16 htons F +GLIBC_2.16 iconv F +GLIBC_2.16 iconv_close F +GLIBC_2.16 iconv_open F +GLIBC_2.16 if_freenameindex F +GLIBC_2.16 if_indextoname F +GLIBC_2.16 if_nameindex F +GLIBC_2.16 if_nametoindex F +GLIBC_2.16 imaxabs F +GLIBC_2.16 imaxdiv F +GLIBC_2.16 in6addr_any D 0x10 +GLIBC_2.16 in6addr_loopback D 0x10 +GLIBC_2.16 index F +GLIBC_2.16 inet6_opt_append F +GLIBC_2.16 inet6_opt_find F +GLIBC_2.16 inet6_opt_finish F +GLIBC_2.16 inet6_opt_get_val F +GLIBC_2.16 inet6_opt_init F +GLIBC_2.16 inet6_opt_next F +GLIBC_2.16 inet6_opt_set_val F +GLIBC_2.16 inet6_option_alloc F +GLIBC_2.16 inet6_option_append F +GLIBC_2.16 inet6_option_find F +GLIBC_2.16 inet6_option_init F +GLIBC_2.16 inet6_option_next F +GLIBC_2.16 inet6_option_space F +GLIBC_2.16 inet6_rth_add F +GLIBC_2.16 inet6_rth_getaddr F +GLIBC_2.16 inet6_rth_init F +GLIBC_2.16 inet6_rth_reverse F +GLIBC_2.16 inet6_rth_segments F +GLIBC_2.16 inet6_rth_space F +GLIBC_2.16 inet_addr F +GLIBC_2.16 inet_aton F +GLIBC_2.16 inet_lnaof F +GLIBC_2.16 inet_makeaddr F +GLIBC_2.16 inet_netof F +GLIBC_2.16 inet_network F +GLIBC_2.16 inet_nsap_addr F +GLIBC_2.16 inet_nsap_ntoa F +GLIBC_2.16 inet_ntoa F +GLIBC_2.16 inet_ntop F +GLIBC_2.16 inet_pton F +GLIBC_2.16 init_module F +GLIBC_2.16 initgroups F +GLIBC_2.16 initstate F +GLIBC_2.16 initstate_r F +GLIBC_2.16 innetgr F +GLIBC_2.16 inotify_add_watch F +GLIBC_2.16 inotify_init F +GLIBC_2.16 inotify_init1 F +GLIBC_2.16 inotify_rm_watch F +GLIBC_2.16 insque F +GLIBC_2.16 ioctl F +GLIBC_2.16 ioperm F +GLIBC_2.16 iopl F +GLIBC_2.16 iruserok F +GLIBC_2.16 iruserok_af F +GLIBC_2.16 isalnum F +GLIBC_2.16 isalnum_l F +GLIBC_2.16 isalpha F +GLIBC_2.16 isalpha_l F +GLIBC_2.16 isascii F +GLIBC_2.16 isastream F +GLIBC_2.16 isatty F +GLIBC_2.16 isblank F +GLIBC_2.16 isblank_l F +GLIBC_2.16 iscntrl F +GLIBC_2.16 iscntrl_l F +GLIBC_2.16 isctype F +GLIBC_2.16 isdigit F +GLIBC_2.16 isdigit_l F +GLIBC_2.16 isfdtype F +GLIBC_2.16 isgraph F +GLIBC_2.16 isgraph_l F +GLIBC_2.16 isinf F +GLIBC_2.16 isinff F +GLIBC_2.16 isinfl F +GLIBC_2.16 islower F +GLIBC_2.16 islower_l F +GLIBC_2.16 isnan F +GLIBC_2.16 isnanf F +GLIBC_2.16 isnanl F +GLIBC_2.16 isprint F +GLIBC_2.16 isprint_l F +GLIBC_2.16 ispunct F +GLIBC_2.16 ispunct_l F +GLIBC_2.16 isspace F +GLIBC_2.16 isspace_l F +GLIBC_2.16 isupper F +GLIBC_2.16 isupper_l F +GLIBC_2.16 iswalnum F +GLIBC_2.16 iswalnum_l F +GLIBC_2.16 iswalpha F +GLIBC_2.16 iswalpha_l F +GLIBC_2.16 iswblank F +GLIBC_2.16 iswblank_l F +GLIBC_2.16 iswcntrl F +GLIBC_2.16 iswcntrl_l F +GLIBC_2.16 iswctype F +GLIBC_2.16 iswctype_l F +GLIBC_2.16 iswdigit F +GLIBC_2.16 iswdigit_l F +GLIBC_2.16 iswgraph F +GLIBC_2.16 iswgraph_l F +GLIBC_2.16 iswlower F +GLIBC_2.16 iswlower_l F +GLIBC_2.16 iswprint F +GLIBC_2.16 iswprint_l F +GLIBC_2.16 iswpunct F +GLIBC_2.16 iswpunct_l F +GLIBC_2.16 iswspace F +GLIBC_2.16 iswspace_l F +GLIBC_2.16 iswupper F +GLIBC_2.16 iswupper_l F +GLIBC_2.16 iswxdigit F +GLIBC_2.16 iswxdigit_l F +GLIBC_2.16 isxdigit F +GLIBC_2.16 isxdigit_l F +GLIBC_2.16 jrand48 F +GLIBC_2.16 jrand48_r F +GLIBC_2.16 key_decryptsession F +GLIBC_2.16 key_decryptsession_pk F +GLIBC_2.16 key_encryptsession F +GLIBC_2.16 key_encryptsession_pk F +GLIBC_2.16 key_gendes F +GLIBC_2.16 key_get_conv F +GLIBC_2.16 key_secretkey_is_set F +GLIBC_2.16 key_setnet F +GLIBC_2.16 key_setsecret F +GLIBC_2.16 kill F +GLIBC_2.16 killpg F +GLIBC_2.16 klogctl F +GLIBC_2.16 l64a F +GLIBC_2.16 labs F +GLIBC_2.16 lchmod F +GLIBC_2.16 lchown F +GLIBC_2.16 lckpwdf F +GLIBC_2.16 lcong48 F +GLIBC_2.16 lcong48_r F +GLIBC_2.16 ldexp F +GLIBC_2.16 ldexpf F +GLIBC_2.16 ldexpl F +GLIBC_2.16 ldiv F +GLIBC_2.16 lfind F +GLIBC_2.16 lgetxattr F +GLIBC_2.16 link F +GLIBC_2.16 linkat F +GLIBC_2.16 listen F +GLIBC_2.16 listxattr F +GLIBC_2.16 llabs F +GLIBC_2.16 lldiv F +GLIBC_2.16 llistxattr F +GLIBC_2.16 loc1 D 0x4 +GLIBC_2.16 loc2 D 0x4 +GLIBC_2.16 localeconv F +GLIBC_2.16 localtime F +GLIBC_2.16 localtime_r F +GLIBC_2.16 lockf F +GLIBC_2.16 lockf64 F +GLIBC_2.16 locs D 0x4 +GLIBC_2.16 longjmp F +GLIBC_2.16 lrand48 F +GLIBC_2.16 lrand48_r F +GLIBC_2.16 lremovexattr F +GLIBC_2.16 lsearch F +GLIBC_2.16 lseek F +GLIBC_2.16 lseek64 F +GLIBC_2.16 lsetxattr F +GLIBC_2.16 lutimes F +GLIBC_2.16 madvise F +GLIBC_2.16 makecontext F +GLIBC_2.16 mallinfo F +GLIBC_2.16 malloc F +GLIBC_2.16 malloc_get_state F +GLIBC_2.16 malloc_info F +GLIBC_2.16 malloc_set_state F +GLIBC_2.16 malloc_stats F +GLIBC_2.16 malloc_trim F +GLIBC_2.16 malloc_usable_size F +GLIBC_2.16 mallopt F +GLIBC_2.16 mallwatch D 0x4 +GLIBC_2.16 mblen F +GLIBC_2.16 mbrlen F +GLIBC_2.16 mbrtoc16 F +GLIBC_2.16 mbrtoc32 F +GLIBC_2.16 mbrtowc F +GLIBC_2.16 mbsinit F +GLIBC_2.16 mbsnrtowcs F +GLIBC_2.16 mbsrtowcs F +GLIBC_2.16 mbstowcs F +GLIBC_2.16 mbtowc F +GLIBC_2.16 mcheck F +GLIBC_2.16 mcheck_check_all F +GLIBC_2.16 mcheck_pedantic F +GLIBC_2.16 mcount F +GLIBC_2.16 memalign F +GLIBC_2.16 memccpy F +GLIBC_2.16 memchr F +GLIBC_2.16 memcmp F +GLIBC_2.16 memcpy F +GLIBC_2.16 memfrob F +GLIBC_2.16 memmem F +GLIBC_2.16 memmove F +GLIBC_2.16 mempcpy F +GLIBC_2.16 memrchr F +GLIBC_2.16 memset F +GLIBC_2.16 mincore F +GLIBC_2.16 mkdir F +GLIBC_2.16 mkdirat F +GLIBC_2.16 mkdtemp F +GLIBC_2.16 mkfifo F +GLIBC_2.16 mkfifoat F +GLIBC_2.16 mkostemp F +GLIBC_2.16 mkostemp64 F +GLIBC_2.16 mkostemps F +GLIBC_2.16 mkostemps64 F +GLIBC_2.16 mkstemp F +GLIBC_2.16 mkstemp64 F +GLIBC_2.16 mkstemps F +GLIBC_2.16 mkstemps64 F +GLIBC_2.16 mktemp F +GLIBC_2.16 mktime F +GLIBC_2.16 mlock F +GLIBC_2.16 mlockall F +GLIBC_2.16 mmap F +GLIBC_2.16 mmap64 F +GLIBC_2.16 modf F +GLIBC_2.16 modff F +GLIBC_2.16 modfl F +GLIBC_2.16 modify_ldt F +GLIBC_2.16 moncontrol F +GLIBC_2.16 monstartup F +GLIBC_2.16 mount F +GLIBC_2.16 mprobe F +GLIBC_2.16 mprotect F +GLIBC_2.16 mrand48 F +GLIBC_2.16 mrand48_r F +GLIBC_2.16 mremap F +GLIBC_2.16 msgctl F +GLIBC_2.16 msgget F +GLIBC_2.16 msgrcv F +GLIBC_2.16 msgsnd F +GLIBC_2.16 msync F +GLIBC_2.16 mtrace F +GLIBC_2.16 munlock F +GLIBC_2.16 munlockall F +GLIBC_2.16 munmap F +GLIBC_2.16 muntrace F +GLIBC_2.16 name_to_handle_at F +GLIBC_2.16 nanosleep F +GLIBC_2.16 netname2host F +GLIBC_2.16 netname2user F +GLIBC_2.16 newlocale F +GLIBC_2.16 nfsservctl F +GLIBC_2.16 nftw F +GLIBC_2.16 nftw64 F +GLIBC_2.16 ngettext F +GLIBC_2.16 nice F +GLIBC_2.16 nl_langinfo F +GLIBC_2.16 nl_langinfo_l F +GLIBC_2.16 nrand48 F +GLIBC_2.16 nrand48_r F +GLIBC_2.16 ntohl F +GLIBC_2.16 ntohs F +GLIBC_2.16 ntp_adjtime F +GLIBC_2.16 ntp_gettime F +GLIBC_2.16 ntp_gettimex F +GLIBC_2.16 obstack_alloc_failed_handler D 0x4 +GLIBC_2.16 obstack_exit_failure D 0x4 +GLIBC_2.16 obstack_free F +GLIBC_2.16 obstack_printf F +GLIBC_2.16 obstack_vprintf F +GLIBC_2.16 on_exit F +GLIBC_2.16 open F +GLIBC_2.16 open64 F +GLIBC_2.16 open_by_handle_at F +GLIBC_2.16 open_memstream F +GLIBC_2.16 open_wmemstream F +GLIBC_2.16 openat F +GLIBC_2.16 openat64 F +GLIBC_2.16 opendir F +GLIBC_2.16 openlog F +GLIBC_2.16 optarg D 0x4 +GLIBC_2.16 opterr D 0x4 +GLIBC_2.16 optind D 0x4 +GLIBC_2.16 optopt D 0x4 +GLIBC_2.16 parse_printf_format F +GLIBC_2.16 passwd2des F +GLIBC_2.16 pathconf F +GLIBC_2.16 pause F +GLIBC_2.16 pclose F +GLIBC_2.16 perror F +GLIBC_2.16 personality F +GLIBC_2.16 pipe F +GLIBC_2.16 pipe2 F +GLIBC_2.16 pivot_root F +GLIBC_2.16 pmap_getmaps F +GLIBC_2.16 pmap_getport F +GLIBC_2.16 pmap_rmtcall F +GLIBC_2.16 pmap_set F +GLIBC_2.16 pmap_unset F +GLIBC_2.16 poll F +GLIBC_2.16 popen F +GLIBC_2.16 posix_fadvise F +GLIBC_2.16 posix_fadvise64 F +GLIBC_2.16 posix_fallocate F +GLIBC_2.16 posix_fallocate64 F +GLIBC_2.16 posix_madvise F +GLIBC_2.16 posix_memalign F +GLIBC_2.16 posix_openpt F +GLIBC_2.16 posix_spawn F +GLIBC_2.16 posix_spawn_file_actions_addclose F +GLIBC_2.16 posix_spawn_file_actions_adddup2 F +GLIBC_2.16 posix_spawn_file_actions_addopen F +GLIBC_2.16 posix_spawn_file_actions_destroy F +GLIBC_2.16 posix_spawn_file_actions_init F +GLIBC_2.16 posix_spawnattr_destroy F +GLIBC_2.16 posix_spawnattr_getflags F +GLIBC_2.16 posix_spawnattr_getpgroup F +GLIBC_2.16 posix_spawnattr_getschedparam F +GLIBC_2.16 posix_spawnattr_getschedpolicy F +GLIBC_2.16 posix_spawnattr_getsigdefault F +GLIBC_2.16 posix_spawnattr_getsigmask F +GLIBC_2.16 posix_spawnattr_init F +GLIBC_2.16 posix_spawnattr_setflags F +GLIBC_2.16 posix_spawnattr_setpgroup F +GLIBC_2.16 posix_spawnattr_setschedparam F +GLIBC_2.16 posix_spawnattr_setschedpolicy F +GLIBC_2.16 posix_spawnattr_setsigdefault F +GLIBC_2.16 posix_spawnattr_setsigmask F +GLIBC_2.16 posix_spawnp F +GLIBC_2.16 ppoll F +GLIBC_2.16 prctl F +GLIBC_2.16 pread F +GLIBC_2.16 pread64 F +GLIBC_2.16 preadv F +GLIBC_2.16 preadv64 F +GLIBC_2.16 printf F +GLIBC_2.16 printf_size F +GLIBC_2.16 printf_size_info F +GLIBC_2.16 prlimit F +GLIBC_2.16 prlimit64 F +GLIBC_2.16 process_vm_readv F +GLIBC_2.16 process_vm_writev F +GLIBC_2.16 profil F +GLIBC_2.16 program_invocation_name D 0x4 +GLIBC_2.16 program_invocation_short_name D 0x4 +GLIBC_2.16 pselect F +GLIBC_2.16 psiginfo F +GLIBC_2.16 psignal F +GLIBC_2.16 pthread_attr_destroy F +GLIBC_2.16 pthread_attr_getdetachstate F +GLIBC_2.16 pthread_attr_getinheritsched F +GLIBC_2.16 pthread_attr_getschedparam F +GLIBC_2.16 pthread_attr_getschedpolicy F +GLIBC_2.16 pthread_attr_getscope F +GLIBC_2.16 pthread_attr_init F +GLIBC_2.16 pthread_attr_setdetachstate F +GLIBC_2.16 pthread_attr_setinheritsched F +GLIBC_2.16 pthread_attr_setschedparam F +GLIBC_2.16 pthread_attr_setschedpolicy F +GLIBC_2.16 pthread_attr_setscope F +GLIBC_2.16 pthread_cond_broadcast F +GLIBC_2.16 pthread_cond_destroy F +GLIBC_2.16 pthread_cond_init F +GLIBC_2.16 pthread_cond_signal F +GLIBC_2.16 pthread_cond_timedwait F +GLIBC_2.16 pthread_cond_wait F +GLIBC_2.16 pthread_condattr_destroy F +GLIBC_2.16 pthread_condattr_init F +GLIBC_2.16 pthread_equal F +GLIBC_2.16 pthread_exit F +GLIBC_2.16 pthread_getschedparam F +GLIBC_2.16 pthread_mutex_destroy F +GLIBC_2.16 pthread_mutex_init F +GLIBC_2.16 pthread_mutex_lock F +GLIBC_2.16 pthread_mutex_unlock F +GLIBC_2.16 pthread_self F +GLIBC_2.16 pthread_setcancelstate F +GLIBC_2.16 pthread_setcanceltype F +GLIBC_2.16 pthread_setschedparam F +GLIBC_2.16 ptrace F +GLIBC_2.16 ptsname F +GLIBC_2.16 ptsname_r F +GLIBC_2.16 putc F +GLIBC_2.16 putc_unlocked F +GLIBC_2.16 putchar F +GLIBC_2.16 putchar_unlocked F +GLIBC_2.16 putenv F +GLIBC_2.16 putgrent F +GLIBC_2.16 putmsg F +GLIBC_2.16 putpmsg F +GLIBC_2.16 putpwent F +GLIBC_2.16 puts F +GLIBC_2.16 putsgent F +GLIBC_2.16 putspent F +GLIBC_2.16 pututline F +GLIBC_2.16 pututxline F +GLIBC_2.16 putw F +GLIBC_2.16 putwc F +GLIBC_2.16 putwc_unlocked F +GLIBC_2.16 putwchar F +GLIBC_2.16 putwchar_unlocked F +GLIBC_2.16 pvalloc F +GLIBC_2.16 pwrite F +GLIBC_2.16 pwrite64 F +GLIBC_2.16 pwritev F +GLIBC_2.16 pwritev64 F +GLIBC_2.16 qecvt F +GLIBC_2.16 qecvt_r F +GLIBC_2.16 qfcvt F +GLIBC_2.16 qfcvt_r F +GLIBC_2.16 qgcvt F +GLIBC_2.16 qsort F +GLIBC_2.16 qsort_r F +GLIBC_2.16 query_module F +GLIBC_2.16 quick_exit F +GLIBC_2.16 quotactl F +GLIBC_2.16 raise F +GLIBC_2.16 rand F +GLIBC_2.16 rand_r F +GLIBC_2.16 random F +GLIBC_2.16 random_r F +GLIBC_2.16 rawmemchr F +GLIBC_2.16 rcmd F +GLIBC_2.16 rcmd_af F +GLIBC_2.16 re_comp F +GLIBC_2.16 re_compile_fastmap F +GLIBC_2.16 re_compile_pattern F +GLIBC_2.16 re_exec F +GLIBC_2.16 re_match F +GLIBC_2.16 re_match_2 F +GLIBC_2.16 re_search F +GLIBC_2.16 re_search_2 F +GLIBC_2.16 re_set_registers F +GLIBC_2.16 re_set_syntax F +GLIBC_2.16 re_syntax_options D 0x4 +GLIBC_2.16 read F +GLIBC_2.16 readahead F +GLIBC_2.16 readdir F +GLIBC_2.16 readdir64 F +GLIBC_2.16 readdir64_r F +GLIBC_2.16 readdir_r F +GLIBC_2.16 readlink F +GLIBC_2.16 readlinkat F +GLIBC_2.16 readv F +GLIBC_2.16 realloc F +GLIBC_2.16 realpath F +GLIBC_2.16 reboot F +GLIBC_2.16 recv F +GLIBC_2.16 recvfrom F +GLIBC_2.16 recvmmsg F +GLIBC_2.16 recvmsg F +GLIBC_2.16 regcomp F +GLIBC_2.16 regerror F +GLIBC_2.16 regexec F +GLIBC_2.16 regfree F +GLIBC_2.16 register_printf_function F +GLIBC_2.16 register_printf_modifier F +GLIBC_2.16 register_printf_specifier F +GLIBC_2.16 register_printf_type F +GLIBC_2.16 registerrpc F +GLIBC_2.16 remap_file_pages F +GLIBC_2.16 remove F +GLIBC_2.16 removexattr F +GLIBC_2.16 remque F +GLIBC_2.16 rename F +GLIBC_2.16 renameat F +GLIBC_2.16 revoke F +GLIBC_2.16 rewind F +GLIBC_2.16 rewinddir F +GLIBC_2.16 rexec F +GLIBC_2.16 rexec_af F +GLIBC_2.16 rexecoptions D 0x4 +GLIBC_2.16 rindex F +GLIBC_2.16 rmdir F +GLIBC_2.16 rpc_createerr D 0x10 +GLIBC_2.16 rpmatch F +GLIBC_2.16 rresvport F +GLIBC_2.16 rresvport_af F +GLIBC_2.16 rtime F +GLIBC_2.16 ruserok F +GLIBC_2.16 ruserok_af F +GLIBC_2.16 ruserpass F +GLIBC_2.16 sbrk F +GLIBC_2.16 scalbn F +GLIBC_2.16 scalbnf F +GLIBC_2.16 scalbnl F +GLIBC_2.16 scandir F +GLIBC_2.16 scandir64 F +GLIBC_2.16 scandirat F +GLIBC_2.16 scandirat64 F +GLIBC_2.16 scanf F +GLIBC_2.16 sched_get_priority_max F +GLIBC_2.16 sched_get_priority_min F +GLIBC_2.16 sched_getaffinity F +GLIBC_2.16 sched_getcpu F +GLIBC_2.16 sched_getparam F +GLIBC_2.16 sched_getscheduler F +GLIBC_2.16 sched_rr_get_interval F +GLIBC_2.16 sched_setaffinity F +GLIBC_2.16 sched_setparam F +GLIBC_2.16 sched_setscheduler F +GLIBC_2.16 sched_yield F +GLIBC_2.16 seed48 F +GLIBC_2.16 seed48_r F +GLIBC_2.16 seekdir F +GLIBC_2.16 select F +GLIBC_2.16 semctl F +GLIBC_2.16 semget F +GLIBC_2.16 semop F +GLIBC_2.16 semtimedop F +GLIBC_2.16 send F +GLIBC_2.16 sendfile F +GLIBC_2.16 sendfile64 F +GLIBC_2.16 sendmmsg F +GLIBC_2.16 sendmsg F +GLIBC_2.16 sendto F +GLIBC_2.16 setaliasent F +GLIBC_2.16 setbuf F +GLIBC_2.16 setbuffer F +GLIBC_2.16 setcontext F +GLIBC_2.16 setdomainname F +GLIBC_2.16 setegid F +GLIBC_2.16 setenv F +GLIBC_2.16 seteuid F +GLIBC_2.16 setfsent F +GLIBC_2.16 setfsgid F +GLIBC_2.16 setfsuid F +GLIBC_2.16 setgid F +GLIBC_2.16 setgrent F +GLIBC_2.16 setgroups F +GLIBC_2.16 sethostent F +GLIBC_2.16 sethostid F +GLIBC_2.16 sethostname F +GLIBC_2.16 setipv4sourcefilter F +GLIBC_2.16 setitimer F +GLIBC_2.16 setjmp F +GLIBC_2.16 setlinebuf F +GLIBC_2.16 setlocale F +GLIBC_2.16 setlogin F +GLIBC_2.16 setlogmask F +GLIBC_2.16 setmntent F +GLIBC_2.16 setnetent F +GLIBC_2.16 setnetgrent F +GLIBC_2.16 setns F +GLIBC_2.16 setpgid F +GLIBC_2.16 setpgrp F +GLIBC_2.16 setpriority F +GLIBC_2.16 setprotoent F +GLIBC_2.16 setpwent F +GLIBC_2.16 setregid F +GLIBC_2.16 setresgid F +GLIBC_2.16 setresuid F +GLIBC_2.16 setreuid F +GLIBC_2.16 setrlimit F +GLIBC_2.16 setrlimit64 F +GLIBC_2.16 setrpcent F +GLIBC_2.16 setservent F +GLIBC_2.16 setsgent F +GLIBC_2.16 setsid F +GLIBC_2.16 setsockopt F +GLIBC_2.16 setsourcefilter F +GLIBC_2.16 setspent F +GLIBC_2.16 setstate F +GLIBC_2.16 setstate_r F +GLIBC_2.16 settimeofday F +GLIBC_2.16 setttyent F +GLIBC_2.16 setuid F +GLIBC_2.16 setusershell F +GLIBC_2.16 setutent F +GLIBC_2.16 setutxent F +GLIBC_2.16 setvbuf F +GLIBC_2.16 setxattr F +GLIBC_2.16 sgetsgent F +GLIBC_2.16 sgetsgent_r F +GLIBC_2.16 sgetspent F +GLIBC_2.16 sgetspent_r F +GLIBC_2.16 shmat F +GLIBC_2.16 shmctl F +GLIBC_2.16 shmdt F +GLIBC_2.16 shmget F +GLIBC_2.16 shutdown F +GLIBC_2.16 sigaction F +GLIBC_2.16 sigaddset F +GLIBC_2.16 sigaltstack F +GLIBC_2.16 sigandset F +GLIBC_2.16 sigblock F +GLIBC_2.16 sigdelset F +GLIBC_2.16 sigemptyset F +GLIBC_2.16 sigfillset F +GLIBC_2.16 siggetmask F +GLIBC_2.16 sighold F +GLIBC_2.16 sigignore F +GLIBC_2.16 siginterrupt F +GLIBC_2.16 sigisemptyset F +GLIBC_2.16 sigismember F +GLIBC_2.16 siglongjmp F +GLIBC_2.16 signal F +GLIBC_2.16 signalfd F +GLIBC_2.16 sigorset F +GLIBC_2.16 sigpause F +GLIBC_2.16 sigpending F +GLIBC_2.16 sigprocmask F +GLIBC_2.16 sigqueue F +GLIBC_2.16 sigrelse F +GLIBC_2.16 sigreturn F +GLIBC_2.16 sigset F +GLIBC_2.16 sigsetmask F +GLIBC_2.16 sigstack F +GLIBC_2.16 sigsuspend F +GLIBC_2.16 sigtimedwait F +GLIBC_2.16 sigvec F +GLIBC_2.16 sigwait F +GLIBC_2.16 sigwaitinfo F +GLIBC_2.16 sleep F +GLIBC_2.16 snprintf F +GLIBC_2.16 sockatmark F +GLIBC_2.16 socket F +GLIBC_2.16 socketpair F +GLIBC_2.16 splice F +GLIBC_2.16 sprintf F +GLIBC_2.16 sprofil F +GLIBC_2.16 srand F +GLIBC_2.16 srand48 F +GLIBC_2.16 srand48_r F +GLIBC_2.16 srandom F +GLIBC_2.16 srandom_r F +GLIBC_2.16 sscanf F +GLIBC_2.16 ssignal F +GLIBC_2.16 sstk F +GLIBC_2.16 statfs F +GLIBC_2.16 statfs64 F +GLIBC_2.16 statvfs F +GLIBC_2.16 statvfs64 F +GLIBC_2.16 stderr D 0x4 +GLIBC_2.16 stdin D 0x4 +GLIBC_2.16 stdout D 0x4 +GLIBC_2.16 step F +GLIBC_2.16 stime F +GLIBC_2.16 stpcpy F +GLIBC_2.16 stpncpy F +GLIBC_2.16 strcasecmp F +GLIBC_2.16 strcasecmp_l F +GLIBC_2.16 strcasestr F +GLIBC_2.16 strcat F +GLIBC_2.16 strchr F +GLIBC_2.16 strchrnul F +GLIBC_2.16 strcmp F +GLIBC_2.16 strcoll F +GLIBC_2.16 strcoll_l F +GLIBC_2.16 strcpy F +GLIBC_2.16 strcspn F +GLIBC_2.16 strdup F +GLIBC_2.16 strerror F +GLIBC_2.16 strerror_l F +GLIBC_2.16 strerror_r F +GLIBC_2.16 strfmon F +GLIBC_2.16 strfmon_l F +GLIBC_2.16 strfry F +GLIBC_2.16 strftime F +GLIBC_2.16 strftime_l F +GLIBC_2.16 strlen F +GLIBC_2.16 strncasecmp F +GLIBC_2.16 strncasecmp_l F +GLIBC_2.16 strncat F +GLIBC_2.16 strncmp F +GLIBC_2.16 strncpy F +GLIBC_2.16 strndup F +GLIBC_2.16 strnlen F +GLIBC_2.16 strpbrk F +GLIBC_2.16 strptime F +GLIBC_2.16 strptime_l F +GLIBC_2.16 strrchr F +GLIBC_2.16 strsep F +GLIBC_2.16 strsignal F +GLIBC_2.16 strspn F +GLIBC_2.16 strstr F +GLIBC_2.16 strtod F +GLIBC_2.16 strtod_l F +GLIBC_2.16 strtof F +GLIBC_2.16 strtof_l F +GLIBC_2.16 strtoimax F +GLIBC_2.16 strtok F +GLIBC_2.16 strtok_r F +GLIBC_2.16 strtol F +GLIBC_2.16 strtol_l F +GLIBC_2.16 strtold F +GLIBC_2.16 strtold_l F +GLIBC_2.16 strtoll F +GLIBC_2.16 strtoll_l F +GLIBC_2.16 strtoq F +GLIBC_2.16 strtoul F +GLIBC_2.16 strtoul_l F +GLIBC_2.16 strtoull F +GLIBC_2.16 strtoull_l F +GLIBC_2.16 strtoumax F +GLIBC_2.16 strtouq F +GLIBC_2.16 strverscmp F +GLIBC_2.16 strxfrm F +GLIBC_2.16 strxfrm_l F +GLIBC_2.16 stty F +GLIBC_2.16 svc_exit F +GLIBC_2.16 svc_fdset D 0x80 +GLIBC_2.16 svc_getreq F +GLIBC_2.16 svc_getreq_common F +GLIBC_2.16 svc_getreq_poll F +GLIBC_2.16 svc_getreqset F +GLIBC_2.16 svc_max_pollfd D 0x4 +GLIBC_2.16 svc_pollfd D 0x4 +GLIBC_2.16 svc_register F +GLIBC_2.16 svc_run F +GLIBC_2.16 svc_sendreply F +GLIBC_2.16 svc_unregister F +GLIBC_2.16 svcauthdes_stats D 0xc +GLIBC_2.16 svcerr_auth F +GLIBC_2.16 svcerr_decode F +GLIBC_2.16 svcerr_noproc F +GLIBC_2.16 svcerr_noprog F +GLIBC_2.16 svcerr_progvers F +GLIBC_2.16 svcerr_systemerr F +GLIBC_2.16 svcerr_weakauth F +GLIBC_2.16 svcfd_create F +GLIBC_2.16 svcraw_create F +GLIBC_2.16 svctcp_create F +GLIBC_2.16 svcudp_bufcreate F +GLIBC_2.16 svcudp_create F +GLIBC_2.16 svcudp_enablecache F +GLIBC_2.16 svcunix_create F +GLIBC_2.16 svcunixfd_create F +GLIBC_2.16 swab F +GLIBC_2.16 swapcontext F +GLIBC_2.16 swapoff F +GLIBC_2.16 swapon F +GLIBC_2.16 swprintf F +GLIBC_2.16 swscanf F +GLIBC_2.16 symlink F +GLIBC_2.16 symlinkat F +GLIBC_2.16 sync F +GLIBC_2.16 sync_file_range F +GLIBC_2.16 syncfs F +GLIBC_2.16 sys_errlist D 0x21c +GLIBC_2.16 sys_nerr D 0x4 +GLIBC_2.16 sys_sigabbrev D 0x104 +GLIBC_2.16 sys_siglist D 0x104 +GLIBC_2.16 syscall F +GLIBC_2.16 sysconf F +GLIBC_2.16 sysinfo F +GLIBC_2.16 syslog F +GLIBC_2.16 system F +GLIBC_2.16 sysv_signal F +GLIBC_2.16 tcdrain F +GLIBC_2.16 tcflow F +GLIBC_2.16 tcflush F +GLIBC_2.16 tcgetattr F +GLIBC_2.16 tcgetpgrp F +GLIBC_2.16 tcgetsid F +GLIBC_2.16 tcsendbreak F +GLIBC_2.16 tcsetattr F +GLIBC_2.16 tcsetpgrp F +GLIBC_2.16 tdelete F +GLIBC_2.16 tdestroy F +GLIBC_2.16 tee F +GLIBC_2.16 telldir F +GLIBC_2.16 tempnam F +GLIBC_2.16 textdomain F +GLIBC_2.16 tfind F +GLIBC_2.16 time F +GLIBC_2.16 timegm F +GLIBC_2.16 timelocal F +GLIBC_2.16 timerfd_create F +GLIBC_2.16 timerfd_gettime F +GLIBC_2.16 timerfd_settime F +GLIBC_2.16 times F +GLIBC_2.16 timespec_get F +GLIBC_2.16 timezone D 0x4 +GLIBC_2.16 tmpfile F +GLIBC_2.16 tmpfile64 F +GLIBC_2.16 tmpnam F +GLIBC_2.16 tmpnam_r F +GLIBC_2.16 toascii F +GLIBC_2.16 tolower F +GLIBC_2.16 tolower_l F +GLIBC_2.16 toupper F +GLIBC_2.16 toupper_l F +GLIBC_2.16 towctrans F +GLIBC_2.16 towctrans_l F +GLIBC_2.16 towlower F +GLIBC_2.16 towlower_l F +GLIBC_2.16 towupper F +GLIBC_2.16 towupper_l F +GLIBC_2.16 tr_break F +GLIBC_2.16 truncate F +GLIBC_2.16 truncate64 F +GLIBC_2.16 tsearch F +GLIBC_2.16 ttyname F +GLIBC_2.16 ttyname_r F +GLIBC_2.16 ttyslot F +GLIBC_2.16 twalk F +GLIBC_2.16 tzname D 0x8 +GLIBC_2.16 tzset F +GLIBC_2.16 ualarm F +GLIBC_2.16 ulckpwdf F +GLIBC_2.16 ulimit F +GLIBC_2.16 umask F +GLIBC_2.16 umount F +GLIBC_2.16 umount2 F +GLIBC_2.16 uname F +GLIBC_2.16 ungetc F +GLIBC_2.16 ungetwc F +GLIBC_2.16 unlink F +GLIBC_2.16 unlinkat F +GLIBC_2.16 unlockpt F +GLIBC_2.16 unsetenv F +GLIBC_2.16 unshare F +GLIBC_2.16 updwtmp F +GLIBC_2.16 updwtmpx F +GLIBC_2.16 uselib F +GLIBC_2.16 uselocale F +GLIBC_2.16 user2netname F +GLIBC_2.16 usleep F +GLIBC_2.16 ustat F +GLIBC_2.16 utime F +GLIBC_2.16 utimensat F +GLIBC_2.16 utimes F +GLIBC_2.16 utmpname F +GLIBC_2.16 utmpxname F +GLIBC_2.16 valloc F +GLIBC_2.16 vasprintf F +GLIBC_2.16 vdprintf F +GLIBC_2.16 verr F +GLIBC_2.16 verrx F +GLIBC_2.16 versionsort F +GLIBC_2.16 versionsort64 F +GLIBC_2.16 vfork F +GLIBC_2.16 vfprintf F +GLIBC_2.16 vfscanf F +GLIBC_2.16 vfwprintf F +GLIBC_2.16 vfwscanf F +GLIBC_2.16 vhangup F +GLIBC_2.16 vlimit F +GLIBC_2.16 vmsplice F +GLIBC_2.16 vprintf F +GLIBC_2.16 vscanf F +GLIBC_2.16 vsnprintf F +GLIBC_2.16 vsprintf F +GLIBC_2.16 vsscanf F +GLIBC_2.16 vswprintf F +GLIBC_2.16 vswscanf F +GLIBC_2.16 vsyslog F +GLIBC_2.16 vtimes F +GLIBC_2.16 vwarn F +GLIBC_2.16 vwarnx F +GLIBC_2.16 vwprintf F +GLIBC_2.16 vwscanf F +GLIBC_2.16 wait F +GLIBC_2.16 wait3 F +GLIBC_2.16 wait4 F +GLIBC_2.16 waitid F +GLIBC_2.16 waitpid F +GLIBC_2.16 warn F +GLIBC_2.16 warnx F +GLIBC_2.16 wcpcpy F +GLIBC_2.16 wcpncpy F +GLIBC_2.16 wcrtomb F +GLIBC_2.16 wcscasecmp F +GLIBC_2.16 wcscasecmp_l F +GLIBC_2.16 wcscat F +GLIBC_2.16 wcschr F +GLIBC_2.16 wcschrnul F +GLIBC_2.16 wcscmp F +GLIBC_2.16 wcscoll F +GLIBC_2.16 wcscoll_l F +GLIBC_2.16 wcscpy F +GLIBC_2.16 wcscspn F +GLIBC_2.16 wcsdup F +GLIBC_2.16 wcsftime F +GLIBC_2.16 wcsftime_l F +GLIBC_2.16 wcslen F +GLIBC_2.16 wcsncasecmp F +GLIBC_2.16 wcsncasecmp_l F +GLIBC_2.16 wcsncat F +GLIBC_2.16 wcsncmp F +GLIBC_2.16 wcsncpy F +GLIBC_2.16 wcsnlen F +GLIBC_2.16 wcsnrtombs F +GLIBC_2.16 wcspbrk F +GLIBC_2.16 wcsrchr F +GLIBC_2.16 wcsrtombs F +GLIBC_2.16 wcsspn F +GLIBC_2.16 wcsstr F +GLIBC_2.16 wcstod F +GLIBC_2.16 wcstod_l F +GLIBC_2.16 wcstof F +GLIBC_2.16 wcstof_l F +GLIBC_2.16 wcstoimax F +GLIBC_2.16 wcstok F +GLIBC_2.16 wcstol F +GLIBC_2.16 wcstol_l F +GLIBC_2.16 wcstold F +GLIBC_2.16 wcstold_l F +GLIBC_2.16 wcstoll F +GLIBC_2.16 wcstoll_l F +GLIBC_2.16 wcstombs F +GLIBC_2.16 wcstoq F +GLIBC_2.16 wcstoul F +GLIBC_2.16 wcstoul_l F +GLIBC_2.16 wcstoull F +GLIBC_2.16 wcstoull_l F +GLIBC_2.16 wcstoumax F +GLIBC_2.16 wcstouq F +GLIBC_2.16 wcswcs F +GLIBC_2.16 wcswidth F +GLIBC_2.16 wcsxfrm F +GLIBC_2.16 wcsxfrm_l F +GLIBC_2.16 wctob F +GLIBC_2.16 wctomb F +GLIBC_2.16 wctrans F +GLIBC_2.16 wctrans_l F +GLIBC_2.16 wctype F +GLIBC_2.16 wctype_l F +GLIBC_2.16 wcwidth F +GLIBC_2.16 wmemchr F +GLIBC_2.16 wmemcmp F +GLIBC_2.16 wmemcpy F +GLIBC_2.16 wmemmove F +GLIBC_2.16 wmempcpy F +GLIBC_2.16 wmemset F +GLIBC_2.16 wordexp F +GLIBC_2.16 wordfree F +GLIBC_2.16 wprintf F +GLIBC_2.16 write F +GLIBC_2.16 writev F +GLIBC_2.16 wscanf F +GLIBC_2.16 xdecrypt F +GLIBC_2.16 xdr_accepted_reply F +GLIBC_2.16 xdr_array F +GLIBC_2.16 xdr_authdes_cred F +GLIBC_2.16 xdr_authdes_verf F +GLIBC_2.16 xdr_authunix_parms F +GLIBC_2.16 xdr_bool F +GLIBC_2.16 xdr_bytes F +GLIBC_2.16 xdr_callhdr F +GLIBC_2.16 xdr_callmsg F +GLIBC_2.16 xdr_char F +GLIBC_2.16 xdr_cryptkeyarg F +GLIBC_2.16 xdr_cryptkeyarg2 F +GLIBC_2.16 xdr_cryptkeyres F +GLIBC_2.16 xdr_des_block F +GLIBC_2.16 xdr_double F +GLIBC_2.16 xdr_enum F +GLIBC_2.16 xdr_float F +GLIBC_2.16 xdr_free F +GLIBC_2.16 xdr_getcredres F +GLIBC_2.16 xdr_hyper F +GLIBC_2.16 xdr_int F +GLIBC_2.16 xdr_int16_t F +GLIBC_2.16 xdr_int32_t F +GLIBC_2.16 xdr_int64_t F +GLIBC_2.16 xdr_int8_t F +GLIBC_2.16 xdr_key_netstarg F +GLIBC_2.16 xdr_key_netstres F +GLIBC_2.16 xdr_keybuf F +GLIBC_2.16 xdr_keystatus F +GLIBC_2.16 xdr_long F +GLIBC_2.16 xdr_longlong_t F +GLIBC_2.16 xdr_netnamestr F +GLIBC_2.16 xdr_netobj F +GLIBC_2.16 xdr_opaque F +GLIBC_2.16 xdr_opaque_auth F +GLIBC_2.16 xdr_pmap F +GLIBC_2.16 xdr_pmaplist F +GLIBC_2.16 xdr_pointer F +GLIBC_2.16 xdr_quad_t F +GLIBC_2.16 xdr_reference F +GLIBC_2.16 xdr_rejected_reply F +GLIBC_2.16 xdr_replymsg F +GLIBC_2.16 xdr_rmtcall_args F +GLIBC_2.16 xdr_rmtcallres F +GLIBC_2.16 xdr_short F +GLIBC_2.16 xdr_sizeof F +GLIBC_2.16 xdr_string F +GLIBC_2.16 xdr_u_char F +GLIBC_2.16 xdr_u_hyper F +GLIBC_2.16 xdr_u_int F +GLIBC_2.16 xdr_u_long F +GLIBC_2.16 xdr_u_longlong_t F +GLIBC_2.16 xdr_u_quad_t F +GLIBC_2.16 xdr_u_short F +GLIBC_2.16 xdr_uint16_t F +GLIBC_2.16 xdr_uint32_t F +GLIBC_2.16 xdr_uint64_t F +GLIBC_2.16 xdr_uint8_t F +GLIBC_2.16 xdr_union F +GLIBC_2.16 xdr_unixcred F +GLIBC_2.16 xdr_vector F +GLIBC_2.16 xdr_void F +GLIBC_2.16 xdr_wrapstring F +GLIBC_2.16 xdrmem_create F +GLIBC_2.16 xdrrec_create F +GLIBC_2.16 xdrrec_endofrecord F +GLIBC_2.16 xdrrec_eof F +GLIBC_2.16 xdrrec_skiprecord F +GLIBC_2.16 xdrstdio_create F +GLIBC_2.16 xencrypt F +GLIBC_2.16 xprt_register F +GLIBC_2.16 xprt_unregister F +GLIBC_2.17 GLIBC_2.17 A +GLIBC_2.17 clock_getcpuclockid F +GLIBC_2.17 clock_getres F +GLIBC_2.17 clock_gettime F +GLIBC_2.17 clock_nanosleep F +GLIBC_2.17 clock_settime F +GLIBC_2.17 secure_getenv F +GLIBC_2.18 GLIBC_2.18 A +GLIBC_2.18 __cxa_thread_atexit_impl F +GLIBC_2.22 GLIBC_2.22 A +GLIBC_2.22 fmemopen F +GLIBC_2.23 GLIBC_2.23 A +GLIBC_2.23 fts64_children F +GLIBC_2.23 fts64_close F +GLIBC_2.23 fts64_open F +GLIBC_2.23 fts64_read F +GLIBC_2.23 fts64_set F +GLIBC_2.24 GLIBC_2.24 A +GLIBC_2.24 quick_exit F +GLIBC_2.25 GLIBC_2.25 A +GLIBC_2.25 __explicit_bzero_chk F +GLIBC_2.25 explicit_bzero F +GLIBC_2.25 getentropy F +GLIBC_2.25 getrandom F +GLIBC_2.25 strfromd F +GLIBC_2.25 strfromf F +GLIBC_2.25 strfroml F +GLIBC_2.26 GLIBC_2.26 A +GLIBC_2.26 preadv2 F +GLIBC_2.26 preadv64v2 F +GLIBC_2.26 pwritev2 F +GLIBC_2.26 pwritev64v2 F +GLIBC_2.26 reallocarray F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist new file mode 100644 index 0000000000..d0f5c3b25d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libcrypt.abilist @@ -0,0 +1,8 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 crypt F +GLIBC_2.16 crypt_r F +GLIBC_2.16 encrypt F +GLIBC_2.16 encrypt_r F +GLIBC_2.16 fcrypt F +GLIBC_2.16 setkey F +GLIBC_2.16 setkey_r F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist new file mode 100644 index 0000000000..e4d2e7935d --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libdl.abilist @@ -0,0 +1,10 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 dladdr F +GLIBC_2.16 dladdr1 F +GLIBC_2.16 dlclose F +GLIBC_2.16 dlerror F +GLIBC_2.16 dlinfo F +GLIBC_2.16 dlmopen F +GLIBC_2.16 dlopen F +GLIBC_2.16 dlsym F +GLIBC_2.16 dlvsym F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist new file mode 100644 index 0000000000..a24ff7e8a0 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -0,0 +1,463 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 _LIB_VERSION D 0x4 +GLIBC_2.16 __acos_finite F +GLIBC_2.16 __acosf_finite F +GLIBC_2.16 __acosh_finite F +GLIBC_2.16 __acoshf_finite F +GLIBC_2.16 __acoshl_finite F +GLIBC_2.16 __acosl_finite F +GLIBC_2.16 __asin_finite F +GLIBC_2.16 __asinf_finite F +GLIBC_2.16 __asinl_finite F +GLIBC_2.16 __atan2_finite F +GLIBC_2.16 __atan2f_finite F +GLIBC_2.16 __atan2l_finite F +GLIBC_2.16 __atanh_finite F +GLIBC_2.16 __atanhf_finite F +GLIBC_2.16 __atanhl_finite F +GLIBC_2.16 __clog10 F +GLIBC_2.16 __clog10f F +GLIBC_2.16 __clog10l F +GLIBC_2.16 __cosh_finite F +GLIBC_2.16 __coshf_finite F +GLIBC_2.16 __coshl_finite F +GLIBC_2.16 __exp10_finite F +GLIBC_2.16 __exp10f_finite F +GLIBC_2.16 __exp10l_finite F +GLIBC_2.16 __exp2_finite F +GLIBC_2.16 __exp2f_finite F +GLIBC_2.16 __exp2l_finite F +GLIBC_2.16 __exp_finite F +GLIBC_2.16 __expf_finite F +GLIBC_2.16 __expl_finite F +GLIBC_2.16 __finite F +GLIBC_2.16 __finitef F +GLIBC_2.16 __finitel F +GLIBC_2.16 __fmod_finite F +GLIBC_2.16 __fmodf_finite F +GLIBC_2.16 __fmodl_finite F +GLIBC_2.16 __fpclassify F +GLIBC_2.16 __fpclassifyf F +GLIBC_2.16 __fpclassifyl F +GLIBC_2.16 __gamma_r_finite F +GLIBC_2.16 __gammaf_r_finite F +GLIBC_2.16 __gammal_r_finite F +GLIBC_2.16 __hypot_finite F +GLIBC_2.16 __hypotf_finite F +GLIBC_2.16 __hypotl_finite F +GLIBC_2.16 __j0_finite F +GLIBC_2.16 __j0f_finite F +GLIBC_2.16 __j0l_finite F +GLIBC_2.16 __j1_finite F +GLIBC_2.16 __j1f_finite F +GLIBC_2.16 __j1l_finite F +GLIBC_2.16 __jn_finite F +GLIBC_2.16 __jnf_finite F +GLIBC_2.16 __jnl_finite F +GLIBC_2.16 __lgamma_r_finite F +GLIBC_2.16 __lgammaf_r_finite F +GLIBC_2.16 __lgammal_r_finite F +GLIBC_2.16 __log10_finite F +GLIBC_2.16 __log10f_finite F +GLIBC_2.16 __log10l_finite F +GLIBC_2.16 __log2_finite F +GLIBC_2.16 __log2f_finite F +GLIBC_2.16 __log2l_finite F +GLIBC_2.16 __log_finite F +GLIBC_2.16 __logf_finite F +GLIBC_2.16 __logl_finite F +GLIBC_2.16 __pow_finite F +GLIBC_2.16 __powf_finite F +GLIBC_2.16 __powl_finite F +GLIBC_2.16 __remainder_finite F +GLIBC_2.16 __remainderf_finite F +GLIBC_2.16 __remainderl_finite F +GLIBC_2.16 __scalb_finite F +GLIBC_2.16 __scalbf_finite F +GLIBC_2.16 __scalbl_finite F +GLIBC_2.16 __signbit F +GLIBC_2.16 __signbitf F +GLIBC_2.16 __signbitl F +GLIBC_2.16 __sinh_finite F +GLIBC_2.16 __sinhf_finite F +GLIBC_2.16 __sinhl_finite F +GLIBC_2.16 __sqrt_finite F +GLIBC_2.16 __sqrtf_finite F +GLIBC_2.16 __sqrtl_finite F +GLIBC_2.16 __y0_finite F +GLIBC_2.16 __y0f_finite F +GLIBC_2.16 __y0l_finite F +GLIBC_2.16 __y1_finite F +GLIBC_2.16 __y1f_finite F +GLIBC_2.16 __y1l_finite F +GLIBC_2.16 __yn_finite F +GLIBC_2.16 __ynf_finite F +GLIBC_2.16 __ynl_finite F +GLIBC_2.16 acos F +GLIBC_2.16 acosf F +GLIBC_2.16 acosh F +GLIBC_2.16 acoshf F +GLIBC_2.16 acoshl F +GLIBC_2.16 acosl F +GLIBC_2.16 asin F +GLIBC_2.16 asinf F +GLIBC_2.16 asinh F +GLIBC_2.16 asinhf F +GLIBC_2.16 asinhl F +GLIBC_2.16 asinl F +GLIBC_2.16 atan F +GLIBC_2.16 atan2 F +GLIBC_2.16 atan2f F +GLIBC_2.16 atan2l F +GLIBC_2.16 atanf F +GLIBC_2.16 atanh F +GLIBC_2.16 atanhf F +GLIBC_2.16 atanhl F +GLIBC_2.16 atanl F +GLIBC_2.16 cabs F +GLIBC_2.16 cabsf F +GLIBC_2.16 cabsl F +GLIBC_2.16 cacos F +GLIBC_2.16 cacosf F +GLIBC_2.16 cacosh F +GLIBC_2.16 cacoshf F +GLIBC_2.16 cacoshl F +GLIBC_2.16 cacosl F +GLIBC_2.16 carg F +GLIBC_2.16 cargf F +GLIBC_2.16 cargl F +GLIBC_2.16 casin F +GLIBC_2.16 casinf F +GLIBC_2.16 casinh F +GLIBC_2.16 casinhf F +GLIBC_2.16 casinhl F +GLIBC_2.16 casinl F +GLIBC_2.16 catan F +GLIBC_2.16 catanf F +GLIBC_2.16 catanh F +GLIBC_2.16 catanhf F +GLIBC_2.16 catanhl F +GLIBC_2.16 catanl F +GLIBC_2.16 cbrt F +GLIBC_2.16 cbrtf F +GLIBC_2.16 cbrtl F +GLIBC_2.16 ccos F +GLIBC_2.16 ccosf F +GLIBC_2.16 ccosh F +GLIBC_2.16 ccoshf F +GLIBC_2.16 ccoshl F +GLIBC_2.16 ccosl F +GLIBC_2.16 ceil F +GLIBC_2.16 ceilf F +GLIBC_2.16 ceill F +GLIBC_2.16 cexp F +GLIBC_2.16 cexpf F +GLIBC_2.16 cexpl F +GLIBC_2.16 cimag F +GLIBC_2.16 cimagf F +GLIBC_2.16 cimagl F +GLIBC_2.16 clog F +GLIBC_2.16 clog10 F +GLIBC_2.16 clog10f F +GLIBC_2.16 clog10l F +GLIBC_2.16 clogf F +GLIBC_2.16 clogl F +GLIBC_2.16 conj F +GLIBC_2.16 conjf F +GLIBC_2.16 conjl F +GLIBC_2.16 copysign F +GLIBC_2.16 copysignf F +GLIBC_2.16 copysignl F +GLIBC_2.16 cos F +GLIBC_2.16 cosf F +GLIBC_2.16 cosh F +GLIBC_2.16 coshf F +GLIBC_2.16 coshl F +GLIBC_2.16 cosl F +GLIBC_2.16 cpow F +GLIBC_2.16 cpowf F +GLIBC_2.16 cpowl F +GLIBC_2.16 cproj F +GLIBC_2.16 cprojf F +GLIBC_2.16 cprojl F +GLIBC_2.16 creal F +GLIBC_2.16 crealf F +GLIBC_2.16 creall F +GLIBC_2.16 csin F +GLIBC_2.16 csinf F +GLIBC_2.16 csinh F +GLIBC_2.16 csinhf F +GLIBC_2.16 csinhl F +GLIBC_2.16 csinl F +GLIBC_2.16 csqrt F +GLIBC_2.16 csqrtf F +GLIBC_2.16 csqrtl F +GLIBC_2.16 ctan F +GLIBC_2.16 ctanf F +GLIBC_2.16 ctanh F +GLIBC_2.16 ctanhf F +GLIBC_2.16 ctanhl F +GLIBC_2.16 ctanl F +GLIBC_2.16 drem F +GLIBC_2.16 dremf F +GLIBC_2.16 dreml F +GLIBC_2.16 erf F +GLIBC_2.16 erfc F +GLIBC_2.16 erfcf F +GLIBC_2.16 erfcl F +GLIBC_2.16 erff F +GLIBC_2.16 erfl F +GLIBC_2.16 exp F +GLIBC_2.16 exp10 F +GLIBC_2.16 exp10f F +GLIBC_2.16 exp10l F +GLIBC_2.16 exp2 F +GLIBC_2.16 exp2f F +GLIBC_2.16 exp2l F +GLIBC_2.16 expf F +GLIBC_2.16 expl F +GLIBC_2.16 expm1 F +GLIBC_2.16 expm1f F +GLIBC_2.16 expm1l F +GLIBC_2.16 fabs F +GLIBC_2.16 fabsf F +GLIBC_2.16 fabsl F +GLIBC_2.16 fdim F +GLIBC_2.16 fdimf F +GLIBC_2.16 fdiml F +GLIBC_2.16 feclearexcept F +GLIBC_2.16 fedisableexcept F +GLIBC_2.16 feenableexcept F +GLIBC_2.16 fegetenv F +GLIBC_2.16 fegetexcept F +GLIBC_2.16 fegetexceptflag F +GLIBC_2.16 fegetround F +GLIBC_2.16 feholdexcept F +GLIBC_2.16 feraiseexcept F +GLIBC_2.16 fesetenv F +GLIBC_2.16 fesetexceptflag F +GLIBC_2.16 fesetround F +GLIBC_2.16 fetestexcept F +GLIBC_2.16 feupdateenv F +GLIBC_2.16 finite F +GLIBC_2.16 finitef F +GLIBC_2.16 finitel F +GLIBC_2.16 floor F +GLIBC_2.16 floorf F +GLIBC_2.16 floorl F +GLIBC_2.16 fma F +GLIBC_2.16 fmaf F +GLIBC_2.16 fmal F +GLIBC_2.16 fmax F +GLIBC_2.16 fmaxf F +GLIBC_2.16 fmaxl F +GLIBC_2.16 fmin F +GLIBC_2.16 fminf F +GLIBC_2.16 fminl F +GLIBC_2.16 fmod F +GLIBC_2.16 fmodf F +GLIBC_2.16 fmodl F +GLIBC_2.16 frexp F +GLIBC_2.16 frexpf F +GLIBC_2.16 frexpl F +GLIBC_2.16 gamma F +GLIBC_2.16 gammaf F +GLIBC_2.16 gammal F +GLIBC_2.16 hypot F +GLIBC_2.16 hypotf F +GLIBC_2.16 hypotl F +GLIBC_2.16 ilogb F +GLIBC_2.16 ilogbf F +GLIBC_2.16 ilogbl F +GLIBC_2.16 j0 F +GLIBC_2.16 j0f F +GLIBC_2.16 j0l F +GLIBC_2.16 j1 F +GLIBC_2.16 j1f F +GLIBC_2.16 j1l F +GLIBC_2.16 jn F +GLIBC_2.16 jnf F +GLIBC_2.16 jnl F +GLIBC_2.16 ldexp F +GLIBC_2.16 ldexpf F +GLIBC_2.16 ldexpl F +GLIBC_2.16 lgamma F +GLIBC_2.16 lgamma_r F +GLIBC_2.16 lgammaf F +GLIBC_2.16 lgammaf_r F +GLIBC_2.16 lgammal F +GLIBC_2.16 lgammal_r F +GLIBC_2.16 llrint F +GLIBC_2.16 llrintf F +GLIBC_2.16 llrintl F +GLIBC_2.16 llround F +GLIBC_2.16 llroundf F +GLIBC_2.16 llroundl F +GLIBC_2.16 log F +GLIBC_2.16 log10 F +GLIBC_2.16 log10f F +GLIBC_2.16 log10l F +GLIBC_2.16 log1p F +GLIBC_2.16 log1pf F +GLIBC_2.16 log1pl F +GLIBC_2.16 log2 F +GLIBC_2.16 log2f F +GLIBC_2.16 log2l F +GLIBC_2.16 logb F +GLIBC_2.16 logbf F +GLIBC_2.16 logbl F +GLIBC_2.16 logf F +GLIBC_2.16 logl F +GLIBC_2.16 lrint F +GLIBC_2.16 lrintf F +GLIBC_2.16 lrintl F +GLIBC_2.16 lround F +GLIBC_2.16 lroundf F +GLIBC_2.16 lroundl F +GLIBC_2.16 matherr F +GLIBC_2.16 modf F +GLIBC_2.16 modff F +GLIBC_2.16 modfl F +GLIBC_2.16 nan F +GLIBC_2.16 nanf F +GLIBC_2.16 nanl F +GLIBC_2.16 nearbyint F +GLIBC_2.16 nearbyintf F +GLIBC_2.16 nearbyintl F +GLIBC_2.16 nextafter F +GLIBC_2.16 nextafterf F +GLIBC_2.16 nextafterl F +GLIBC_2.16 nexttoward F +GLIBC_2.16 nexttowardf F +GLIBC_2.16 nexttowardl F +GLIBC_2.16 pow F +GLIBC_2.16 pow10 F +GLIBC_2.16 pow10f F +GLIBC_2.16 pow10l F +GLIBC_2.16 powf F +GLIBC_2.16 powl F +GLIBC_2.16 remainder F +GLIBC_2.16 remainderf F +GLIBC_2.16 remainderl F +GLIBC_2.16 remquo F +GLIBC_2.16 remquof F +GLIBC_2.16 remquol F +GLIBC_2.16 rint F +GLIBC_2.16 rintf F +GLIBC_2.16 rintl F +GLIBC_2.16 round F +GLIBC_2.16 roundf F +GLIBC_2.16 roundl F +GLIBC_2.16 scalb F +GLIBC_2.16 scalbf F +GLIBC_2.16 scalbl F +GLIBC_2.16 scalbln F +GLIBC_2.16 scalblnf F +GLIBC_2.16 scalblnl F +GLIBC_2.16 scalbn F +GLIBC_2.16 scalbnf F +GLIBC_2.16 scalbnl F +GLIBC_2.16 signgam D 0x4 +GLIBC_2.16 significand F +GLIBC_2.16 significandf F +GLIBC_2.16 significandl F +GLIBC_2.16 sin F +GLIBC_2.16 sincos F +GLIBC_2.16 sincosf F +GLIBC_2.16 sincosl F +GLIBC_2.16 sinf F +GLIBC_2.16 sinh F +GLIBC_2.16 sinhf F +GLIBC_2.16 sinhl F +GLIBC_2.16 sinl F +GLIBC_2.16 sqrt F +GLIBC_2.16 sqrtf F +GLIBC_2.16 sqrtl F +GLIBC_2.16 tan F +GLIBC_2.16 tanf F +GLIBC_2.16 tanh F +GLIBC_2.16 tanhf F +GLIBC_2.16 tanhl F +GLIBC_2.16 tanl F +GLIBC_2.16 tgamma F +GLIBC_2.16 tgammaf F +GLIBC_2.16 tgammal F +GLIBC_2.16 trunc F +GLIBC_2.16 truncf F +GLIBC_2.16 truncl F +GLIBC_2.16 y0 F +GLIBC_2.16 y0f F +GLIBC_2.16 y0l F +GLIBC_2.16 y1 F +GLIBC_2.16 y1f F +GLIBC_2.16 y1l F +GLIBC_2.16 yn F +GLIBC_2.16 ynf F +GLIBC_2.16 ynl F +GLIBC_2.18 GLIBC_2.18 A +GLIBC_2.18 __issignaling F +GLIBC_2.18 __issignalingf F +GLIBC_2.18 __issignalingl F +GLIBC_2.23 GLIBC_2.23 A +GLIBC_2.23 __signgam D 0x4 +GLIBC_2.23 lgamma F +GLIBC_2.23 lgammaf F +GLIBC_2.23 lgammal F +GLIBC_2.24 GLIBC_2.24 A +GLIBC_2.24 nextdown F +GLIBC_2.24 nextdownf F +GLIBC_2.24 nextdownl F +GLIBC_2.24 nextup F +GLIBC_2.24 nextupf F +GLIBC_2.24 nextupl F +GLIBC_2.25 GLIBC_2.25 A +GLIBC_2.25 __iscanonicall F +GLIBC_2.25 __iseqsig F +GLIBC_2.25 __iseqsigf F +GLIBC_2.25 __iseqsigl F +GLIBC_2.25 canonicalize F +GLIBC_2.25 canonicalizef F +GLIBC_2.25 canonicalizel F +GLIBC_2.25 fegetmode F +GLIBC_2.25 fesetexcept F +GLIBC_2.25 fesetmode F +GLIBC_2.25 fetestexceptflag F +GLIBC_2.25 fmaxmag F +GLIBC_2.25 fmaxmagf F +GLIBC_2.25 fmaxmagl F +GLIBC_2.25 fminmag F +GLIBC_2.25 fminmagf F +GLIBC_2.25 fminmagl F +GLIBC_2.25 fromfp F +GLIBC_2.25 fromfpf F +GLIBC_2.25 fromfpl F +GLIBC_2.25 fromfpx F +GLIBC_2.25 fromfpxf F +GLIBC_2.25 fromfpxl F +GLIBC_2.25 getpayload F +GLIBC_2.25 getpayloadf F +GLIBC_2.25 getpayloadl F +GLIBC_2.25 llogb F +GLIBC_2.25 llogbf F +GLIBC_2.25 llogbl F +GLIBC_2.25 roundeven F +GLIBC_2.25 roundevenf F +GLIBC_2.25 roundevenl F +GLIBC_2.25 setpayload F +GLIBC_2.25 setpayloadf F +GLIBC_2.25 setpayloadl F +GLIBC_2.25 setpayloadsig F +GLIBC_2.25 setpayloadsigf F +GLIBC_2.25 setpayloadsigl F +GLIBC_2.25 totalorder F +GLIBC_2.25 totalorderf F +GLIBC_2.25 totalorderl F +GLIBC_2.25 totalordermag F +GLIBC_2.25 totalordermagf F +GLIBC_2.25 totalordermagl F +GLIBC_2.25 ufromfp F +GLIBC_2.25 ufromfpf F +GLIBC_2.25 ufromfpl F +GLIBC_2.25 ufromfpx F +GLIBC_2.25 ufromfpxf F +GLIBC_2.25 ufromfpxl F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist new file mode 100644 index 0000000000..a0499d3c94 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libnsl.abilist @@ -0,0 +1,122 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 __free_fdresult F +GLIBC_2.16 __nis_default_access F +GLIBC_2.16 __nis_default_group F +GLIBC_2.16 __nis_default_owner F +GLIBC_2.16 __nis_default_ttl F +GLIBC_2.16 __nis_finddirectory F +GLIBC_2.16 __nis_hash F +GLIBC_2.16 __nisbind_connect F +GLIBC_2.16 __nisbind_create F +GLIBC_2.16 __nisbind_destroy F +GLIBC_2.16 __nisbind_next F +GLIBC_2.16 __yp_check F +GLIBC_2.16 nis_add F +GLIBC_2.16 nis_add_entry F +GLIBC_2.16 nis_addmember F +GLIBC_2.16 nis_checkpoint F +GLIBC_2.16 nis_clone_directory F +GLIBC_2.16 nis_clone_object F +GLIBC_2.16 nis_clone_result F +GLIBC_2.16 nis_creategroup F +GLIBC_2.16 nis_destroy_object F +GLIBC_2.16 nis_destroygroup F +GLIBC_2.16 nis_dir_cmp F +GLIBC_2.16 nis_domain_of F +GLIBC_2.16 nis_domain_of_r F +GLIBC_2.16 nis_first_entry F +GLIBC_2.16 nis_free_directory F +GLIBC_2.16 nis_free_object F +GLIBC_2.16 nis_free_request F +GLIBC_2.16 nis_freenames F +GLIBC_2.16 nis_freeresult F +GLIBC_2.16 nis_freeservlist F +GLIBC_2.16 nis_freetags F +GLIBC_2.16 nis_getnames F +GLIBC_2.16 nis_getservlist F +GLIBC_2.16 nis_ismember F +GLIBC_2.16 nis_leaf_of F +GLIBC_2.16 nis_leaf_of_r F +GLIBC_2.16 nis_lerror F +GLIBC_2.16 nis_list F +GLIBC_2.16 nis_local_directory F +GLIBC_2.16 nis_local_group F +GLIBC_2.16 nis_local_host F +GLIBC_2.16 nis_local_principal F +GLIBC_2.16 nis_lookup F +GLIBC_2.16 nis_mkdir F +GLIBC_2.16 nis_modify F +GLIBC_2.16 nis_modify_entry F +GLIBC_2.16 nis_name_of F +GLIBC_2.16 nis_name_of_r F +GLIBC_2.16 nis_next_entry F +GLIBC_2.16 nis_perror F +GLIBC_2.16 nis_ping F +GLIBC_2.16 nis_print_directory F +GLIBC_2.16 nis_print_entry F +GLIBC_2.16 nis_print_group F +GLIBC_2.16 nis_print_group_entry F +GLIBC_2.16 nis_print_link F +GLIBC_2.16 nis_print_object F +GLIBC_2.16 nis_print_result F +GLIBC_2.16 nis_print_rights F +GLIBC_2.16 nis_print_table F +GLIBC_2.16 nis_read_obj F +GLIBC_2.16 nis_remove F +GLIBC_2.16 nis_remove_entry F +GLIBC_2.16 nis_removemember F +GLIBC_2.16 nis_rmdir F +GLIBC_2.16 nis_servstate F +GLIBC_2.16 nis_sperrno F +GLIBC_2.16 nis_sperror F +GLIBC_2.16 nis_sperror_r F +GLIBC_2.16 nis_stats F +GLIBC_2.16 nis_verifygroup F +GLIBC_2.16 nis_write_obj F +GLIBC_2.16 readColdStartFile F +GLIBC_2.16 writeColdStartFile F +GLIBC_2.16 xdr_cback_data F +GLIBC_2.16 xdr_domainname F +GLIBC_2.16 xdr_keydat F +GLIBC_2.16 xdr_mapname F +GLIBC_2.16 xdr_obj_p F +GLIBC_2.16 xdr_peername F +GLIBC_2.16 xdr_valdat F +GLIBC_2.16 xdr_yp_buf F +GLIBC_2.16 xdr_ypall F +GLIBC_2.16 xdr_ypbind_binding F +GLIBC_2.16 xdr_ypbind_resp F +GLIBC_2.16 xdr_ypbind_resptype F +GLIBC_2.16 xdr_ypbind_setdom F +GLIBC_2.16 xdr_ypdelete_args F +GLIBC_2.16 xdr_ypmap_parms F +GLIBC_2.16 xdr_ypmaplist F +GLIBC_2.16 xdr_yppush_status F +GLIBC_2.16 xdr_yppushresp_xfr F +GLIBC_2.16 xdr_ypreq_key F +GLIBC_2.16 xdr_ypreq_nokey F +GLIBC_2.16 xdr_ypreq_xfr F +GLIBC_2.16 xdr_ypresp_all F +GLIBC_2.16 xdr_ypresp_key_val F +GLIBC_2.16 xdr_ypresp_maplist F +GLIBC_2.16 xdr_ypresp_master F +GLIBC_2.16 xdr_ypresp_order F +GLIBC_2.16 xdr_ypresp_val F +GLIBC_2.16 xdr_ypresp_xfr F +GLIBC_2.16 xdr_ypstat F +GLIBC_2.16 xdr_ypupdate_args F +GLIBC_2.16 xdr_ypxfrstat F +GLIBC_2.16 yp_all F +GLIBC_2.16 yp_bind F +GLIBC_2.16 yp_first F +GLIBC_2.16 yp_get_default_domain F +GLIBC_2.16 yp_maplist F +GLIBC_2.16 yp_master F +GLIBC_2.16 yp_match F +GLIBC_2.16 yp_next F +GLIBC_2.16 yp_order F +GLIBC_2.16 yp_unbind F +GLIBC_2.16 yp_update F +GLIBC_2.16 ypbinderr_string F +GLIBC_2.16 yperr_string F +GLIBC_2.16 ypprot_err F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist new file mode 100644 index 0000000000..6cd0fc3487 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -0,0 +1,226 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 _IO_flockfile F +GLIBC_2.16 _IO_ftrylockfile F +GLIBC_2.16 _IO_funlockfile F +GLIBC_2.16 __close F +GLIBC_2.16 __connect F +GLIBC_2.16 __errno_location F +GLIBC_2.16 __fcntl F +GLIBC_2.16 __fork F +GLIBC_2.16 __h_errno_location F +GLIBC_2.16 __libc_allocate_rtsig F +GLIBC_2.16 __libc_current_sigrtmax F +GLIBC_2.16 __libc_current_sigrtmin F +GLIBC_2.16 __lseek F +GLIBC_2.16 __nanosleep F +GLIBC_2.16 __open F +GLIBC_2.16 __open64 F +GLIBC_2.16 __pread64 F +GLIBC_2.16 __pthread_cleanup_routine F +GLIBC_2.16 __pthread_getspecific F +GLIBC_2.16 __pthread_key_create F +GLIBC_2.16 __pthread_mutex_destroy F +GLIBC_2.16 __pthread_mutex_init F +GLIBC_2.16 __pthread_mutex_lock F +GLIBC_2.16 __pthread_mutex_trylock F +GLIBC_2.16 __pthread_mutex_unlock F +GLIBC_2.16 __pthread_mutexattr_destroy F +GLIBC_2.16 __pthread_mutexattr_init F +GLIBC_2.16 __pthread_mutexattr_settype F +GLIBC_2.16 __pthread_once F +GLIBC_2.16 __pthread_register_cancel F +GLIBC_2.16 __pthread_register_cancel_defer F +GLIBC_2.16 __pthread_rwlock_destroy F +GLIBC_2.16 __pthread_rwlock_init F +GLIBC_2.16 __pthread_rwlock_rdlock F +GLIBC_2.16 __pthread_rwlock_tryrdlock F +GLIBC_2.16 __pthread_rwlock_trywrlock F +GLIBC_2.16 __pthread_rwlock_unlock F +GLIBC_2.16 __pthread_rwlock_wrlock F +GLIBC_2.16 __pthread_setspecific F +GLIBC_2.16 __pthread_unregister_cancel F +GLIBC_2.16 __pthread_unregister_cancel_restore F +GLIBC_2.16 __pthread_unwind_next F +GLIBC_2.16 __pwrite64 F +GLIBC_2.16 __read F +GLIBC_2.16 __res_state F +GLIBC_2.16 __send F +GLIBC_2.16 __sigaction F +GLIBC_2.16 __vfork F +GLIBC_2.16 __wait F +GLIBC_2.16 __write F +GLIBC_2.16 _pthread_cleanup_pop F +GLIBC_2.16 _pthread_cleanup_pop_restore F +GLIBC_2.16 _pthread_cleanup_push F +GLIBC_2.16 _pthread_cleanup_push_defer F +GLIBC_2.16 accept F +GLIBC_2.16 close F +GLIBC_2.16 connect F +GLIBC_2.16 fcntl F +GLIBC_2.16 flockfile F +GLIBC_2.16 fork F +GLIBC_2.16 fsync F +GLIBC_2.16 ftrylockfile F +GLIBC_2.16 funlockfile F +GLIBC_2.16 longjmp F +GLIBC_2.16 lseek F +GLIBC_2.16 lseek64 F +GLIBC_2.16 msync F +GLIBC_2.16 nanosleep F +GLIBC_2.16 open F +GLIBC_2.16 open64 F +GLIBC_2.16 pause F +GLIBC_2.16 pread F +GLIBC_2.16 pread64 F +GLIBC_2.16 pthread_attr_destroy F +GLIBC_2.16 pthread_attr_getaffinity_np F +GLIBC_2.16 pthread_attr_getdetachstate F +GLIBC_2.16 pthread_attr_getguardsize F +GLIBC_2.16 pthread_attr_getinheritsched F +GLIBC_2.16 pthread_attr_getschedparam F +GLIBC_2.16 pthread_attr_getschedpolicy F +GLIBC_2.16 pthread_attr_getscope F +GLIBC_2.16 pthread_attr_getstack F +GLIBC_2.16 pthread_attr_getstackaddr F +GLIBC_2.16 pthread_attr_getstacksize F +GLIBC_2.16 pthread_attr_init F +GLIBC_2.16 pthread_attr_setaffinity_np F +GLIBC_2.16 pthread_attr_setdetachstate F +GLIBC_2.16 pthread_attr_setguardsize F +GLIBC_2.16 pthread_attr_setinheritsched F +GLIBC_2.16 pthread_attr_setschedparam F +GLIBC_2.16 pthread_attr_setschedpolicy F +GLIBC_2.16 pthread_attr_setscope F +GLIBC_2.16 pthread_attr_setstack F +GLIBC_2.16 pthread_attr_setstackaddr F +GLIBC_2.16 pthread_attr_setstacksize F +GLIBC_2.16 pthread_barrier_destroy F +GLIBC_2.16 pthread_barrier_init F +GLIBC_2.16 pthread_barrier_wait F +GLIBC_2.16 pthread_barrierattr_destroy F +GLIBC_2.16 pthread_barrierattr_getpshared F +GLIBC_2.16 pthread_barrierattr_init F +GLIBC_2.16 pthread_barrierattr_setpshared F +GLIBC_2.16 pthread_cancel F +GLIBC_2.16 pthread_cond_broadcast F +GLIBC_2.16 pthread_cond_destroy F +GLIBC_2.16 pthread_cond_init F +GLIBC_2.16 pthread_cond_signal F +GLIBC_2.16 pthread_cond_timedwait F +GLIBC_2.16 pthread_cond_wait F +GLIBC_2.16 pthread_condattr_destroy F +GLIBC_2.16 pthread_condattr_getclock F +GLIBC_2.16 pthread_condattr_getpshared F +GLIBC_2.16 pthread_condattr_init F +GLIBC_2.16 pthread_condattr_setclock F +GLIBC_2.16 pthread_condattr_setpshared F +GLIBC_2.16 pthread_create F +GLIBC_2.16 pthread_detach F +GLIBC_2.16 pthread_equal F +GLIBC_2.16 pthread_exit F +GLIBC_2.16 pthread_getaffinity_np F +GLIBC_2.16 pthread_getattr_np F +GLIBC_2.16 pthread_getconcurrency F +GLIBC_2.16 pthread_getcpuclockid F +GLIBC_2.16 pthread_getname_np F +GLIBC_2.16 pthread_getschedparam F +GLIBC_2.16 pthread_getspecific F +GLIBC_2.16 pthread_join F +GLIBC_2.16 pthread_key_create F +GLIBC_2.16 pthread_key_delete F +GLIBC_2.16 pthread_kill F +GLIBC_2.16 pthread_kill_other_threads_np F +GLIBC_2.16 pthread_mutex_consistent F +GLIBC_2.16 pthread_mutex_consistent_np F +GLIBC_2.16 pthread_mutex_destroy F +GLIBC_2.16 pthread_mutex_getprioceiling F +GLIBC_2.16 pthread_mutex_init F +GLIBC_2.16 pthread_mutex_lock F +GLIBC_2.16 pthread_mutex_setprioceiling F +GLIBC_2.16 pthread_mutex_timedlock F +GLIBC_2.16 pthread_mutex_trylock F +GLIBC_2.16 pthread_mutex_unlock F +GLIBC_2.16 pthread_mutexattr_destroy F +GLIBC_2.16 pthread_mutexattr_getkind_np F +GLIBC_2.16 pthread_mutexattr_getprioceiling F +GLIBC_2.16 pthread_mutexattr_getprotocol F +GLIBC_2.16 pthread_mutexattr_getpshared F +GLIBC_2.16 pthread_mutexattr_getrobust F +GLIBC_2.16 pthread_mutexattr_getrobust_np F +GLIBC_2.16 pthread_mutexattr_gettype F +GLIBC_2.16 pthread_mutexattr_init F +GLIBC_2.16 pthread_mutexattr_setkind_np F +GLIBC_2.16 pthread_mutexattr_setprioceiling F +GLIBC_2.16 pthread_mutexattr_setprotocol F +GLIBC_2.16 pthread_mutexattr_setpshared F +GLIBC_2.16 pthread_mutexattr_setrobust F +GLIBC_2.16 pthread_mutexattr_setrobust_np F +GLIBC_2.16 pthread_mutexattr_settype F +GLIBC_2.16 pthread_once F +GLIBC_2.16 pthread_rwlock_destroy F +GLIBC_2.16 pthread_rwlock_init F +GLIBC_2.16 pthread_rwlock_rdlock F +GLIBC_2.16 pthread_rwlock_timedrdlock F +GLIBC_2.16 pthread_rwlock_timedwrlock F +GLIBC_2.16 pthread_rwlock_tryrdlock F +GLIBC_2.16 pthread_rwlock_trywrlock F +GLIBC_2.16 pthread_rwlock_unlock F +GLIBC_2.16 pthread_rwlock_wrlock F +GLIBC_2.16 pthread_rwlockattr_destroy F +GLIBC_2.16 pthread_rwlockattr_getkind_np F +GLIBC_2.16 pthread_rwlockattr_getpshared F +GLIBC_2.16 pthread_rwlockattr_init F +GLIBC_2.16 pthread_rwlockattr_setkind_np F +GLIBC_2.16 pthread_rwlockattr_setpshared F +GLIBC_2.16 pthread_self F +GLIBC_2.16 pthread_setaffinity_np F +GLIBC_2.16 pthread_setcancelstate F +GLIBC_2.16 pthread_setcanceltype F +GLIBC_2.16 pthread_setconcurrency F +GLIBC_2.16 pthread_setname_np F +GLIBC_2.16 pthread_setschedparam F +GLIBC_2.16 pthread_setschedprio F +GLIBC_2.16 pthread_setspecific F +GLIBC_2.16 pthread_sigmask F +GLIBC_2.16 pthread_sigqueue F +GLIBC_2.16 pthread_spin_destroy F +GLIBC_2.16 pthread_spin_init F +GLIBC_2.16 pthread_spin_lock F +GLIBC_2.16 pthread_spin_trylock F +GLIBC_2.16 pthread_spin_unlock F +GLIBC_2.16 pthread_testcancel F +GLIBC_2.16 pthread_timedjoin_np F +GLIBC_2.16 pthread_tryjoin_np F +GLIBC_2.16 pthread_yield F +GLIBC_2.16 pwrite F +GLIBC_2.16 pwrite64 F +GLIBC_2.16 raise F +GLIBC_2.16 read F +GLIBC_2.16 recv F +GLIBC_2.16 recvfrom F +GLIBC_2.16 recvmsg F +GLIBC_2.16 sem_close F +GLIBC_2.16 sem_destroy F +GLIBC_2.16 sem_getvalue F +GLIBC_2.16 sem_init F +GLIBC_2.16 sem_open F +GLIBC_2.16 sem_post F +GLIBC_2.16 sem_timedwait F +GLIBC_2.16 sem_trywait F +GLIBC_2.16 sem_unlink F +GLIBC_2.16 sem_wait F +GLIBC_2.16 send F +GLIBC_2.16 sendmsg F +GLIBC_2.16 sendto F +GLIBC_2.16 sigaction F +GLIBC_2.16 siglongjmp F +GLIBC_2.16 sigwait F +GLIBC_2.16 system F +GLIBC_2.16 tcdrain F +GLIBC_2.16 vfork F +GLIBC_2.16 wait F +GLIBC_2.16 waitpid F +GLIBC_2.16 write F +GLIBC_2.18 GLIBC_2.18 A +GLIBC_2.18 pthread_getattr_default_np F +GLIBC_2.18 pthread_setattr_default_np F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist new file mode 100644 index 0000000000..28abb0307e --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libresolv.abilist @@ -0,0 +1,92 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 __b64_ntop F +GLIBC_2.16 __b64_pton F +GLIBC_2.16 __dn_comp F +GLIBC_2.16 __dn_count_labels F +GLIBC_2.16 __dn_expand F +GLIBC_2.16 __dn_skipname F +GLIBC_2.16 __fp_nquery F +GLIBC_2.16 __fp_query F +GLIBC_2.16 __fp_resstat F +GLIBC_2.16 __hostalias F +GLIBC_2.16 __loc_aton F +GLIBC_2.16 __loc_ntoa F +GLIBC_2.16 __p_cdname F +GLIBC_2.16 __p_cdnname F +GLIBC_2.16 __p_class F +GLIBC_2.16 __p_class_syms D 0x54 +GLIBC_2.16 __p_fqname F +GLIBC_2.16 __p_fqnname F +GLIBC_2.16 __p_option F +GLIBC_2.16 __p_query F +GLIBC_2.16 __p_rcode F +GLIBC_2.16 __p_secstodate F +GLIBC_2.16 __p_time F +GLIBC_2.16 __p_type F +GLIBC_2.16 __p_type_syms D 0x228 +GLIBC_2.16 __putlong F +GLIBC_2.16 __putshort F +GLIBC_2.16 __res_close F +GLIBC_2.16 __res_dnok F +GLIBC_2.16 __res_hnok F +GLIBC_2.16 __res_hostalias F +GLIBC_2.16 __res_isourserver F +GLIBC_2.16 __res_mailok F +GLIBC_2.16 __res_mkquery F +GLIBC_2.16 __res_nameinquery F +GLIBC_2.16 __res_nmkquery F +GLIBC_2.16 __res_nquery F +GLIBC_2.16 __res_nquerydomain F +GLIBC_2.16 __res_nsearch F +GLIBC_2.16 __res_nsend F +GLIBC_2.16 __res_ownok F +GLIBC_2.16 __res_queriesmatch F +GLIBC_2.16 __res_query F +GLIBC_2.16 __res_querydomain F +GLIBC_2.16 __res_search F +GLIBC_2.16 __res_send F +GLIBC_2.16 __sym_ntop F +GLIBC_2.16 __sym_ntos F +GLIBC_2.16 __sym_ston F +GLIBC_2.16 _gethtbyaddr F +GLIBC_2.16 _gethtbyname F +GLIBC_2.16 _gethtbyname2 F +GLIBC_2.16 _gethtent F +GLIBC_2.16 _getlong F +GLIBC_2.16 _getshort F +GLIBC_2.16 _res_opcodes D 0x40 +GLIBC_2.16 _sethtent F +GLIBC_2.16 inet_net_ntop F +GLIBC_2.16 inet_net_pton F +GLIBC_2.16 inet_neta F +GLIBC_2.16 ns_datetosecs F +GLIBC_2.16 ns_format_ttl F +GLIBC_2.16 ns_get16 F +GLIBC_2.16 ns_get32 F +GLIBC_2.16 ns_initparse F +GLIBC_2.16 ns_makecanon F +GLIBC_2.16 ns_msg_getflag F +GLIBC_2.16 ns_name_compress F +GLIBC_2.16 ns_name_ntol F +GLIBC_2.16 ns_name_ntop F +GLIBC_2.16 ns_name_pack F +GLIBC_2.16 ns_name_pton F +GLIBC_2.16 ns_name_rollback F +GLIBC_2.16 ns_name_skip F +GLIBC_2.16 ns_name_uncompress F +GLIBC_2.16 ns_name_unpack F +GLIBC_2.16 ns_parse_ttl F +GLIBC_2.16 ns_parserr F +GLIBC_2.16 ns_put16 F +GLIBC_2.16 ns_put32 F +GLIBC_2.16 ns_samedomain F +GLIBC_2.16 ns_samename F +GLIBC_2.16 ns_skiprr F +GLIBC_2.16 ns_sprintrr F +GLIBC_2.16 ns_sprintrrf F +GLIBC_2.16 ns_subdomain F +GLIBC_2.16 res_gethostbyaddr F +GLIBC_2.16 res_gethostbyname F +GLIBC_2.16 res_gethostbyname2 F +GLIBC_2.16 res_send_setqhook F +GLIBC_2.16 res_send_setrhook F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist new file mode 100644 index 0000000000..ea7b40ab56 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist @@ -0,0 +1,41 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 __mq_open_2 F +GLIBC_2.16 aio_cancel F +GLIBC_2.16 aio_cancel64 F +GLIBC_2.16 aio_error F +GLIBC_2.16 aio_error64 F +GLIBC_2.16 aio_fsync F +GLIBC_2.16 aio_fsync64 F +GLIBC_2.16 aio_init F +GLIBC_2.16 aio_read F +GLIBC_2.16 aio_read64 F +GLIBC_2.16 aio_return F +GLIBC_2.16 aio_return64 F +GLIBC_2.16 aio_suspend F +GLIBC_2.16 aio_suspend64 F +GLIBC_2.16 aio_write F +GLIBC_2.16 aio_write64 F +GLIBC_2.16 clock_getcpuclockid F +GLIBC_2.16 clock_getres F +GLIBC_2.16 clock_gettime F +GLIBC_2.16 clock_nanosleep F +GLIBC_2.16 clock_settime F +GLIBC_2.16 lio_listio F +GLIBC_2.16 lio_listio64 F +GLIBC_2.16 mq_close F +GLIBC_2.16 mq_getattr F +GLIBC_2.16 mq_notify F +GLIBC_2.16 mq_open F +GLIBC_2.16 mq_receive F +GLIBC_2.16 mq_send F +GLIBC_2.16 mq_setattr F +GLIBC_2.16 mq_timedreceive F +GLIBC_2.16 mq_timedsend F +GLIBC_2.16 mq_unlink F +GLIBC_2.16 shm_open F +GLIBC_2.16 shm_unlink F +GLIBC_2.16 timer_create F +GLIBC_2.16 timer_delete F +GLIBC_2.16 timer_getoverrun F +GLIBC_2.16 timer_gettime F +GLIBC_2.16 timer_settime F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist new file mode 100644 index 0000000000..5d7031cf2f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libthread_db.abilist @@ -0,0 +1,41 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 td_init F +GLIBC_2.16 td_log F +GLIBC_2.16 td_symbol_list F +GLIBC_2.16 td_ta_clear_event F +GLIBC_2.16 td_ta_delete F +GLIBC_2.16 td_ta_enable_stats F +GLIBC_2.16 td_ta_event_addr F +GLIBC_2.16 td_ta_event_getmsg F +GLIBC_2.16 td_ta_get_nthreads F +GLIBC_2.16 td_ta_get_ph F +GLIBC_2.16 td_ta_get_stats F +GLIBC_2.16 td_ta_map_id2thr F +GLIBC_2.16 td_ta_map_lwp2thr F +GLIBC_2.16 td_ta_new F +GLIBC_2.16 td_ta_reset_stats F +GLIBC_2.16 td_ta_set_event F +GLIBC_2.16 td_ta_setconcurrency F +GLIBC_2.16 td_ta_thr_iter F +GLIBC_2.16 td_ta_tsd_iter F +GLIBC_2.16 td_thr_clear_event F +GLIBC_2.16 td_thr_dbresume F +GLIBC_2.16 td_thr_dbsuspend F +GLIBC_2.16 td_thr_event_enable F +GLIBC_2.16 td_thr_event_getmsg F +GLIBC_2.16 td_thr_get_info F +GLIBC_2.16 td_thr_getfpregs F +GLIBC_2.16 td_thr_getgregs F +GLIBC_2.16 td_thr_getxregs F +GLIBC_2.16 td_thr_getxregsize F +GLIBC_2.16 td_thr_set_event F +GLIBC_2.16 td_thr_setfpregs F +GLIBC_2.16 td_thr_setgregs F +GLIBC_2.16 td_thr_setprio F +GLIBC_2.16 td_thr_setsigpending F +GLIBC_2.16 td_thr_setxregs F +GLIBC_2.16 td_thr_sigsetmask F +GLIBC_2.16 td_thr_tls_get_addr F +GLIBC_2.16 td_thr_tlsbase F +GLIBC_2.16 td_thr_tsd F +GLIBC_2.16 td_thr_validate F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist new file mode 100644 index 0000000000..30353d06c2 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/libutil.abilist @@ -0,0 +1,7 @@ +GLIBC_2.16 GLIBC_2.16 A +GLIBC_2.16 forkpty F +GLIBC_2.16 login F +GLIBC_2.16 login_tty F +GLIBC_2.16 logout F +GLIBC_2.16 logwtmp F +GLIBC_2.16 openpty F diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S new file mode 100644 index 0000000000..5084d0ebd2 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/llseek.S @@ -0,0 +1 @@ +/* No llseek for x32. */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S new file mode 100644 index 0000000000..f8b95d5ca2 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek.S @@ -0,0 +1,43 @@ +/* The lseek system call with 64-bit offset. Linux/x32 version. + Copyright (C) 2012-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +/* Return -1LL in a full 64 bits. */ +#undef SYSCALL_ERROR_HANDLER +#define SYSCALL_ERROR_HANDLER \ +0: \ + SYSCALL_SET_ERRNO; \ + orq $-1, %rax; \ + ret; + +/* Always use our own error handler. */ +#undef SYSCALL_ERROR_LABEL +#define SYSCALL_ERROR_LABEL 0f + +PSEUDO (__libc_lseek64, lseek, 3) + ret +PSEUDO_END (__libc_lseek64) + +weak_alias (__libc_lseek64, __lseek64) +libc_hidden_weak (__lseek64) +weak_alias (__libc_lseek64, lseek64) +libc_hidden_weak (lseek64) +weak_alias (__libc_lseek64, __lseek) +libc_hidden_weak (__lseek) +weak_alias (__libc_lseek64, lseek) diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S new file mode 100644 index 0000000000..d81e98fb51 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/lseek64.S @@ -0,0 +1 @@ +/* We don't need a definition since the llseek function is what we need. */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions new file mode 100644 index 0000000000..0ab2e27224 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/shlib-versions @@ -0,0 +1,4 @@ +# DEFAULT Earliest symbol set +# --------------- ------------------------------ +DEFAULT GLIBC_2.16 +ld=ld-linux-x32.so.2 diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list new file mode 100644 index 0000000000..a41c8ac882 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/syscalls.list @@ -0,0 +1,7 @@ +# File name Caller Syscall name # args Strong name Weak names + +fallocate - fallocate Ci:iiii fallocate fallocate64 +gettimeofday - gettimeofday:__vdso_gettimeofday@LINUX_2.6 i:pP __gettimeofday gettimeofday +personality EXTRA personality Ei:i __personality personality +posix_fadvise64 - fadvise64 Vi:iiii posix_fadvise posix_fadvise64 +time - time:__vdso_time@LINUX_2.6 Ei:P time diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk new file mode 100644 index 0000000000..da018fe624 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk @@ -0,0 +1 @@ +# X32 doesn't support sysctl. diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h new file mode 100644 index 0000000000..04c73a2bc1 --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/sysdep.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2012-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LINUX_X32_SYSDEP_H +#define _LINUX_X32_SYSDEP_H 1 + +/* There is some commonality. */ +#include <sysdeps/unix/sysv/linux/x86_64/sysdep.h> +#include <sysdeps/x86_64/x32/sysdep.h> + +/* How to pass the off{64}_t argument on p{readv,writev}{64}. */ +#undef LO_HI_LONG +#define LO_HI_LONG(val) (val) + +#endif /* linux/x86_64/x32/sysdep.h */ diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c new file mode 100644 index 0000000000..d56106e86f --- /dev/null +++ b/REORG.TODO/sysdeps/unix/sysv/linux/x86_64/x32/times.c @@ -0,0 +1,38 @@ +/* Linux times. X32 version. + Copyright (C) 2015-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <sysdep.h> + +/* Linux times system call returns 64-bit integer. */ +#undef INTERNAL_SYSCALL_NCS +#define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ + ({ \ + unsigned long long int resultvar; \ + LOAD_ARGS_##nr (args) \ + LOAD_REGS_##nr \ + asm volatile ( \ + "syscall\n\t" \ + : "=a" (resultvar) \ + : "0" (name) ASM_ARGS_##nr : "memory", REGISTERS_CLOBBERED_BY_SYSCALL); \ + (long long int) resultvar; }) + +#undef INTERNAL_SYSCALL_ERROR_P +#define INTERNAL_SYSCALL_ERROR_P(val, err) \ + ((unsigned long long int) (val) >= -4095LL) + +#include <sysdeps/unix/sysv/linux/times.c> |