diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
77 files changed, 0 insertions, 8225 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/Implies b/sysdeps/unix/sysv/linux/i386/Implies deleted file mode 100644 index 4bf5f8b520..0000000000 --- a/sysdeps/unix/sysv/linux/i386/Implies +++ /dev/null @@ -1,2 +0,0 @@ -unix/sysv/linux/x86 -i386/nptl diff --git a/sysdeps/unix/sysv/linux/i386/Makefile b/sysdeps/unix/sysv/linux/i386/Makefile deleted file mode 100644 index 4080b8c966..0000000000 --- a/sysdeps/unix/sysv/linux/i386/Makefile +++ /dev/null @@ -1,46 +0,0 @@ -# The default ABI is 32. -default-abi := 32 - -ifeq ($(subdir),misc) -sysdep_routines += ioperm iopl vm86 -endif - -ifeq ($(subdir),elf) -sysdep-dl-routines += libc-do-syscall -sysdep-others += lddlibc4 -install-bin += lddlibc4 -endif - -ifeq ($(subdir),io) -sysdep_routines += libc-do-syscall -endif - -ifeq ($(subdir),nptl) -libpthread-sysdep_routines += libc-do-syscall -libpthread-shared-only-routines += libc-do-syscall -endif - -ifeq ($(subdir),stdlib) -gen-as-const-headers += ucontext_i.sym -endif - -ifeq ($(subdir),csu) -sysdep-dl-routines += sysdep -ifeq (yes,$(build-shared)) -sysdep_routines += divdi3 -shared-only-routines += divdi3 -CPPFLAGS-divdi3.c = -Din_divdi3_c -endif -endif - -ifeq ($(subdir),nptl) -# pull in __syscall_error routine -libpthread-routines += sysdep -libpthread-shared-only-routines += sysdep -endif - -ifeq ($(subdir),rt) -# pull in __syscall_error routine -librt-routines += sysdep -librt-shared-only-routines += sysdep -endif diff --git a/sysdeps/unix/sysv/linux/i386/Versions b/sysdeps/unix/sysv/linux/i386/Versions deleted file mode 100644 index f3544acb75..0000000000 --- a/sysdeps/unix/sysv/linux/i386/Versions +++ /dev/null @@ -1,51 +0,0 @@ -libc { - GLIBC_2.0 { - # Exception handling support functions from libgcc - __register_frame; __register_frame_table; __deregister_frame; - __frame_state_for; __register_frame_info_table; - - ioperm; iopl; - - vm86; - } - GLIBC_2.1 { - modify_ldt; - } - GLIBC_2.2 { - # functions used in other libraries - __xstat64; __fxstat64; __lxstat64; - - # a* - alphasort64; - - # g* - glob64; - - # New rlimit interface - getrlimit; setrlimit; getrlimit64; - - # r* - readdir64; readdir64_r; - - # s* - scandir64; - - # v* - versionsort64; - } - GLIBC_2.3.3 { - # p* - posix_fadvise64; posix_fallocate64; - } - GLIBC_2.3.4 { - # v* - vm86; - } - GLIBC_2.11 { - # f* - fallocate64; - } - GLIBC_PRIVATE { - __modify_ldt; - } -} diff --git a/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S b/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S deleted file mode 100644 index d46ea84e30..0000000000 --- a/sysdeps/unix/sysv/linux/i386/____longjmp_chk.S +++ /dev/null @@ -1,109 +0,0 @@ -/* 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> - - - .section .rodata.str1.1,"aMS",@progbits,1 - .type longjmp_msg,@object -longjmp_msg: - .string "longjmp causes uninitialized stack frame" - .size longjmp_msg, .-longjmp_msg - - -#ifdef PIC -# define CALL_FAIL movl %ebx, %ecx; \ - cfi_register(%ebx,%ecx); \ - LOAD_PIC_REG (bx); \ - leal longjmp_msg@GOTOFF(%ebx), %eax; \ - call HIDDEN_JUMPTARGET(__fortify_fail) -#else -# define CALL_FAIL movl $longjmp_msg, %eax; \ - call HIDDEN_JUMPTARGET(__fortify_fail) -#endif - - - .text -ENTRY (____longjmp_chk) - movl 4(%esp), %ecx /* User's jmp_buf in %ecx. */ - - /* Save the return address now. */ - movl (JB_PC*4)(%ecx), %edx - /* Get the stack pointer. */ - movl (JB_SP*4)(%ecx), %edi - cfi_undefined(%edi) - PTR_DEMANGLE (%edx) - PTR_DEMANGLE (%edi) - - cmpl %edi, %esp - jbe .Lok - - subl $12, %esp - cfi_adjust_cfa_offset(12) - xorl %ebx, %ebx - movl %esp, %ecx - movl $__NR_sigaltstack, %eax - ENTER_KERNEL - /* Without working sigaltstack we cannot perform the test. */ - test %eax, %eax - jne .Lok2 - testl $1, 4(%esp) - jz .Lfail - - movl (%esp), %eax - addl 8(%esp), %eax - subl %edi, %eax - cmpl 8(%esp), %eax - jae .Lok2 - -.Lfail: CALL_FAIL - -.Lok2: addl $12, %esp - cfi_adjust_cfa_offset(-12) - movl 4(%esp), %ecx - -.Lok: - LIBC_PROBE (longjmp, 3, 4@%ecx, -4@8(%esp), 4@%edx) - /* We add unwind information for the target here. */ - cfi_def_cfa(%ecx, 0) - cfi_register(%eip, %edx) - cfi_register(%esp, %edi) - cfi_offset(%ebx, JB_BX*4) - cfi_offset(%esi, JB_SI*4) - cfi_offset(%edi, JB_DI*4) - cfi_offset(%ebp, JB_BP*4) - - movl 8(%esp), %eax /* Second argument is return value. */ - movl %edi, %esp - - /* Restore registers. */ - movl (JB_BX*4)(%ecx), %ebx - movl (JB_SI*4)(%ecx), %esi - movl (JB_DI*4)(%ecx), %edi - movl (JB_BP*4)(%ecx), %ebp - cfi_restore(%ebx) - cfi_restore(%esi) - cfi_restore(%edi) - cfi_restore(%ebp) - - /* Jump to saved PC. */ - LIBC_PROBE (longjmp_target, 3, 4@%ecx, -4@%eax, 4@%edx) - jmp *%edx -END (____longjmp_chk) diff --git a/sysdeps/unix/sysv/linux/i386/_exit.S b/sysdeps/unix/sysv/linux/i386/_exit.S deleted file mode 100644 index 0ba2231998..0000000000 --- a/sysdeps/unix/sysv/linux/i386/_exit.S +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 2002-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> - - .text - .type _exit,@function - .global _exit -_exit: - movl 4(%esp), %ebx - - /* Try the new syscall first. */ -#ifdef __NR_exit_group - movl $__NR_exit_group, %eax - ENTER_KERNEL -#endif - - /* Not available. Now the old one. */ - movl $__NR_exit, %eax - /* Don't bother using ENTER_KERNEL here. If the exit_group - syscall is not available AT_SYSINFO isn't either. */ - int $0x80 - - /* This must not fail. Be sure we don't return. */ - hlt - .size _exit,.-_exit - -libc_hidden_def (_exit) -rtld_hidden_def (_exit) -weak_alias (_exit, _Exit) diff --git a/sysdeps/unix/sysv/linux/i386/alphasort64.c b/sysdeps/unix/sysv/linux/i386/alphasort64.c deleted file mode 100644 index d5fd47a9ae..0000000000 --- a/sysdeps/unix/sysv/linux/i386/alphasort64.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 1992-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 <dirent.h> -#include <string.h> - -int -__alphasort64 (const struct dirent64 **a, const struct dirent64 **b) -{ - return strcoll ((*a)->d_name, (*b)->d_name); -} - -#include <shlib-compat.h> - -versioned_symbol (libc, __alphasort64, alphasort64, GLIBC_2_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) - -#include <sysdeps/unix/sysv/linux/i386/olddirent.h> - -int -__old_alphasort64 (const struct __old_dirent64 **a, - const struct __old_dirent64 **b); - -int -attribute_compat_text_section -__old_alphasort64 (const struct __old_dirent64 **a, - const struct __old_dirent64 **b) -{ - return strcoll ((*a)->d_name, (*b)->d_name); -} - -compat_symbol (libc, __old_alphasort64, alphasort64, GLIBC_2_1); -#endif diff --git a/sysdeps/unix/sysv/linux/i386/arch-fork.h b/sysdeps/unix/sysv/linux/i386/arch-fork.h deleted file mode 100644 index 9a2465b58e..0000000000 --- a/sysdeps/unix/sysv/linux/i386/arch-fork.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Internal definitions for thread-friendly fork implementation. Linux/i386. - 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 <sched.h> -#include <sysdep.h> -#include <tls.h> - -#define ARCH_FORK() \ - INLINE_SYSCALL (clone, 5, \ - CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0, \ - NULL, NULL, &THREAD_SELF->tid) diff --git a/sysdeps/unix/sysv/linux/i386/brk.c b/sysdeps/unix/sysv/linux/i386/brk.c deleted file mode 100644 index 25ab1015d3..0000000000 --- a/sysdeps/unix/sysv/linux/i386/brk.c +++ /dev/null @@ -1,41 +0,0 @@ -/* brk system call for Linux/i386. - 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; - -/* Old braindamage in GCC's crtstuff.c requires this symbol in an attempt - to work around different old braindamage in the old Linux ELF dynamic - linker. */ -weak_alias (__curbrk, ___brk_addr) - -int -__brk (void *addr) -{ - INTERNAL_SYSCALL_DECL (err); - void *newbrk = (void *) INTERNAL_SYSCALL (brk, err, 1, addr); - __curbrk = newbrk; - if (newbrk < addr) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOMEM); - return 0; -} -weak_alias (__brk, brk) diff --git a/sysdeps/unix/sysv/linux/i386/c++-types.data b/sysdeps/unix/sysv/linux/i386/c++-types.data deleted file mode 100644 index fde53bf337..0000000000 --- a/sysdeps/unix/sysv/linux/i386/c++-types.data +++ /dev/null @@ -1,67 +0,0 @@ -blkcnt64_t:x -blkcnt_t:l -blksize_t:l -caddr_t:Pc -clockid_t:i -clock_t:l -daddr_t:i -dev_t:y -fd_mask:l -fsblkcnt64_t:y -fsblkcnt_t:m -fsfilcnt64_t:y -fsfilcnt_t:m -fsid_t:8__fsid_t -gid_t:j -id_t:j -ino64_t:y -ino_t:m -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:j -off64_t:x -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:x -register_t:i -rlim64_t:y -rlim_t:m -sigset_t:10__sigset_t -size_t:j -socklen_t:j -ssize_t:i -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: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/sysdeps/unix/sysv/linux/i386/clone.S b/sysdeps/unix/sysv/linux/i386/clone.S deleted file mode 100644 index a4ba3e20ff..0000000000 --- a/sysdeps/unix/sysv/linux/i386/clone.S +++ /dev/null @@ -1,124 +0,0 @@ -/* Copyright (C) 1996-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson (rth@tamu.edu) - - 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> - -/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg, - pid_t *ptid, struct user_desc *tls, pid_t *ctid); */ - -#define PARMS 4 /* no space for saved regs */ -#define FUNC PARMS -#define STACK FUNC+4 -#define FLAGS STACK+4 -#define ARG FLAGS+4 -#define PTID ARG+4 -#define TLS PTID+4 -#define CTID TLS+4 - -#define __NR_clone 120 -#define SYS_clone 120 - -#define CLONE_VM 0x00000100 - - .text -ENTRY (__clone) - /* Sanity check arguments. */ - movl $-EINVAL,%eax - movl FUNC(%esp),%ecx /* no NULL function pointers */ - testl %ecx,%ecx - jz SYSCALL_ERROR_LABEL - movl STACK(%esp),%ecx /* no NULL stack pointers */ - testl %ecx,%ecx - jz SYSCALL_ERROR_LABEL - - /* Insert the argument onto the new stack. Make sure the new - thread is started with an alignment of (mod 16). */ - andl $0xfffffff0, %ecx - subl $28,%ecx - movl ARG(%esp),%eax /* no negative argument counts */ - movl %eax,12(%ecx) - - /* Save the function pointer as the zeroth argument. - It will be popped off in the child in the ebx frobbing below. */ - movl FUNC(%esp),%eax - movl %eax,8(%ecx) - /* Don't leak any information. */ - movl $0,4(%ecx) - - /* Do the system call */ - pushl %ebx - cfi_adjust_cfa_offset (4) - pushl %esi - cfi_adjust_cfa_offset (4) - pushl %edi - cfi_adjust_cfa_offset (4) - - movl TLS+12(%esp),%esi - cfi_rel_offset (esi, 4) - movl PTID+12(%esp),%edx - movl FLAGS+12(%esp),%ebx - cfi_rel_offset (ebx, 8) - movl CTID+12(%esp),%edi - cfi_rel_offset (edi, 0) - movl $SYS_ify(clone),%eax - - /* Remember the flag value. */ - movl %ebx, (%ecx) - - /* End FDE now, because in the child the unwind info will be - wrong. */ - cfi_endproc - - int $0x80 - popl %edi - popl %esi - popl %ebx - - test %eax,%eax - jl SYSCALL_ERROR_LABEL - jz L(thread_start) - - ret - -L(thread_start): - cfi_startproc; - /* Clearing frame pointer is insufficient, use CFI. */ - cfi_undefined (eip); - /* Note: %esi is zero. */ - movl %esi,%ebp /* terminate the stack frame */ - call *%ebx -#ifdef PIC - call L(here) -L(here): - popl %ebx - addl $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ebx -#endif - movl %eax, %ebx - movl $SYS_ify(exit), %eax - ENTER_KERNEL - -PSEUDO_END (__clone) - -libc_hidden_def (__clone) -weak_alias (__clone, clone) diff --git a/sysdeps/unix/sysv/linux/i386/configure b/sysdeps/unix/sysv/linux/i386/configure deleted file mode 100644 index 0327590486..0000000000 --- a/sysdeps/unix/sysv/linux/i386/configure +++ /dev/null @@ -1,44 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/unix/sysv/linux/i386. - -# Check if CFLAGS allows compiler to use ebp register in inline assembly. - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler flags allows ebp in inline assembly" >&5 -$as_echo_n "checking if compiler flags allows ebp in inline assembly... " >&6; } -if ${libc_cv_can_use_register_asm_ebp+:} false; then : - $as_echo_n "(cached) " >&6 -else - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - void foo (int i) - { - register int reg asm ("ebp") = i; - asm ("# %0" : : "r" (reg)); - } -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - libc_cv_can_use_register_asm_ebp=yes -else - libc_cv_can_use_register_asm_ebp=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_can_use_register_asm_ebp" >&5 -$as_echo "$libc_cv_can_use_register_asm_ebp" >&6; } -if test $libc_cv_can_use_register_asm_ebp = yes; then - $as_echo "#define CAN_USE_REGISTER_ASM_EBP 1" >>confdefs.h - -fi - -libc_cv_gcc_unwind_find_fde=yes -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed diff --git a/sysdeps/unix/sysv/linux/i386/configure.ac b/sysdeps/unix/sysv/linux/i386/configure.ac deleted file mode 100644 index 9e980784bb..0000000000 --- a/sysdeps/unix/sysv/linux/i386/configure.ac +++ /dev/null @@ -1,22 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/unix/sysv/linux/i386. - -# Check if CFLAGS allows compiler to use ebp register in inline assembly. -AC_CACHE_CHECK([if compiler flags allows ebp in inline assembly], - libc_cv_can_use_register_asm_ebp, [ -AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([ - void foo (int i) - { - register int reg asm ("ebp") = i; - asm ("# %0" : : "r" (reg)); - }])], - [libc_cv_can_use_register_asm_ebp=yes], - [libc_cv_can_use_register_asm_ebp=no]) -]) -if test $libc_cv_can_use_register_asm_ebp = yes; then - AC_DEFINE(CAN_USE_REGISTER_ASM_EBP) -fi - -libc_cv_gcc_unwind_find_fde=yes -ldd_rewrite_script=sysdeps/unix/sysv/linux/ldd-rewrite.sed diff --git a/sysdeps/unix/sysv/linux/i386/dl-librecon.h b/sysdeps/unix/sysv/linux/i386/dl-librecon.h deleted file mode 100644 index 5f91009a4c..0000000000 --- a/sysdeps/unix/sysv/linux/i386/dl-librecon.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Optional code to distinguish library flavours. - Copyright (C) 1998-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. - - 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> - -#define DISTINGUISH_LIB_VERSIONS \ - do \ - { \ - /* We have to find out whether the binary is linked against \ - libc 5 or glibc. We do this by looking at all the DT_NEEDED \ - entries. If one is libc.so.5 this is a libc 5 linked binary. */ \ - if (main_map->l_info[DT_NEEDED]) \ - { \ - /* We have dependencies. */ \ - const ElfW(Dyn) *d; \ - const char *strtab; \ - \ - strtab = (const char *) D_PTR (main_map, l_info[DT_STRTAB]); \ - \ - for (d = main_map->l_ld; d->d_tag != DT_NULL; ++d) \ - if (d->d_tag == DT_NEEDED \ - && strcmp (strtab + d->d_un.d_val, "libc.so.5") == 0) \ - break; \ - \ - /* We print a `5' or `6' depending on the outcome. */ \ - _dl_printf (d->d_tag != DT_NULL ? "5\n" : "6\n"); \ - } \ - } \ - while (0) - -/* Recognizing extra environment variables. */ -#define EXTRA_LD_ENVVARS \ - case 15: \ - if (memcmp (envline, "LIBRARY_VERSION", 15) == 0) \ - GLRO(dl_correct_cache_id) = envline[16] == '5' ? 2 : 3; \ - 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_AOUT_LIBRARY_PATH\0" \ - "LD_AOUT_PRELOAD\0" - -#endif /* dl-librecon.h */ diff --git a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h b/sysdeps/unix/sysv/linux/i386/dl-procinfo.h deleted file mode 100644 index c590896ddf..0000000000 --- a/sysdeps/unix/sysv/linux/i386/dl-procinfo.h +++ /dev/null @@ -1,47 +0,0 @@ -/* Linux/i386 version of processor capability information handling macros. - Copyright (C) 1998-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. - - 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_I386_PROCINFO_H -#define _DL_I386_PROCINFO_H 1 -#include <sysdeps/x86/dl-procinfo.h> - -#undef _dl_procinfo -static inline int -__attribute__ ((unused)) -_dl_procinfo (unsigned int type, unsigned long int word) -{ - /* This table should match the information from arch/i386/kernel/setup.c - in the kernel sources. */ - int i; - - /* Fallback to unknown output mechanism. */ - if (type == AT_HWCAP2) - return -1; - - _dl_printf ("AT_HWCAP: "); - - for (i = 0; i < 32; ++i) - if (word & (1 << i)) - _dl_printf (" %s", GLRO(dl_x86_cap_flags)[i]); - - _dl_printf ("\n"); - - return 0; -} -#endif diff --git a/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/sysdeps/unix/sysv/linux/i386/dl-sysdep.h deleted file mode 100644 index 8a3af5e27b..0000000000 --- a/sysdeps/unix/sysv/linux/i386/dl-sysdep.h +++ /dev/null @@ -1,46 +0,0 @@ -/* System-specific settings for dynamic linker code. i386 version. - Copyright (C) 2002-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_I386_DL_SYSDEP_H - -#include_next <dl-sysdep.h> - -/* Traditionally system calls have been made using int $0x80. A - second method was introduced which, if possible, will use the - sysenter/syscall instructions. To signal the presence and where to - find the code the kernel passes an AT_SYSINFO value in the - auxiliary vector to the application. */ -#define NEED_DL_SYSINFO 1 - -#ifndef __ASSEMBLER__ -extern void _dl_sysinfo_int80 (void) attribute_hidden; -# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80 -# define DL_SYSINFO_IMPLEMENTATION \ - asm (".text\n\t" \ - ".type _dl_sysinfo_int80,@function\n\t" \ - ".hidden _dl_sysinfo_int80\n" \ - CFI_STARTPROC "\n" \ - "_dl_sysinfo_int80:\n\t" \ - "int $0x80;\n\t" \ - "ret;\n\t" \ - CFI_ENDPROC "\n" \ - ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \ - ".previous"); -#endif - -#endif /* dl-sysdep.h */ diff --git a/sysdeps/unix/sysv/linux/i386/fcntl.c b/sysdeps/unix/sysv/linux/i386/fcntl.c deleted file mode 100644 index b0a5783a8a..0000000000 --- a/sysdeps/unix/sysv/linux/i386/fcntl.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 2000-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 <assert.h> -#include <errno.h> -#include <sysdep-cancel.h> /* Must come before <fcntl.h>. */ -#include <fcntl.h> -#include <stdarg.h> - -#include <sys/syscall.h> - -#ifndef NO_CANCELLATION -int -__fcntl_nocancel (int fd, int cmd, ...) -{ - va_list ap; - void *arg; - - va_start (ap, cmd); - arg = va_arg (ap, void *); - va_end (ap); - - return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg); -} -#endif /* NO_CANCELLATION */ - - -int -__libc_fcntl (int fd, int cmd, ...) -{ - va_list ap; - void *arg; - - va_start (ap, cmd); - arg = va_arg (ap, void *); - va_end (ap); - - if ((cmd != F_SETLKW) && (cmd != F_SETLKW64)) - return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg); - - return SYSCALL_CANCEL (fcntl64, fd, cmd, arg); -} -libc_hidden_def (__libc_fcntl) - -weak_alias (__libc_fcntl, __fcntl) -libc_hidden_weak (__fcntl) -weak_alias (__libc_fcntl, fcntl) diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c deleted file mode 100644 index c4cdbf54c0..0000000000 --- a/sysdeps/unix/sysv/linux/i386/fxstat.c +++ /dev/null @@ -1,61 +0,0 @@ -/* fxstat using old-style Unix fstat system call. - Copyright (C) 1991-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/>. */ - -/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc - will complain since they don't strictly match. */ -#define __fxstat64 __fxstat64_disable - -#include <errno.h> -#include <stddef.h> -#include <sys/stat.h> -#include <kernel_stat.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#include <xstatconv.h> - -/* Get information about the file FD in BUF. */ -int -__fxstat (int vers, int fd, struct stat *buf) -{ - int result; - - if (vers == _STAT_VER_KERNEL) - return INLINE_SYSCALL (fstat, 2, fd, buf); - - { - struct stat64 buf64; - - INTERNAL_SYSCALL_DECL (err); - result = INTERNAL_SYSCALL (fstat64, err, 2, fd, &buf64); - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, - err)); - else - return __xstat32_conv (vers, &buf64, buf); - } -} - -hidden_def (__fxstat) -weak_alias (__fxstat, _fxstat); -#if XSTAT_IS_XSTAT64 -#undef __fxstat64 -strong_alias (__fxstat, __fxstat64); -hidden_ver (__fxstat, __fxstat64) -#endif diff --git a/sysdeps/unix/sysv/linux/i386/fxstatat.c b/sysdeps/unix/sysv/linux/i386/fxstatat.c deleted file mode 100644 index 7980c9bbe0..0000000000 --- a/sysdeps/unix/sysv/linux/i386/fxstatat.c +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 2005-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/>. */ - -/* Ho hum, if fxstatat == fxstatat64 we must get rid of the prototype or gcc - will complain since they don't strictly match. */ -#define __fxstatat64 __fxstatat64_disable - -#include <errno.h> -#include <fcntl.h> -#include <stddef.h> -#include <stdio.h> -#include <string.h> -#include <sys/stat.h> -#include <kernel_stat.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#include <xstatconv.h> - - -/* Get information about the file NAME relative to FD in ST. */ -int -__fxstatat (int vers, int fd, const char *file, struct stat *st, int flag) -{ - int result; - INTERNAL_SYSCALL_DECL (err); - struct stat64 st64; - - result = INTERNAL_SYSCALL (fstatat64, err, 4, fd, file, &st64, flag); - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, - err)); - else - return __xstat32_conv (vers, &st64, st); -} -libc_hidden_def (__fxstatat) -#if XSTAT_IS_XSTAT64 -# undef __fxstatat64 -strong_alias (__fxstatat, __fxstatat64); -libc_hidden_ver (__fxstatat, __fxstatat64) -#endif diff --git a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c b/sysdeps/unix/sysv/linux/i386/get_clockfreq.c deleted file mode 100644 index 88e14b5f04..0000000000 --- a/sysdeps/unix/sysv/linux/i386/get_clockfreq.c +++ /dev/null @@ -1,88 +0,0 @@ -/* Get frequency of the system processor. i386/Linux version. - Copyright (C) 2000-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 <ctype.h> -#include <fcntl.h> -#include <string.h> -#include <unistd.h> - -hp_timing_t -__get_clockfreq (void) -{ - /* We read the information from the /proc filesystem. It contains at - least one line like - cpu MHz : 497.840237 - or also - cpu MHz : 497.841 - We search for this line and convert the number in an integer. */ - static hp_timing_t result; - int fd; - - /* If this function was called before, we know the result. */ - if (result != 0) - return result; - - fd = __open ("/proc/cpuinfo", O_RDONLY); - if (__glibc_likely (fd != -1)) - { - /* XXX AFAIK the /proc filesystem can generate "files" only up - to a size of 4096 bytes. */ - char buf[4096]; - ssize_t n; - - n = __read (fd, buf, sizeof buf); - if (__builtin_expect (n, 1) > 0) - { - char *mhz = memmem (buf, n, "cpu MHz", 7); - - if (__glibc_likely (mhz != NULL)) - { - char *endp = buf + n; - int seen_decpoint = 0; - int ndigits = 0; - - /* Search for the beginning of the string. */ - while (mhz < endp && (*mhz < '0' || *mhz > '9') && *mhz != '\n') - ++mhz; - - while (mhz < endp && *mhz != '\n') - { - if (*mhz >= '0' && *mhz <= '9') - { - result *= 10; - result += *mhz - '0'; - if (seen_decpoint) - ++ndigits; - } - else if (*mhz == '.') - seen_decpoint = 1; - - ++mhz; - } - - /* Compensate for missing digits at the end. */ - while (ndigits++ < 6) - result *= 10; - } - } - - __close (fd); - } - - return result; -} diff --git a/sysdeps/unix/sysv/linux/i386/getcontext.S b/sysdeps/unix/sysv/linux/i386/getcontext.S deleted file mode 100644 index 591c3885a5..0000000000 --- a/sysdeps/unix/sysv/linux/i386/getcontext.S +++ /dev/null @@ -1,83 +0,0 @@ -/* Save current context. - Copyright (C) 2001-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. - - 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" - - -ENTRY(__getcontext) - /* Load address of the context data structure. */ - movl 4(%esp), %eax - - /* Return value of getcontext. EAX is the only register whose - value is not preserved. */ - movl $0, oEAX(%eax) - - /* Save the 32-bit register values and the return address. */ - movl %ecx, oECX(%eax) - movl %edx, oEDX(%eax) - movl %edi, oEDI(%eax) - movl %esi, oESI(%eax) - movl %ebp, oEBP(%eax) - movl (%esp), %ecx - movl %ecx, oEIP(%eax) - leal 4(%esp), %ecx /* Exclude the return address. */ - movl %ecx, oESP(%eax) - movl %ebx, oEBX(%eax) - - /* Save the FS segment register. We don't touch the GS register - since it is used for threads. */ - xorl %edx, %edx - movw %fs, %dx - movl %edx, oFS(%eax) - - /* 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. */ - leal oFPREGSMEM(%eax), %ecx - movl %ecx, oFPREGS(%eax) - /* Save the floating-point context. */ - fnstenv (%ecx) - /* And load it right back since the processor changes the mask. - Intel thought this opcode to be used in interrupt handlers which - would block all exceptions. */ - fldenv (%ecx) - - /* Save the current signal mask. */ - pushl %ebx - cfi_adjust_cfa_offset (4) - cfi_rel_offset (ebx, 0) - leal oSIGMASK(%eax), %edx - xorl %ecx, %ecx - movl $SIG_BLOCK, %ebx - movl $__NR_sigprocmask, %eax - ENTER_KERNEL - popl %ebx - cfi_adjust_cfa_offset (-4) - cfi_restore (ebx) - cmpl $-4095, %eax /* Check %eax 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/sysdeps/unix/sysv/linux/i386/getdents64.c b/sysdeps/unix/sysv/linux/i386/getdents64.c deleted file mode 100644 index e8b257f059..0000000000 --- a/sysdeps/unix/sysv/linux/i386/getdents64.c +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 2000-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 __GETDENTS __getdents64 -#define DIRENT_TYPE struct dirent64 - -#include <sysdeps/unix/sysv/linux/getdents.c> - -#include <shlib-compat.h> - -#undef __READDIR -#undef __GETDENTS -#undef DIRENT_TYPE - -#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) - -#include <sysdeps/unix/sysv/linux/i386/olddirent.h> - -#define __GETDENTS __old_getdents64 -#define DIRENT_TYPE struct __old_dirent64 -#define kernel_dirent old_kernel_dirent -#define kernel_dirent64 old_kernel_dirent64 - -#include <sysdeps/unix/sysv/linux/getdents.c> -#endif diff --git a/sysdeps/unix/sysv/linux/i386/getmsg.c b/sysdeps/unix/sysv/linux/i386/getmsg.c deleted file mode 100644 index 5bf1e255c5..0000000000 --- a/sysdeps/unix/sysv/linux/i386/getmsg.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1998-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 <stddef.h> -#include <stropts.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#ifdef __NR_getpmsg -int -getmsg (int fildes, struct strbuf *ctlptr, struct strbuf *dataptr, int *flagsp) -{ - return INLINE_SYSCALL (getpmsg, 5, fildes, ctlptr, dataptr, NULL, flagsp); -} -#else -# include <streams/getmsg.c> -#endif diff --git a/sysdeps/unix/sysv/linux/i386/gettimeofday.c b/sysdeps/unix/sysv/linux/i386/gettimeofday.c deleted file mode 100644 index b6116e91ba..0000000000 --- a/sysdeps/unix/sysv/linux/i386/gettimeofday.c +++ /dev/null @@ -1,35 +0,0 @@ -/* gettimeofday - get the time. Linux/i386 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/>. */ - -#ifdef SHARED -# define __gettimeofday __redirect___gettimeofday -#endif - -#include <sys/time.h> - -#ifdef SHARED -# undef __gettimeofday -# define __gettimeofday_type __redirect___gettimeofday - -# undef libc_hidden_def -# define libc_hidden_def(name) \ - __hidden_ver1 (__gettimeofday_syscall, __GI___gettimeofday, \ - __gettimeofday_syscall); -#endif - -#include <sysdeps/unix/sysv/linux/x86/gettimeofday.c> diff --git a/sysdeps/unix/sysv/linux/i386/glob64.c b/sysdeps/unix/sysv/linux/i386/glob64.c deleted file mode 100644 index f68195137e..0000000000 --- a/sysdeps/unix/sysv/linux/i386/glob64.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Two glob variants with 64-bit support, for dirent64 and __olddirent64. - Copyright (C) 1998-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 <dirent.h> -#include <glob.h> -#include <sys/stat.h> - -#define dirent dirent64 -#define __readdir(dirp) __readdir64 (dirp) - -#define glob_t glob64_t -#define glob(pattern, flags, errfunc, pglob) \ - __glob64 (pattern, flags, errfunc, pglob) -#define globfree(pglob) globfree64 (pglob) - -#undef stat -#define stat stat64 -#undef __stat -#define __stat(file, buf) __xstat64 (_STAT_VER, file, buf) - -#define NO_GLOB_PATTERN_P 1 - -#define COMPILE_GLOB64 1 - -#include <posix/glob.c> - -#include "shlib-compat.h" - -libc_hidden_def (globfree64) - -versioned_symbol (libc, __glob64, glob64, GLIBC_2_2); -libc_hidden_ver (__glob64, glob64) - -#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) - -#include <sysdeps/unix/sysv/linux/i386/olddirent.h> - -int __old_glob64 (const char *__pattern, int __flags, - int (*__errfunc) (const char *, int), - glob64_t *__pglob); - -#undef dirent -#define dirent __old_dirent64 -#undef GL_READDIR -# define GL_READDIR(pglob, stream) \ - ((struct __old_dirent64 *) (pglob)->gl_readdir (stream)) -#undef __readdir -#define __readdir(dirp) __old_readdir64 (dirp) -#undef glob -#define glob(pattern, flags, errfunc, pglob) \ - __old_glob64 (pattern, flags, errfunc, pglob) -#define convert_dirent __old_convert_dirent -#define glob_in_dir __old_glob_in_dir -#define GLOB_ATTRIBUTE attribute_compat_text_section - -#define GLOB_ONLY_P 1 - -#include <posix/glob.c> - -compat_symbol (libc, __old_glob64, glob64, GLIBC_2_1); -#endif diff --git a/sysdeps/unix/sysv/linux/i386/i686/Implies b/sysdeps/unix/sysv/linux/i386/i686/Implies deleted file mode 100644 index 8948a800bb..0000000000 --- a/sysdeps/unix/sysv/linux/i386/i686/Implies +++ /dev/null @@ -1 +0,0 @@ -i386/i686/nptl diff --git a/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h b/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h deleted file mode 100644 index ad90853864..0000000000 --- a/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h +++ /dev/null @@ -1,29 +0,0 @@ -/* System-specific settings for dynamic linker code. IA-32 version. - Copyright (C) 2002-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_I686_DL_SYSDEP_H -#define _LINUX_I686_DL_SYSDEP_H 1 - -/* The i386 file does most of the work. */ -#include_next <dl-sysdep.h> - -/* Actually use the vDSO entry point for syscalls. - i386/dl-sysdep.h arranges to support it, but not use it. */ -#define USE_DL_SYSINFO 1 - -#endif /* dl-sysdep.h */ diff --git a/sysdeps/unix/sysv/linux/i386/i786/Implies b/sysdeps/unix/sysv/linux/i386/i786/Implies deleted file mode 100644 index 7cb7d9a678..0000000000 --- a/sysdeps/unix/sysv/linux/i386/i786/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# The PPro and PII cores are mostly the same. -unix/sysv/linux/i386/i686 diff --git a/sysdeps/unix/sysv/linux/i386/init-first.c b/sysdeps/unix/sysv/linux/i386/init-first.c deleted file mode 100644 index bbbecdd41f..0000000000 --- a/sysdeps/unix/sysv/linux/i386/init-first.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Initialization code run first thing by the ELF startup code. Linux/i386. - 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/>. */ - -#ifdef SHARED -# include <time.h> -# include <sysdep.h> -# include <dl-vdso.h> -# include <sysdep-vdso.h> - -long int (*VDSO_SYMBOL (clock_gettime)) (clockid_t, struct timespec *) - attribute_hidden; - -static long int -clock_gettime_syscall (clockid_t id, struct timespec *tp) -{ - INTERNAL_SYSCALL_DECL (err); - return INTERNAL_SYSCALL (clock_gettime, err, 2, id, tp); -} - -static inline void -__vdso_platform_setup (void) -{ - PREPARE_VERSION_KNOWN (linux26, LINUX_2_6); - - void *p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26); - if (p == NULL) - p = clock_gettime_syscall; - PTR_MANGLE (p); - VDSO_SYMBOL (clock_gettime) = p; -} - -# define VDSO_SETUP __vdso_platform_setup -#endif - -#include <csu/init-first.c> diff --git a/sysdeps/unix/sysv/linux/i386/kernel-features.h b/sysdeps/unix/sysv/linux/i386/kernel-features.h deleted file mode 100644 index c6eb20f360..0000000000 --- a/sysdeps/unix/sysv/linux/i386/kernel-features.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Set flags signalling availability of kernel features based on given - kernel version number. i386 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/>. */ - -/* i386 uses socketcall. */ -#define __ASSUME_SOCKETCALL 1 - -/* Direct socketcalls available with kernel 4.3. */ -#if __LINUX_KERNEL_VERSION >= 0x040300 -# define __ASSUME_SOCKET_SYSCALL 1 -# define __ASSUME_SOCKETPAIR_SYSCALL 1 -# define __ASSUME_BIND_SYSCALL 1 -# define __ASSUME_LISTEN_SYSCALL 1 -# define __ASSUME_GETSOCKOPT_SYSCALL 1 -# define __ASSUME_SETSOCKOPT_SYSCALL 1 -# define __ASSUME_GETSOCKNAME_SYSCALL 1 -# define __ASSUME_GETPEERNAME_SYSCALL 1 -# define __ASSUME_SHUTDOWN_SYSCALL 1 -#endif - -#include_next <kernel-features.h> - -#undef __ASSUME_ACCEPT_SYSCALL - -#if __LINUX_KERNEL_VERSION < 0x040300 -# undef __ASSUME_ACCEPT4_SYSCALL -# undef __ASSUME_SENDMSG_SYSCALL -# undef __ASSUME_RECVMSG_SYSCALL -# undef __ASSUME_CONNECT_SYSCALL -# undef __ASSUME_RECVFROM_SYSCALL -# undef __ASSUME_SENDTO_SYSCALL -#endif - -/* i686 only supports ipc syscall. */ -#undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS diff --git a/sysdeps/unix/sysv/linux/i386/ld.abilist b/sysdeps/unix/sysv/linux/i386/ld.abilist deleted file mode 100644 index ddf9e78ec2..0000000000 --- a/sysdeps/unix/sysv/linux/i386/ld.abilist +++ /dev/null @@ -1,13 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 _r_debug D 0x14 -GLIBC_2.0 calloc F -GLIBC_2.0 free F -GLIBC_2.0 malloc F -GLIBC_2.0 realloc F -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 __libc_stack_end D 0x4 -GLIBC_2.1 _dl_mcount F -GLIBC_2.3 GLIBC_2.3 A -GLIBC_2.3 ___tls_get_addr F -GLIBC_2.3 __tls_get_addr F -GLIBC_2.4 GLIBC_2.4 A diff --git a/sysdeps/unix/sysv/linux/i386/ldconfig.h b/sysdeps/unix/sysv/linux/i386/ldconfig.h deleted file mode 100644 index 7112cb275d..0000000000 --- a/sysdeps/unix/sysv/linux/i386/ldconfig.h +++ /dev/null @@ -1,24 +0,0 @@ -/* 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.1", FLAG_ELF_LIBC5 }, -#define SYSDEP_KNOWN_LIBRARY_NAMES \ - { "libc.so.5", FLAG_ELF_LIBC5 }, \ - { "libm.so.5", FLAG_ELF_LIBC5 }, diff --git a/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist deleted file mode 100644 index 4a56bb68a3..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist +++ /dev/null @@ -1,2 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 __ctype_get_mb_cur_max F diff --git a/sysdeps/unix/sysv/linux/i386/libanl.abilist b/sysdeps/unix/sysv/linux/i386/libanl.abilist deleted file mode 100644 index edabfb436e..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libanl.abilist +++ /dev/null @@ -1,5 +0,0 @@ -GLIBC_2.2.3 GLIBC_2.2.3 A -GLIBC_2.2.3 gai_cancel F -GLIBC_2.2.3 gai_error F -GLIBC_2.2.3 gai_suspend F -GLIBC_2.2.3 getaddrinfo_a F diff --git a/sysdeps/unix/sysv/linux/i386/libc-do-syscall.S b/sysdeps/unix/sysv/linux/i386/libc-do-syscall.S deleted file mode 100644 index f706c6da57..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libc-do-syscall.S +++ /dev/null @@ -1,53 +0,0 @@ -/* Out-of-line syscall stub for six-argument syscalls from C. - 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> - -#ifndef OPTIMIZE_FOR_GCC_5 - -/* %eax, %ecx, %edx and %esi contain the values expected by the kernel. - %edi points to a structure with the values of %ebx, %edi and %ebp. */ - - .hidden __libc_do_syscall - -ENTRY (__libc_do_syscall) - pushl %ebx - cfi_adjust_cfa_offset (4) - cfi_rel_offset (ebx, 0) - pushl %edi - cfi_adjust_cfa_offset (4) - cfi_rel_offset (edi, 0) - pushl %ebp - cfi_adjust_cfa_offset (4) - cfi_rel_offset (ebp, 0) - movl 0(%edi), %ebx - movl 8(%edi), %ebp - movl 4(%edi), %edi - ENTER_KERNEL - popl %ebp - cfi_adjust_cfa_offset (-4) - cfi_restore (ebp) - popl %edi - cfi_adjust_cfa_offset (-4) - cfi_restore (edi) - popl %ebx - cfi_adjust_cfa_offset (-4) - cfi_restore (ebx) - ret -END (__libc_do_syscall) -#endif diff --git a/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S b/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S deleted file mode 100644 index 1e5e150aa7..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S +++ /dev/null @@ -1,19 +0,0 @@ -/* 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/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist deleted file mode 100644 index 2ff1998ac9..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ /dev/null @@ -1,2333 +0,0 @@ -GCC_3.0 GCC_3.0 A -GCC_3.0 _Unwind_Find_FDE F -GCC_3.0 __deregister_frame_info_bases F -GCC_3.0 __register_frame_info_bases F -GCC_3.0 __register_frame_info_table_bases F -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 _IO_adjust_column F -GLIBC_2.0 _IO_default_doallocate F -GLIBC_2.0 _IO_default_finish F -GLIBC_2.0 _IO_default_pbackfail F -GLIBC_2.0 _IO_default_uflow F -GLIBC_2.0 _IO_default_xsgetn F -GLIBC_2.0 _IO_default_xsputn F -GLIBC_2.0 _IO_do_write F -GLIBC_2.0 _IO_doallocbuf F -GLIBC_2.0 _IO_fclose F -GLIBC_2.0 _IO_fdopen F -GLIBC_2.0 _IO_feof F -GLIBC_2.0 _IO_ferror F -GLIBC_2.0 _IO_fflush F -GLIBC_2.0 _IO_fgetpos F -GLIBC_2.0 _IO_fgets F -GLIBC_2.0 _IO_file_attach F -GLIBC_2.0 _IO_file_close F -GLIBC_2.0 _IO_file_close_it F -GLIBC_2.0 _IO_file_doallocate F -GLIBC_2.0 _IO_file_fopen F -GLIBC_2.0 _IO_file_init F -GLIBC_2.0 _IO_file_jumps D 0x54 -GLIBC_2.0 _IO_file_open F -GLIBC_2.0 _IO_file_overflow F -GLIBC_2.0 _IO_file_read F -GLIBC_2.0 _IO_file_seek F -GLIBC_2.0 _IO_file_seekoff F -GLIBC_2.0 _IO_file_setbuf F -GLIBC_2.0 _IO_file_stat F -GLIBC_2.0 _IO_file_sync F -GLIBC_2.0 _IO_file_underflow F -GLIBC_2.0 _IO_file_write F -GLIBC_2.0 _IO_file_xsputn F -GLIBC_2.0 _IO_flockfile F -GLIBC_2.0 _IO_flush_all F -GLIBC_2.0 _IO_flush_all_linebuffered F -GLIBC_2.0 _IO_fopen F -GLIBC_2.0 _IO_fprintf F -GLIBC_2.0 _IO_fputs F -GLIBC_2.0 _IO_fread F -GLIBC_2.0 _IO_free_backup_area F -GLIBC_2.0 _IO_fsetpos F -GLIBC_2.0 _IO_ftell F -GLIBC_2.0 _IO_ftrylockfile F -GLIBC_2.0 _IO_funlockfile F -GLIBC_2.0 _IO_fwrite F -GLIBC_2.0 _IO_getc F -GLIBC_2.0 _IO_getline F -GLIBC_2.0 _IO_gets F -GLIBC_2.0 _IO_init F -GLIBC_2.0 _IO_init_marker F -GLIBC_2.0 _IO_link_in F -GLIBC_2.0 _IO_list_all D 0x4 -GLIBC_2.0 _IO_marker_delta F -GLIBC_2.0 _IO_marker_difference F -GLIBC_2.0 _IO_padn F -GLIBC_2.0 _IO_peekc_locked F -GLIBC_2.0 _IO_popen F -GLIBC_2.0 _IO_printf F -GLIBC_2.0 _IO_proc_close F -GLIBC_2.0 _IO_proc_open F -GLIBC_2.0 _IO_putc F -GLIBC_2.0 _IO_puts F -GLIBC_2.0 _IO_remove_marker F -GLIBC_2.0 _IO_seekmark F -GLIBC_2.0 _IO_seekoff F -GLIBC_2.0 _IO_seekpos F -GLIBC_2.0 _IO_setb F -GLIBC_2.0 _IO_setbuffer F -GLIBC_2.0 _IO_setvbuf F -GLIBC_2.0 _IO_sgetn F -GLIBC_2.0 _IO_sprintf F -GLIBC_2.0 _IO_sputbackc F -GLIBC_2.0 _IO_sscanf F -GLIBC_2.0 _IO_stderr_ D 0x50 -GLIBC_2.0 _IO_stdin_ D 0x50 -GLIBC_2.0 _IO_stdout_ D 0x50 -GLIBC_2.0 _IO_str_init_readonly F -GLIBC_2.0 _IO_str_init_static F -GLIBC_2.0 _IO_str_overflow F -GLIBC_2.0 _IO_str_pbackfail F -GLIBC_2.0 _IO_str_seekoff F -GLIBC_2.0 _IO_str_underflow F -GLIBC_2.0 _IO_sungetc F -GLIBC_2.0 _IO_switch_to_get_mode F -GLIBC_2.0 _IO_un_link F -GLIBC_2.0 _IO_ungetc F -GLIBC_2.0 _IO_unsave_markers F -GLIBC_2.0 _IO_vfprintf F -GLIBC_2.0 _IO_vfscanf F -GLIBC_2.0 _IO_vsprintf F -GLIBC_2.0 ___brk_addr D 0x4 -GLIBC_2.0 __adjtimex F -GLIBC_2.0 __after_morecore_hook D 0x4 -GLIBC_2.0 __argz_count F -GLIBC_2.0 __argz_next F -GLIBC_2.0 __argz_stringify F -GLIBC_2.0 __assert_fail F -GLIBC_2.0 __assert_perror_fail F -GLIBC_2.0 __bsd_getpgrp F -GLIBC_2.0 __bzero F -GLIBC_2.0 __check_rhosts_file D 0x4 -GLIBC_2.0 __clone F -GLIBC_2.0 __close F -GLIBC_2.0 __cmsg_nxthdr F -GLIBC_2.0 __connect F -GLIBC_2.0 __ctype32_b D 0x4 -GLIBC_2.0 __ctype_b D 0x4 -GLIBC_2.0 __ctype_get_mb_cur_max F -GLIBC_2.0 __ctype_tolower D 0x4 -GLIBC_2.0 __ctype_toupper D 0x4 -GLIBC_2.0 __curbrk D 0x4 -GLIBC_2.0 __daylight D 0x4 -GLIBC_2.0 __dcgettext F -GLIBC_2.0 __default_morecore F -GLIBC_2.0 __deregister_frame F -GLIBC_2.0 __deregister_frame_info F -GLIBC_2.0 __dgettext F -GLIBC_2.0 __divdi3 F -GLIBC_2.0 __dup2 F -GLIBC_2.0 __environ D 0x4 -GLIBC_2.0 __errno_location F -GLIBC_2.0 __fcntl F -GLIBC_2.0 __ffs F -GLIBC_2.0 __finite F -GLIBC_2.0 __finitef F -GLIBC_2.0 __finitel F -GLIBC_2.0 __fork F -GLIBC_2.0 __fpu_control D 0x2 -GLIBC_2.0 __frame_state_for F -GLIBC_2.0 __free_hook D 0x4 -GLIBC_2.0 __fxstat F -GLIBC_2.0 __getdelim F -GLIBC_2.0 __getpagesize F -GLIBC_2.0 __getpgid F -GLIBC_2.0 __getpid F -GLIBC_2.0 __gettimeofday F -GLIBC_2.0 __gmtime_r F -GLIBC_2.0 __h_errno_location F -GLIBC_2.0 __isinf F -GLIBC_2.0 __isinff F -GLIBC_2.0 __isinfl F -GLIBC_2.0 __isnan F -GLIBC_2.0 __isnanf F -GLIBC_2.0 __isnanl F -GLIBC_2.0 __iswctype F -GLIBC_2.0 __ivaliduser F -GLIBC_2.0 __libc_calloc F -GLIBC_2.0 __libc_free F -GLIBC_2.0 __libc_init_first F -GLIBC_2.0 __libc_mallinfo F -GLIBC_2.0 __libc_malloc F -GLIBC_2.0 __libc_mallopt F -GLIBC_2.0 __libc_memalign F -GLIBC_2.0 __libc_pvalloc F -GLIBC_2.0 __libc_realloc F -GLIBC_2.0 __libc_start_main F -GLIBC_2.0 __libc_valloc F -GLIBC_2.0 __lseek F -GLIBC_2.0 __lxstat F -GLIBC_2.0 __malloc_hook D 0x4 -GLIBC_2.0 __malloc_initialize_hook D 0x4 -GLIBC_2.0 __mbrlen F -GLIBC_2.0 __mbrtowc F -GLIBC_2.0 __memalign_hook D 0x4 -GLIBC_2.0 __mempcpy F -GLIBC_2.0 __moddi3 F -GLIBC_2.0 __monstartup F -GLIBC_2.0 __morecore D 0x4 -GLIBC_2.0 __nss_configure_lookup F -GLIBC_2.0 __nss_database_lookup F -GLIBC_2.0 __nss_group_lookup F -GLIBC_2.0 __nss_hosts_lookup F -GLIBC_2.0 __nss_next F -GLIBC_2.0 __nss_passwd_lookup F -GLIBC_2.0 __open F -GLIBC_2.0 __overflow F -GLIBC_2.0 __pipe F -GLIBC_2.0 __printf_fp F -GLIBC_2.0 __profile_frequency F -GLIBC_2.0 __progname D 0x4 -GLIBC_2.0 __progname_full D 0x4 -GLIBC_2.0 __rcmd_errstr D 0x4 -GLIBC_2.0 __read F -GLIBC_2.0 __realloc_hook D 0x4 -GLIBC_2.0 __register_frame F -GLIBC_2.0 __register_frame_info F -GLIBC_2.0 __register_frame_info_table F -GLIBC_2.0 __register_frame_table F -GLIBC_2.0 __res_randomid F -GLIBC_2.0 __sbrk F -GLIBC_2.0 __sched_get_priority_max F -GLIBC_2.0 __sched_get_priority_min F -GLIBC_2.0 __sched_getparam F -GLIBC_2.0 __sched_getscheduler F -GLIBC_2.0 __sched_setscheduler F -GLIBC_2.0 __sched_yield F -GLIBC_2.0 __secure_getenv F -GLIBC_2.0 __select F -GLIBC_2.0 __send F -GLIBC_2.0 __setpgid F -GLIBC_2.0 __sigaction F -GLIBC_2.0 __sigaddset F -GLIBC_2.0 __sigdelset F -GLIBC_2.0 __sigismember F -GLIBC_2.0 __sigpause F -GLIBC_2.0 __sigsetjmp F -GLIBC_2.0 __stpcpy F -GLIBC_2.0 __stpncpy F -GLIBC_2.0 __strcasecmp F -GLIBC_2.0 __strdup F -GLIBC_2.0 __strerror_r F -GLIBC_2.0 __strtod_internal F -GLIBC_2.0 __strtof_internal F -GLIBC_2.0 __strtok_r F -GLIBC_2.0 __strtol_internal F -GLIBC_2.0 __strtold_internal F -GLIBC_2.0 __strtoll_internal F -GLIBC_2.0 __strtoq_internal F -GLIBC_2.0 __strtoul_internal F -GLIBC_2.0 __strtoull_internal F -GLIBC_2.0 __strtouq_internal F -GLIBC_2.0 __sysv_signal F -GLIBC_2.0 __timezone D 0x4 -GLIBC_2.0 __tzname D 0x8 -GLIBC_2.0 __udivdi3 F -GLIBC_2.0 __uflow F -GLIBC_2.0 __umoddi3 F -GLIBC_2.0 __underflow F -GLIBC_2.0 __vfscanf F -GLIBC_2.0 __vsnprintf F -GLIBC_2.0 __vsscanf F -GLIBC_2.0 __wait F -GLIBC_2.0 __waitpid F -GLIBC_2.0 __wcstod_internal F -GLIBC_2.0 __wcstof_internal F -GLIBC_2.0 __wcstol_internal F -GLIBC_2.0 __wcstold_internal F -GLIBC_2.0 __wcstoll_internal F -GLIBC_2.0 __wcstoul_internal F -GLIBC_2.0 __wcstoull_internal F -GLIBC_2.0 __write F -GLIBC_2.0 __xmknod F -GLIBC_2.0 __xpg_basename F -GLIBC_2.0 __xstat F -GLIBC_2.0 _environ D 0x4 -GLIBC_2.0 _exit F -GLIBC_2.0 _libc_intl_domainname D 0x5 -GLIBC_2.0 _longjmp F -GLIBC_2.0 _mcleanup F -GLIBC_2.0 _mcount F -GLIBC_2.0 _nl_default_dirname D 0x12 -GLIBC_2.0 _nl_domain_bindings D 0x4 -GLIBC_2.0 _nl_msg_cat_cntr D 0x4 -GLIBC_2.0 _null_auth D 0xc -GLIBC_2.0 _obstack D 0x4 -GLIBC_2.0 _obstack_allocated_p F -GLIBC_2.0 _obstack_begin F -GLIBC_2.0 _obstack_begin_1 F -GLIBC_2.0 _obstack_free F -GLIBC_2.0 _obstack_memory_used F -GLIBC_2.0 _obstack_newchunk F -GLIBC_2.0 _res D 0x200 -GLIBC_2.0 _rpc_dtablesize F -GLIBC_2.0 _seterr_reply F -GLIBC_2.0 _setjmp F -GLIBC_2.0 _sys_errlist D 0x1ec -GLIBC_2.0 _sys_nerr D 0x4 -GLIBC_2.0 _sys_siglist D 0x80 -GLIBC_2.0 _tolower F -GLIBC_2.0 _toupper F -GLIBC_2.0 a64l F -GLIBC_2.0 abort F -GLIBC_2.0 abs F -GLIBC_2.0 accept F -GLIBC_2.0 access F -GLIBC_2.0 acct F -GLIBC_2.0 addmntent F -GLIBC_2.0 adjtime F -GLIBC_2.0 adjtimex F -GLIBC_2.0 advance F -GLIBC_2.0 alarm F -GLIBC_2.0 alphasort F -GLIBC_2.0 argz_add F -GLIBC_2.0 argz_add_sep F -GLIBC_2.0 argz_append F -GLIBC_2.0 argz_count F -GLIBC_2.0 argz_create F -GLIBC_2.0 argz_create_sep F -GLIBC_2.0 argz_delete F -GLIBC_2.0 argz_extract F -GLIBC_2.0 argz_insert F -GLIBC_2.0 argz_next F -GLIBC_2.0 argz_replace F -GLIBC_2.0 argz_stringify F -GLIBC_2.0 asctime F -GLIBC_2.0 asctime_r F -GLIBC_2.0 asprintf F -GLIBC_2.0 atexit F -GLIBC_2.0 atof F -GLIBC_2.0 atoi F -GLIBC_2.0 atol F -GLIBC_2.0 atoll F -GLIBC_2.0 authnone_create F -GLIBC_2.0 authunix_create F -GLIBC_2.0 authunix_create_default F -GLIBC_2.0 basename F -GLIBC_2.0 bcmp F -GLIBC_2.0 bcopy F -GLIBC_2.0 bdflush F -GLIBC_2.0 bind F -GLIBC_2.0 bindresvport F -GLIBC_2.0 bindtextdomain F -GLIBC_2.0 brk F -GLIBC_2.0 bsd_signal F -GLIBC_2.0 bsearch F -GLIBC_2.0 btowc F -GLIBC_2.0 bzero F -GLIBC_2.0 calloc F -GLIBC_2.0 callrpc F -GLIBC_2.0 canonicalize_file_name F -GLIBC_2.0 catclose F -GLIBC_2.0 catgets F -GLIBC_2.0 catopen F -GLIBC_2.0 cfgetispeed F -GLIBC_2.0 cfgetospeed F -GLIBC_2.0 cfmakeraw F -GLIBC_2.0 cfree F -GLIBC_2.0 cfsetispeed F -GLIBC_2.0 cfsetospeed F -GLIBC_2.0 cfsetspeed F -GLIBC_2.0 chdir F -GLIBC_2.0 chflags F -GLIBC_2.0 chmod F -GLIBC_2.0 chown F -GLIBC_2.0 chroot F -GLIBC_2.0 clearenv F -GLIBC_2.0 clearerr F -GLIBC_2.0 clearerr_unlocked F -GLIBC_2.0 clnt_broadcast F -GLIBC_2.0 clnt_create F -GLIBC_2.0 clnt_pcreateerror F -GLIBC_2.0 clnt_perrno F -GLIBC_2.0 clnt_perror F -GLIBC_2.0 clnt_spcreateerror F -GLIBC_2.0 clnt_sperrno F -GLIBC_2.0 clnt_sperror F -GLIBC_2.0 clntraw_create F -GLIBC_2.0 clnttcp_create F -GLIBC_2.0 clntudp_bufcreate F -GLIBC_2.0 clntudp_create F -GLIBC_2.0 clock F -GLIBC_2.0 clone F -GLIBC_2.0 close F -GLIBC_2.0 closedir F -GLIBC_2.0 closelog F -GLIBC_2.0 confstr F -GLIBC_2.0 connect F -GLIBC_2.0 copysign F -GLIBC_2.0 copysignf F -GLIBC_2.0 copysignl F -GLIBC_2.0 creat F -GLIBC_2.0 create_module F -GLIBC_2.0 ctermid F -GLIBC_2.0 ctime F -GLIBC_2.0 ctime_r F -GLIBC_2.0 cuserid F -GLIBC_2.0 daemon F -GLIBC_2.0 daylight D 0x4 -GLIBC_2.0 dcgettext F -GLIBC_2.0 delete_module F -GLIBC_2.0 dgettext F -GLIBC_2.0 difftime F -GLIBC_2.0 dirfd F -GLIBC_2.0 dirname F -GLIBC_2.0 div F -GLIBC_2.0 dprintf F -GLIBC_2.0 drand48 F -GLIBC_2.0 drand48_r F -GLIBC_2.0 dup F -GLIBC_2.0 dup2 F -GLIBC_2.0 dysize F -GLIBC_2.0 ecvt F -GLIBC_2.0 ecvt_r F -GLIBC_2.0 endaliasent F -GLIBC_2.0 endfsent F -GLIBC_2.0 endgrent F -GLIBC_2.0 endhostent F -GLIBC_2.0 endmntent F -GLIBC_2.0 endnetent F -GLIBC_2.0 endnetgrent F -GLIBC_2.0 endprotoent F -GLIBC_2.0 endpwent F -GLIBC_2.0 endrpcent F -GLIBC_2.0 endservent F -GLIBC_2.0 endspent F -GLIBC_2.0 endttyent F -GLIBC_2.0 endusershell F -GLIBC_2.0 endutent F -GLIBC_2.0 environ D 0x4 -GLIBC_2.0 envz_add F -GLIBC_2.0 envz_entry F -GLIBC_2.0 envz_get F -GLIBC_2.0 envz_merge F -GLIBC_2.0 envz_remove F -GLIBC_2.0 envz_strip F -GLIBC_2.0 erand48 F -GLIBC_2.0 erand48_r F -GLIBC_2.0 err F -GLIBC_2.0 error F -GLIBC_2.0 error_at_line F -GLIBC_2.0 error_message_count D 0x4 -GLIBC_2.0 error_one_per_line D 0x4 -GLIBC_2.0 error_print_progname D 0x4 -GLIBC_2.0 errx F -GLIBC_2.0 ether_aton F -GLIBC_2.0 ether_aton_r F -GLIBC_2.0 ether_hostton F -GLIBC_2.0 ether_line F -GLIBC_2.0 ether_ntoa F -GLIBC_2.0 ether_ntoa_r F -GLIBC_2.0 ether_ntohost F -GLIBC_2.0 euidaccess F -GLIBC_2.0 execl F -GLIBC_2.0 execle F -GLIBC_2.0 execlp F -GLIBC_2.0 execv F -GLIBC_2.0 execve F -GLIBC_2.0 execvp F -GLIBC_2.0 exit F -GLIBC_2.0 fchdir F -GLIBC_2.0 fchflags F -GLIBC_2.0 fchmod F -GLIBC_2.0 fchown F -GLIBC_2.0 fclose F -GLIBC_2.0 fcloseall F -GLIBC_2.0 fcntl F -GLIBC_2.0 fcvt F -GLIBC_2.0 fcvt_r F -GLIBC_2.0 fdatasync F -GLIBC_2.0 fdopen F -GLIBC_2.0 feof F -GLIBC_2.0 feof_unlocked F -GLIBC_2.0 ferror F -GLIBC_2.0 ferror_unlocked F -GLIBC_2.0 fexecve F -GLIBC_2.0 fflush F -GLIBC_2.0 fflush_unlocked F -GLIBC_2.0 ffs F -GLIBC_2.0 fgetc F -GLIBC_2.0 fgetgrent F -GLIBC_2.0 fgetgrent_r F -GLIBC_2.0 fgetpos F -GLIBC_2.0 fgetpwent F -GLIBC_2.0 fgetpwent_r F -GLIBC_2.0 fgets F -GLIBC_2.0 fgetspent F -GLIBC_2.0 fgetspent_r F -GLIBC_2.0 fileno F -GLIBC_2.0 fileno_unlocked F -GLIBC_2.0 finite F -GLIBC_2.0 finitef F -GLIBC_2.0 finitel F -GLIBC_2.0 flock F -GLIBC_2.0 flockfile F -GLIBC_2.0 fnmatch F -GLIBC_2.0 fopen F -GLIBC_2.0 fopencookie F -GLIBC_2.0 fork F -GLIBC_2.0 fpathconf F -GLIBC_2.0 fprintf F -GLIBC_2.0 fputc F -GLIBC_2.0 fputc_unlocked F -GLIBC_2.0 fputs F -GLIBC_2.0 fread F -GLIBC_2.0 free F -GLIBC_2.0 freeaddrinfo F -GLIBC_2.0 freopen F -GLIBC_2.0 frexp F -GLIBC_2.0 frexpf F -GLIBC_2.0 frexpl F -GLIBC_2.0 fscanf F -GLIBC_2.0 fseek F -GLIBC_2.0 fsetpos F -GLIBC_2.0 fstatfs F -GLIBC_2.0 fsync F -GLIBC_2.0 ftell F -GLIBC_2.0 ftime F -GLIBC_2.0 ftok F -GLIBC_2.0 ftruncate F -GLIBC_2.0 ftrylockfile F -GLIBC_2.0 fts_children F -GLIBC_2.0 fts_close F -GLIBC_2.0 fts_open F -GLIBC_2.0 fts_read F -GLIBC_2.0 fts_set F -GLIBC_2.0 ftw F -GLIBC_2.0 funlockfile F -GLIBC_2.0 fwrite F -GLIBC_2.0 gcvt F -GLIBC_2.0 get_avphys_pages F -GLIBC_2.0 get_current_dir_name F -GLIBC_2.0 get_kernel_syms F -GLIBC_2.0 get_myaddress F -GLIBC_2.0 get_nprocs F -GLIBC_2.0 get_nprocs_conf F -GLIBC_2.0 get_phys_pages F -GLIBC_2.0 getaddrinfo F -GLIBC_2.0 getaliasbyname F -GLIBC_2.0 getaliasbyname_r F -GLIBC_2.0 getaliasent F -GLIBC_2.0 getaliasent_r F -GLIBC_2.0 getc F -GLIBC_2.0 getc_unlocked F -GLIBC_2.0 getchar F -GLIBC_2.0 getchar_unlocked F -GLIBC_2.0 getcwd F -GLIBC_2.0 getdelim F -GLIBC_2.0 getdirentries F -GLIBC_2.0 getdomainname F -GLIBC_2.0 getdtablesize F -GLIBC_2.0 getegid F -GLIBC_2.0 getenv F -GLIBC_2.0 geteuid F -GLIBC_2.0 getfsent F -GLIBC_2.0 getfsfile F -GLIBC_2.0 getfsspec F -GLIBC_2.0 getgid F -GLIBC_2.0 getgrent F -GLIBC_2.0 getgrent_r F -GLIBC_2.0 getgrgid F -GLIBC_2.0 getgrgid_r F -GLIBC_2.0 getgrnam F -GLIBC_2.0 getgrnam_r F -GLIBC_2.0 getgroups F -GLIBC_2.0 gethostbyaddr F -GLIBC_2.0 gethostbyaddr_r F -GLIBC_2.0 gethostbyname F -GLIBC_2.0 gethostbyname2 F -GLIBC_2.0 gethostbyname2_r F -GLIBC_2.0 gethostbyname_r F -GLIBC_2.0 gethostent F -GLIBC_2.0 gethostent_r F -GLIBC_2.0 gethostid F -GLIBC_2.0 gethostname F -GLIBC_2.0 getitimer F -GLIBC_2.0 getline F -GLIBC_2.0 getlogin F -GLIBC_2.0 getlogin_r F -GLIBC_2.0 getmntent F -GLIBC_2.0 getmntent_r F -GLIBC_2.0 getnetbyaddr F -GLIBC_2.0 getnetbyaddr_r F -GLIBC_2.0 getnetbyname F -GLIBC_2.0 getnetbyname_r F -GLIBC_2.0 getnetent F -GLIBC_2.0 getnetent_r F -GLIBC_2.0 getnetgrent F -GLIBC_2.0 getnetgrent_r F -GLIBC_2.0 getopt F -GLIBC_2.0 getopt_long F -GLIBC_2.0 getopt_long_only F -GLIBC_2.0 getpagesize F -GLIBC_2.0 getpass F -GLIBC_2.0 getpeername F -GLIBC_2.0 getpgid F -GLIBC_2.0 getpgrp F -GLIBC_2.0 getpid F -GLIBC_2.0 getppid F -GLIBC_2.0 getpriority F -GLIBC_2.0 getprotobyname F -GLIBC_2.0 getprotobyname_r F -GLIBC_2.0 getprotobynumber F -GLIBC_2.0 getprotobynumber_r F -GLIBC_2.0 getprotoent F -GLIBC_2.0 getprotoent_r F -GLIBC_2.0 getpublickey F -GLIBC_2.0 getpw F -GLIBC_2.0 getpwent F -GLIBC_2.0 getpwent_r F -GLIBC_2.0 getpwnam F -GLIBC_2.0 getpwnam_r F -GLIBC_2.0 getpwuid F -GLIBC_2.0 getpwuid_r F -GLIBC_2.0 getresgid F -GLIBC_2.0 getresuid F -GLIBC_2.0 getrlimit F -GLIBC_2.0 getrpcbyname F -GLIBC_2.0 getrpcbyname_r F -GLIBC_2.0 getrpcbynumber F -GLIBC_2.0 getrpcbynumber_r F -GLIBC_2.0 getrpcent F -GLIBC_2.0 getrpcent_r F -GLIBC_2.0 getrpcport F -GLIBC_2.0 getrusage F -GLIBC_2.0 gets F -GLIBC_2.0 getsecretkey F -GLIBC_2.0 getservbyname F -GLIBC_2.0 getservbyname_r F -GLIBC_2.0 getservbyport F -GLIBC_2.0 getservbyport_r F -GLIBC_2.0 getservent F -GLIBC_2.0 getservent_r F -GLIBC_2.0 getsid F -GLIBC_2.0 getsockname F -GLIBC_2.0 getsockopt F -GLIBC_2.0 getspent F -GLIBC_2.0 getspent_r F -GLIBC_2.0 getspnam F -GLIBC_2.0 getspnam_r F -GLIBC_2.0 getsubopt F -GLIBC_2.0 gettext F -GLIBC_2.0 gettimeofday F -GLIBC_2.0 getttyent F -GLIBC_2.0 getttynam F -GLIBC_2.0 getuid F -GLIBC_2.0 getusershell F -GLIBC_2.0 getutent F -GLIBC_2.0 getutent_r F -GLIBC_2.0 getutid F -GLIBC_2.0 getutid_r F -GLIBC_2.0 getutline F -GLIBC_2.0 getutline_r F -GLIBC_2.0 getw F -GLIBC_2.0 getwd F -GLIBC_2.0 glob F -GLIBC_2.0 glob_pattern_p F -GLIBC_2.0 globfree F -GLIBC_2.0 gmtime F -GLIBC_2.0 gmtime_r F -GLIBC_2.0 group_member F -GLIBC_2.0 gsignal F -GLIBC_2.0 gtty F -GLIBC_2.0 h_errlist D 0x14 -GLIBC_2.0 h_nerr D 0x4 -GLIBC_2.0 hasmntopt F -GLIBC_2.0 hcreate F -GLIBC_2.0 hcreate_r F -GLIBC_2.0 hdestroy F -GLIBC_2.0 hdestroy_r F -GLIBC_2.0 herror F -GLIBC_2.0 hsearch F -GLIBC_2.0 hsearch_r F -GLIBC_2.0 hstrerror F -GLIBC_2.0 htonl F -GLIBC_2.0 htons F -GLIBC_2.0 index F -GLIBC_2.0 inet_addr F -GLIBC_2.0 inet_aton F -GLIBC_2.0 inet_lnaof F -GLIBC_2.0 inet_makeaddr F -GLIBC_2.0 inet_netof F -GLIBC_2.0 inet_network F -GLIBC_2.0 inet_nsap_addr F -GLIBC_2.0 inet_nsap_ntoa F -GLIBC_2.0 inet_ntoa F -GLIBC_2.0 inet_ntop F -GLIBC_2.0 inet_pton F -GLIBC_2.0 init_module F -GLIBC_2.0 initgroups F -GLIBC_2.0 initstate F -GLIBC_2.0 initstate_r F -GLIBC_2.0 innetgr F -GLIBC_2.0 insque F -GLIBC_2.0 ioctl F -GLIBC_2.0 ioperm F -GLIBC_2.0 iopl F -GLIBC_2.0 iruserok F -GLIBC_2.0 isalnum F -GLIBC_2.0 isalpha F -GLIBC_2.0 isascii F -GLIBC_2.0 isatty F -GLIBC_2.0 isblank F -GLIBC_2.0 iscntrl F -GLIBC_2.0 isdigit F -GLIBC_2.0 isfdtype F -GLIBC_2.0 isgraph F -GLIBC_2.0 isinf F -GLIBC_2.0 isinff F -GLIBC_2.0 isinfl F -GLIBC_2.0 islower F -GLIBC_2.0 isnan F -GLIBC_2.0 isnanf F -GLIBC_2.0 isnanl F -GLIBC_2.0 isprint F -GLIBC_2.0 ispunct F -GLIBC_2.0 isspace F -GLIBC_2.0 isupper F -GLIBC_2.0 iswalnum F -GLIBC_2.0 iswalpha F -GLIBC_2.0 iswcntrl F -GLIBC_2.0 iswctype F -GLIBC_2.0 iswdigit F -GLIBC_2.0 iswgraph F -GLIBC_2.0 iswlower F -GLIBC_2.0 iswprint F -GLIBC_2.0 iswpunct F -GLIBC_2.0 iswspace F -GLIBC_2.0 iswupper F -GLIBC_2.0 iswxdigit F -GLIBC_2.0 isxdigit F -GLIBC_2.0 jrand48 F -GLIBC_2.0 jrand48_r F -GLIBC_2.0 kill F -GLIBC_2.0 killpg F -GLIBC_2.0 klogctl F -GLIBC_2.0 l64a F -GLIBC_2.0 labs F -GLIBC_2.0 lchown F -GLIBC_2.0 lckpwdf F -GLIBC_2.0 lcong48 F -GLIBC_2.0 lcong48_r F -GLIBC_2.0 ldexp F -GLIBC_2.0 ldexpf F -GLIBC_2.0 ldexpl F -GLIBC_2.0 ldiv F -GLIBC_2.0 lfind F -GLIBC_2.0 link F -GLIBC_2.0 listen F -GLIBC_2.0 llabs F -GLIBC_2.0 lldiv F -GLIBC_2.0 llseek F -GLIBC_2.0 loc1 D 0x4 -GLIBC_2.0 loc2 D 0x4 -GLIBC_2.0 localeconv F -GLIBC_2.0 localtime F -GLIBC_2.0 localtime_r F -GLIBC_2.0 lockf F -GLIBC_2.0 locs D 0x4 -GLIBC_2.0 longjmp F -GLIBC_2.0 lrand48 F -GLIBC_2.0 lrand48_r F -GLIBC_2.0 lsearch F -GLIBC_2.0 lseek F -GLIBC_2.0 madvise F -GLIBC_2.0 mallinfo F -GLIBC_2.0 malloc F -GLIBC_2.0 malloc_get_state F -GLIBC_2.0 malloc_set_state F -GLIBC_2.0 malloc_stats F -GLIBC_2.0 malloc_trim F -GLIBC_2.0 malloc_usable_size F -GLIBC_2.0 mallopt F -GLIBC_2.0 mallwatch D 0x4 -GLIBC_2.0 mblen F -GLIBC_2.0 mbrlen F -GLIBC_2.0 mbrtowc F -GLIBC_2.0 mbsinit F -GLIBC_2.0 mbsnrtowcs F -GLIBC_2.0 mbsrtowcs F -GLIBC_2.0 mbstowcs F -GLIBC_2.0 mbtowc F -GLIBC_2.0 mcheck F -GLIBC_2.0 mcount F -GLIBC_2.0 memalign F -GLIBC_2.0 memccpy F -GLIBC_2.0 memchr F -GLIBC_2.0 memcmp F -GLIBC_2.0 memcpy F -GLIBC_2.0 memfrob F -GLIBC_2.0 memmem F -GLIBC_2.0 memmove F -GLIBC_2.0 memset F -GLIBC_2.0 mkdir F -GLIBC_2.0 mkfifo F -GLIBC_2.0 mkstemp F -GLIBC_2.0 mktemp F -GLIBC_2.0 mktime F -GLIBC_2.0 mlock F -GLIBC_2.0 mlockall F -GLIBC_2.0 mmap F -GLIBC_2.0 modf F -GLIBC_2.0 modff F -GLIBC_2.0 modfl F -GLIBC_2.0 monstartup F -GLIBC_2.0 mount F -GLIBC_2.0 mprobe F -GLIBC_2.0 mprotect F -GLIBC_2.0 mrand48 F -GLIBC_2.0 mrand48_r F -GLIBC_2.0 mremap F -GLIBC_2.0 msgctl F -GLIBC_2.0 msgget F -GLIBC_2.0 msgrcv F -GLIBC_2.0 msgsnd F -GLIBC_2.0 msync F -GLIBC_2.0 mtrace F -GLIBC_2.0 munlock F -GLIBC_2.0 munlockall F -GLIBC_2.0 munmap F -GLIBC_2.0 muntrace F -GLIBC_2.0 nanosleep F -GLIBC_2.0 nfsservctl F -GLIBC_2.0 nice F -GLIBC_2.0 nl_langinfo F -GLIBC_2.0 nrand48 F -GLIBC_2.0 nrand48_r F -GLIBC_2.0 ntohl F -GLIBC_2.0 ntohs F -GLIBC_2.0 obstack_alloc_failed_handler D 0x4 -GLIBC_2.0 obstack_exit_failure D 0x4 -GLIBC_2.0 obstack_free F -GLIBC_2.0 obstack_printf F -GLIBC_2.0 obstack_vprintf F -GLIBC_2.0 on_exit F -GLIBC_2.0 open F -GLIBC_2.0 open_memstream F -GLIBC_2.0 opendir F -GLIBC_2.0 openlog F -GLIBC_2.0 optarg D 0x4 -GLIBC_2.0 opterr D 0x4 -GLIBC_2.0 optind D 0x4 -GLIBC_2.0 optopt D 0x4 -GLIBC_2.0 parse_printf_format F -GLIBC_2.0 pathconf F -GLIBC_2.0 pause F -GLIBC_2.0 pclose F -GLIBC_2.0 perror F -GLIBC_2.0 personality F -GLIBC_2.0 pipe F -GLIBC_2.0 pmap_getmaps F -GLIBC_2.0 pmap_getport F -GLIBC_2.0 pmap_rmtcall F -GLIBC_2.0 pmap_set F -GLIBC_2.0 pmap_unset F -GLIBC_2.0 poll F -GLIBC_2.0 popen F -GLIBC_2.0 prctl F -GLIBC_2.0 printf F -GLIBC_2.0 profil F -GLIBC_2.0 program_invocation_name D 0x4 -GLIBC_2.0 program_invocation_short_name D 0x4 -GLIBC_2.0 pselect F -GLIBC_2.0 psignal F -GLIBC_2.0 pthread_attr_destroy F -GLIBC_2.0 pthread_attr_getdetachstate F -GLIBC_2.0 pthread_attr_getinheritsched F -GLIBC_2.0 pthread_attr_getschedparam F -GLIBC_2.0 pthread_attr_getschedpolicy F -GLIBC_2.0 pthread_attr_getscope F -GLIBC_2.0 pthread_attr_init F -GLIBC_2.0 pthread_attr_setdetachstate F -GLIBC_2.0 pthread_attr_setinheritsched F -GLIBC_2.0 pthread_attr_setschedparam F -GLIBC_2.0 pthread_attr_setschedpolicy F -GLIBC_2.0 pthread_attr_setscope F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_destroy F -GLIBC_2.0 pthread_cond_init F -GLIBC_2.0 pthread_cond_signal F -GLIBC_2.0 pthread_cond_timedwait F -GLIBC_2.0 pthread_cond_wait F -GLIBC_2.0 pthread_condattr_destroy F -GLIBC_2.0 pthread_condattr_init F -GLIBC_2.0 pthread_equal F -GLIBC_2.0 pthread_exit F -GLIBC_2.0 pthread_getschedparam F -GLIBC_2.0 pthread_mutex_destroy F -GLIBC_2.0 pthread_mutex_init F -GLIBC_2.0 pthread_mutex_lock F -GLIBC_2.0 pthread_mutex_unlock F -GLIBC_2.0 pthread_self F -GLIBC_2.0 pthread_setcancelstate F -GLIBC_2.0 pthread_setcanceltype F -GLIBC_2.0 pthread_setschedparam F -GLIBC_2.0 ptrace F -GLIBC_2.0 putc F -GLIBC_2.0 putc_unlocked F -GLIBC_2.0 putchar F -GLIBC_2.0 putchar_unlocked F -GLIBC_2.0 putenv F -GLIBC_2.0 putpwent F -GLIBC_2.0 puts F -GLIBC_2.0 putspent F -GLIBC_2.0 pututline F -GLIBC_2.0 putw F -GLIBC_2.0 pvalloc F -GLIBC_2.0 qecvt F -GLIBC_2.0 qecvt_r F -GLIBC_2.0 qfcvt F -GLIBC_2.0 qfcvt_r F -GLIBC_2.0 qgcvt F -GLIBC_2.0 qsort F -GLIBC_2.0 query_module F -GLIBC_2.0 quotactl F -GLIBC_2.0 raise F -GLIBC_2.0 rand F -GLIBC_2.0 rand_r F -GLIBC_2.0 random F -GLIBC_2.0 random_r F -GLIBC_2.0 rcmd F -GLIBC_2.0 re_comp F -GLIBC_2.0 re_compile_fastmap F -GLIBC_2.0 re_compile_pattern F -GLIBC_2.0 re_exec F -GLIBC_2.0 re_match F -GLIBC_2.0 re_match_2 F -GLIBC_2.0 re_max_failures D 0x4 -GLIBC_2.0 re_search F -GLIBC_2.0 re_search_2 F -GLIBC_2.0 re_set_registers F -GLIBC_2.0 re_set_syntax F -GLIBC_2.0 re_syntax_options D 0x4 -GLIBC_2.0 read F -GLIBC_2.0 readdir F -GLIBC_2.0 readdir_r F -GLIBC_2.0 readlink F -GLIBC_2.0 readv F -GLIBC_2.0 realloc F -GLIBC_2.0 realpath F -GLIBC_2.0 reboot F -GLIBC_2.0 recv F -GLIBC_2.0 recvfrom F -GLIBC_2.0 recvmsg F -GLIBC_2.0 regcomp F -GLIBC_2.0 regerror F -GLIBC_2.0 regexec F -GLIBC_2.0 regfree F -GLIBC_2.0 register_printf_function F -GLIBC_2.0 registerrpc F -GLIBC_2.0 remove F -GLIBC_2.0 remque F -GLIBC_2.0 rename F -GLIBC_2.0 res_init F -GLIBC_2.0 revoke F -GLIBC_2.0 rewind F -GLIBC_2.0 rewinddir F -GLIBC_2.0 rexec F -GLIBC_2.0 rexecoptions D 0x4 -GLIBC_2.0 rindex F -GLIBC_2.0 rmdir F -GLIBC_2.0 rpc_createerr D 0x10 -GLIBC_2.0 rpmatch F -GLIBC_2.0 rresvport F -GLIBC_2.0 ruserok F -GLIBC_2.0 ruserpass F -GLIBC_2.0 sbrk F -GLIBC_2.0 scalbn F -GLIBC_2.0 scalbnf F -GLIBC_2.0 scalbnl F -GLIBC_2.0 scandir F -GLIBC_2.0 scanf F -GLIBC_2.0 sched_get_priority_max F -GLIBC_2.0 sched_get_priority_min F -GLIBC_2.0 sched_getparam F -GLIBC_2.0 sched_getscheduler F -GLIBC_2.0 sched_rr_get_interval F -GLIBC_2.0 sched_setparam F -GLIBC_2.0 sched_setscheduler F -GLIBC_2.0 sched_yield F -GLIBC_2.0 seed48 F -GLIBC_2.0 seed48_r F -GLIBC_2.0 seekdir F -GLIBC_2.0 select F -GLIBC_2.0 semctl F -GLIBC_2.0 semget F -GLIBC_2.0 semop F -GLIBC_2.0 send F -GLIBC_2.0 sendmsg F -GLIBC_2.0 sendto F -GLIBC_2.0 setaliasent F -GLIBC_2.0 setbuf F -GLIBC_2.0 setbuffer F -GLIBC_2.0 setcontext F -GLIBC_2.0 setdomainname F -GLIBC_2.0 setegid F -GLIBC_2.0 setenv F -GLIBC_2.0 seteuid F -GLIBC_2.0 setfsent F -GLIBC_2.0 setfsgid F -GLIBC_2.0 setfsuid F -GLIBC_2.0 setgid F -GLIBC_2.0 setgrent F -GLIBC_2.0 setgroups F -GLIBC_2.0 sethostent F -GLIBC_2.0 sethostid F -GLIBC_2.0 sethostname F -GLIBC_2.0 setitimer F -GLIBC_2.0 setjmp F -GLIBC_2.0 setlinebuf F -GLIBC_2.0 setlocale F -GLIBC_2.0 setlogin F -GLIBC_2.0 setlogmask F -GLIBC_2.0 setmntent F -GLIBC_2.0 setnetent F -GLIBC_2.0 setnetgrent F -GLIBC_2.0 setpgid F -GLIBC_2.0 setpgrp F -GLIBC_2.0 setpriority F -GLIBC_2.0 setprotoent F -GLIBC_2.0 setpwent F -GLIBC_2.0 setregid F -GLIBC_2.0 setresgid F -GLIBC_2.0 setresuid F -GLIBC_2.0 setreuid F -GLIBC_2.0 setrlimit F -GLIBC_2.0 setrpcent F -GLIBC_2.0 setservent F -GLIBC_2.0 setsid F -GLIBC_2.0 setsockopt F -GLIBC_2.0 setspent F -GLIBC_2.0 setstate F -GLIBC_2.0 setstate_r F -GLIBC_2.0 settimeofday F -GLIBC_2.0 setttyent F -GLIBC_2.0 setuid F -GLIBC_2.0 setusershell F -GLIBC_2.0 setutent F -GLIBC_2.0 setvbuf F -GLIBC_2.0 sgetspent F -GLIBC_2.0 sgetspent_r F -GLIBC_2.0 shmat F -GLIBC_2.0 shmctl F -GLIBC_2.0 shmdt F -GLIBC_2.0 shmget F -GLIBC_2.0 shutdown F -GLIBC_2.0 sigaction F -GLIBC_2.0 sigaddset F -GLIBC_2.0 sigaltstack F -GLIBC_2.0 sigandset F -GLIBC_2.0 sigblock F -GLIBC_2.0 sigdelset F -GLIBC_2.0 sigemptyset F -GLIBC_2.0 sigfillset F -GLIBC_2.0 siggetmask F -GLIBC_2.0 siginterrupt F -GLIBC_2.0 sigisemptyset F -GLIBC_2.0 sigismember F -GLIBC_2.0 siglongjmp F -GLIBC_2.0 signal F -GLIBC_2.0 sigorset F -GLIBC_2.0 sigpause F -GLIBC_2.0 sigpending F -GLIBC_2.0 sigprocmask F -GLIBC_2.0 sigreturn F -GLIBC_2.0 sigsetmask F -GLIBC_2.0 sigstack F -GLIBC_2.0 sigsuspend F -GLIBC_2.0 sigvec F -GLIBC_2.0 sigwait F -GLIBC_2.0 sleep F -GLIBC_2.0 snprintf F -GLIBC_2.0 socket F -GLIBC_2.0 socketpair F -GLIBC_2.0 sprintf F -GLIBC_2.0 srand F -GLIBC_2.0 srand48 F -GLIBC_2.0 srand48_r F -GLIBC_2.0 srandom F -GLIBC_2.0 srandom_r F -GLIBC_2.0 sscanf F -GLIBC_2.0 ssignal F -GLIBC_2.0 sstk F -GLIBC_2.0 statfs F -GLIBC_2.0 stderr D 0x4 -GLIBC_2.0 stdin D 0x4 -GLIBC_2.0 stdout D 0x4 -GLIBC_2.0 step F -GLIBC_2.0 stime F -GLIBC_2.0 stpcpy F -GLIBC_2.0 stpncpy F -GLIBC_2.0 strcasecmp F -GLIBC_2.0 strcat F -GLIBC_2.0 strchr F -GLIBC_2.0 strcmp F -GLIBC_2.0 strcoll F -GLIBC_2.0 strcpy F -GLIBC_2.0 strcspn F -GLIBC_2.0 strdup F -GLIBC_2.0 strerror F -GLIBC_2.0 strerror_r F -GLIBC_2.0 strfmon F -GLIBC_2.0 strfry F -GLIBC_2.0 strftime F -GLIBC_2.0 strlen F -GLIBC_2.0 strncasecmp F -GLIBC_2.0 strncat F -GLIBC_2.0 strncmp F -GLIBC_2.0 strncpy F -GLIBC_2.0 strndup F -GLIBC_2.0 strnlen F -GLIBC_2.0 strpbrk F -GLIBC_2.0 strptime F -GLIBC_2.0 strrchr F -GLIBC_2.0 strsep F -GLIBC_2.0 strsignal F -GLIBC_2.0 strspn F -GLIBC_2.0 strstr F -GLIBC_2.0 strtod F -GLIBC_2.0 strtof F -GLIBC_2.0 strtok F -GLIBC_2.0 strtok_r F -GLIBC_2.0 strtol F -GLIBC_2.0 strtold F -GLIBC_2.0 strtoll F -GLIBC_2.0 strtoq F -GLIBC_2.0 strtoul F -GLIBC_2.0 strtoull F -GLIBC_2.0 strtouq F -GLIBC_2.0 strxfrm F -GLIBC_2.0 stty F -GLIBC_2.0 svc_exit F -GLIBC_2.0 svc_fdset D 0x80 -GLIBC_2.0 svc_getreq F -GLIBC_2.0 svc_getreqset F -GLIBC_2.0 svc_register F -GLIBC_2.0 svc_run F -GLIBC_2.0 svc_sendreply F -GLIBC_2.0 svc_unregister F -GLIBC_2.0 svcauthdes_stats D 0xc -GLIBC_2.0 svcerr_auth F -GLIBC_2.0 svcerr_decode F -GLIBC_2.0 svcerr_noproc F -GLIBC_2.0 svcerr_noprog F -GLIBC_2.0 svcerr_progvers F -GLIBC_2.0 svcerr_systemerr F -GLIBC_2.0 svcerr_weakauth F -GLIBC_2.0 svcfd_create F -GLIBC_2.0 svcraw_create F -GLIBC_2.0 svctcp_create F -GLIBC_2.0 svcudp_bufcreate F -GLIBC_2.0 svcudp_create F -GLIBC_2.0 svcudp_enablecache F -GLIBC_2.0 swab F -GLIBC_2.0 swapoff F -GLIBC_2.0 swapon F -GLIBC_2.0 symlink F -GLIBC_2.0 sync F -GLIBC_2.0 sys_errlist D 0x1ec -GLIBC_2.0 sys_nerr D 0x4 -GLIBC_2.0 sys_sigabbrev D 0x80 -GLIBC_2.0 sys_siglist D 0x80 -GLIBC_2.0 syscall F -GLIBC_2.0 sysconf F -GLIBC_2.0 sysctl F -GLIBC_2.0 sysinfo F -GLIBC_2.0 syslog F -GLIBC_2.0 system F -GLIBC_2.0 tcdrain F -GLIBC_2.0 tcflow F -GLIBC_2.0 tcflush F -GLIBC_2.0 tcgetattr F -GLIBC_2.0 tcgetpgrp F -GLIBC_2.0 tcsendbreak F -GLIBC_2.0 tcsetattr F -GLIBC_2.0 tcsetpgrp F -GLIBC_2.0 tdelete F -GLIBC_2.0 telldir F -GLIBC_2.0 tempnam F -GLIBC_2.0 textdomain F -GLIBC_2.0 tfind F -GLIBC_2.0 time F -GLIBC_2.0 timegm F -GLIBC_2.0 timelocal F -GLIBC_2.0 times F -GLIBC_2.0 timezone D 0x4 -GLIBC_2.0 tmpfile F -GLIBC_2.0 tmpnam F -GLIBC_2.0 tmpnam_r F -GLIBC_2.0 toascii F -GLIBC_2.0 tolower F -GLIBC_2.0 toupper F -GLIBC_2.0 towctrans F -GLIBC_2.0 towlower F -GLIBC_2.0 towupper F -GLIBC_2.0 tr_break F -GLIBC_2.0 truncate F -GLIBC_2.0 tsearch F -GLIBC_2.0 ttyname F -GLIBC_2.0 ttyname_r F -GLIBC_2.0 ttyslot F -GLIBC_2.0 twalk F -GLIBC_2.0 tzname D 0x8 -GLIBC_2.0 tzset F -GLIBC_2.0 ualarm F -GLIBC_2.0 ulckpwdf F -GLIBC_2.0 ulimit F -GLIBC_2.0 umask F -GLIBC_2.0 umount F -GLIBC_2.0 uname F -GLIBC_2.0 ungetc F -GLIBC_2.0 unlink F -GLIBC_2.0 unsetenv F -GLIBC_2.0 updwtmp F -GLIBC_2.0 uselib F -GLIBC_2.0 usleep F -GLIBC_2.0 ustat F -GLIBC_2.0 utime F -GLIBC_2.0 utimes F -GLIBC_2.0 utmpname F -GLIBC_2.0 valloc F -GLIBC_2.0 vasprintf F -GLIBC_2.0 vdprintf F -GLIBC_2.0 verr F -GLIBC_2.0 verrx F -GLIBC_2.0 vfork F -GLIBC_2.0 vfprintf F -GLIBC_2.0 vfscanf F -GLIBC_2.0 vhangup F -GLIBC_2.0 vlimit F -GLIBC_2.0 vm86 F -GLIBC_2.0 vprintf F -GLIBC_2.0 vscanf F -GLIBC_2.0 vsnprintf F -GLIBC_2.0 vsprintf F -GLIBC_2.0 vsscanf F -GLIBC_2.0 vsyslog F -GLIBC_2.0 vtimes F -GLIBC_2.0 vwarn F -GLIBC_2.0 vwarnx F -GLIBC_2.0 wait F -GLIBC_2.0 wait3 F -GLIBC_2.0 wait4 F -GLIBC_2.0 waitpid F -GLIBC_2.0 warn F -GLIBC_2.0 warnx F -GLIBC_2.0 wcpcpy F -GLIBC_2.0 wcpncpy F -GLIBC_2.0 wcrtomb F -GLIBC_2.0 wcscat F -GLIBC_2.0 wcschr F -GLIBC_2.0 wcscmp F -GLIBC_2.0 wcscoll F -GLIBC_2.0 wcscpy F -GLIBC_2.0 wcscspn F -GLIBC_2.0 wcsdup F -GLIBC_2.0 wcslen F -GLIBC_2.0 wcsncat F -GLIBC_2.0 wcsncmp F -GLIBC_2.0 wcsncpy F -GLIBC_2.0 wcsnrtombs F -GLIBC_2.0 wcspbrk F -GLIBC_2.0 wcsrchr F -GLIBC_2.0 wcsrtombs F -GLIBC_2.0 wcsspn F -GLIBC_2.0 wcsstr F -GLIBC_2.0 wcstod F -GLIBC_2.0 wcstof F -GLIBC_2.0 wcstok F -GLIBC_2.0 wcstol F -GLIBC_2.0 wcstold F -GLIBC_2.0 wcstombs F -GLIBC_2.0 wcstoq F -GLIBC_2.0 wcstoul F -GLIBC_2.0 wcstouq F -GLIBC_2.0 wcswidth F -GLIBC_2.0 wcsxfrm F -GLIBC_2.0 wctob F -GLIBC_2.0 wctomb F -GLIBC_2.0 wctrans F -GLIBC_2.0 wctype F -GLIBC_2.0 wcwidth F -GLIBC_2.0 wmemchr F -GLIBC_2.0 wmemcmp F -GLIBC_2.0 wmemcpy F -GLIBC_2.0 wmemmove F -GLIBC_2.0 wmemset F -GLIBC_2.0 write F -GLIBC_2.0 writev F -GLIBC_2.0 xdr_accepted_reply F -GLIBC_2.0 xdr_array F -GLIBC_2.0 xdr_authunix_parms F -GLIBC_2.0 xdr_bool F -GLIBC_2.0 xdr_bytes F -GLIBC_2.0 xdr_callhdr F -GLIBC_2.0 xdr_callmsg F -GLIBC_2.0 xdr_char F -GLIBC_2.0 xdr_cryptkeyarg F -GLIBC_2.0 xdr_cryptkeyarg2 F -GLIBC_2.0 xdr_cryptkeyres F -GLIBC_2.0 xdr_des_block F -GLIBC_2.0 xdr_double F -GLIBC_2.0 xdr_enum F -GLIBC_2.0 xdr_float F -GLIBC_2.0 xdr_free F -GLIBC_2.0 xdr_int F -GLIBC_2.0 xdr_key_netstarg F -GLIBC_2.0 xdr_key_netstres F -GLIBC_2.0 xdr_keybuf F -GLIBC_2.0 xdr_keystatus F -GLIBC_2.0 xdr_long F -GLIBC_2.0 xdr_netobj F -GLIBC_2.0 xdr_opaque F -GLIBC_2.0 xdr_opaque_auth F -GLIBC_2.0 xdr_pmap F -GLIBC_2.0 xdr_pmaplist F -GLIBC_2.0 xdr_pointer F -GLIBC_2.0 xdr_reference F -GLIBC_2.0 xdr_rejected_reply F -GLIBC_2.0 xdr_replymsg F -GLIBC_2.0 xdr_rmtcall_args F -GLIBC_2.0 xdr_rmtcallres F -GLIBC_2.0 xdr_short F -GLIBC_2.0 xdr_string F -GLIBC_2.0 xdr_u_char F -GLIBC_2.0 xdr_u_int F -GLIBC_2.0 xdr_u_long F -GLIBC_2.0 xdr_u_short F -GLIBC_2.0 xdr_union F -GLIBC_2.0 xdr_vector F -GLIBC_2.0 xdr_void F -GLIBC_2.0 xdr_wrapstring F -GLIBC_2.0 xdrmem_create F -GLIBC_2.0 xdrrec_create F -GLIBC_2.0 xdrrec_endofrecord F -GLIBC_2.0 xdrrec_eof F -GLIBC_2.0 xdrrec_skiprecord F -GLIBC_2.0 xdrstdio_create F -GLIBC_2.0 xencrypt F -GLIBC_2.0 xprt_register F -GLIBC_2.0 xprt_unregister F -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 _IO_2_1_stderr_ D 0x98 -GLIBC_2.1 _IO_2_1_stdin_ D 0x98 -GLIBC_2.1 _IO_2_1_stdout_ D 0x98 -GLIBC_2.1 _IO_do_write F -GLIBC_2.1 _IO_fclose F -GLIBC_2.1 _IO_fdopen F -GLIBC_2.1 _IO_fgetpos64 F -GLIBC_2.1 _IO_file_attach F -GLIBC_2.1 _IO_file_close_it F -GLIBC_2.1 _IO_file_finish F -GLIBC_2.1 _IO_file_fopen F -GLIBC_2.1 _IO_file_init F -GLIBC_2.1 _IO_file_overflow F -GLIBC_2.1 _IO_file_seekoff F -GLIBC_2.1 _IO_file_setbuf F -GLIBC_2.1 _IO_file_sync F -GLIBC_2.1 _IO_file_underflow F -GLIBC_2.1 _IO_file_write F -GLIBC_2.1 _IO_file_xsputn F -GLIBC_2.1 _IO_fopen F -GLIBC_2.1 _IO_fsetpos64 F -GLIBC_2.1 _IO_getline_info F -GLIBC_2.1 _IO_popen F -GLIBC_2.1 _IO_proc_close F -GLIBC_2.1 _IO_proc_open F -GLIBC_2.1 __asprintf F -GLIBC_2.1 __backtrace F -GLIBC_2.1 __backtrace_symbols F -GLIBC_2.1 __backtrace_symbols_fd F -GLIBC_2.1 __duplocale F -GLIBC_2.1 __freelocale F -GLIBC_2.1 __fxstat64 F -GLIBC_2.1 __isalnum_l F -GLIBC_2.1 __isalpha_l F -GLIBC_2.1 __isascii_l F -GLIBC_2.1 __isblank_l F -GLIBC_2.1 __iscntrl_l F -GLIBC_2.1 __isdigit_l F -GLIBC_2.1 __isgraph_l F -GLIBC_2.1 __islower_l F -GLIBC_2.1 __isprint_l F -GLIBC_2.1 __ispunct_l F -GLIBC_2.1 __isspace_l F -GLIBC_2.1 __isupper_l F -GLIBC_2.1 __iswalnum_l F -GLIBC_2.1 __iswalpha_l F -GLIBC_2.1 __iswblank_l F -GLIBC_2.1 __iswcntrl_l F -GLIBC_2.1 __iswctype_l F -GLIBC_2.1 __iswdigit_l F -GLIBC_2.1 __iswgraph_l F -GLIBC_2.1 __iswlower_l F -GLIBC_2.1 __iswprint_l F -GLIBC_2.1 __iswpunct_l F -GLIBC_2.1 __iswspace_l F -GLIBC_2.1 __iswupper_l F -GLIBC_2.1 __iswxdigit_l F -GLIBC_2.1 __isxdigit_l F -GLIBC_2.1 __key_decryptsession_pk_LOCAL D 0x4 -GLIBC_2.1 __key_encryptsession_pk_LOCAL D 0x4 -GLIBC_2.1 __key_gendes_LOCAL D 0x4 -GLIBC_2.1 __libc_allocate_rtsig F -GLIBC_2.1 __libc_current_sigrtmax F -GLIBC_2.1 __libc_current_sigrtmin F -GLIBC_2.1 __libc_freeres F -GLIBC_2.1 __libc_sa_len F -GLIBC_2.1 __lxstat64 F -GLIBC_2.1 __newlocale F -GLIBC_2.1 __poll F -GLIBC_2.1 __pread64 F -GLIBC_2.1 __pwrite64 F -GLIBC_2.1 __rawmemchr F -GLIBC_2.1 __signbit F -GLIBC_2.1 __signbitf F -GLIBC_2.1 __signbitl F -GLIBC_2.1 __strcasecmp_l F -GLIBC_2.1 __strcasestr F -GLIBC_2.1 __strcoll_l F -GLIBC_2.1 __strfmon_l F -GLIBC_2.1 __strncasecmp_l F -GLIBC_2.1 __strtod_l F -GLIBC_2.1 __strtof_l F -GLIBC_2.1 __strtol_l F -GLIBC_2.1 __strtold_l F -GLIBC_2.1 __strtoll_l F -GLIBC_2.1 __strtoul_l F -GLIBC_2.1 __strtoull_l F -GLIBC_2.1 __strxfrm_l F -GLIBC_2.1 __toascii_l F -GLIBC_2.1 __tolower_l F -GLIBC_2.1 __toupper_l F -GLIBC_2.1 __towctrans F -GLIBC_2.1 __towctrans_l F -GLIBC_2.1 __towlower_l F -GLIBC_2.1 __towupper_l F -GLIBC_2.1 __wcscasecmp_l F -GLIBC_2.1 __wcscoll_l F -GLIBC_2.1 __wcsncasecmp_l F -GLIBC_2.1 __wcstod_l F -GLIBC_2.1 __wcstof_l F -GLIBC_2.1 __wcstol_l F -GLIBC_2.1 __wcstold_l F -GLIBC_2.1 __wcstoll_l F -GLIBC_2.1 __wcstoul_l F -GLIBC_2.1 __wcstoull_l F -GLIBC_2.1 __wcsxfrm_l F -GLIBC_2.1 __wctype_l F -GLIBC_2.1 __xstat64 F -GLIBC_2.1 _authenticate F -GLIBC_2.1 _dl_mcount_wrapper F -GLIBC_2.1 _dl_mcount_wrapper_check F -GLIBC_2.1 _sys_errlist D 0x1f4 -GLIBC_2.1 _sys_nerr D 0x4 -GLIBC_2.1 _sys_siglist D 0x100 -GLIBC_2.1 addseverity F -GLIBC_2.1 alphasort64 F -GLIBC_2.1 argp_err_exit_status D 0x4 -GLIBC_2.1 argp_error F -GLIBC_2.1 argp_failure F -GLIBC_2.1 argp_help F -GLIBC_2.1 argp_parse F -GLIBC_2.1 argp_program_bug_address D 0x4 -GLIBC_2.1 argp_program_version D 0x4 -GLIBC_2.1 argp_program_version_hook D 0x4 -GLIBC_2.1 argp_state_help F -GLIBC_2.1 argp_usage F -GLIBC_2.1 authdes_create F -GLIBC_2.1 authdes_getucred F -GLIBC_2.1 authdes_pk_create F -GLIBC_2.1 backtrace F -GLIBC_2.1 backtrace_symbols F -GLIBC_2.1 backtrace_symbols_fd F -GLIBC_2.1 capget F -GLIBC_2.1 capset F -GLIBC_2.1 cbc_crypt F -GLIBC_2.1 chown F -GLIBC_2.1 clntunix_create F -GLIBC_2.1 creat64 F -GLIBC_2.1 des_setparity F -GLIBC_2.1 ecb_crypt F -GLIBC_2.1 endutxent F -GLIBC_2.1 fattach F -GLIBC_2.1 fclose F -GLIBC_2.1 fdetach F -GLIBC_2.1 fdopen F -GLIBC_2.1 ffsl F -GLIBC_2.1 ffsll F -GLIBC_2.1 fgetc_unlocked F -GLIBC_2.1 fgetpos64 F -GLIBC_2.1 fgets_unlocked F -GLIBC_2.1 fmtmsg F -GLIBC_2.1 fopen F -GLIBC_2.1 fopen64 F -GLIBC_2.1 fputs_unlocked F -GLIBC_2.1 fread_unlocked F -GLIBC_2.1 freopen64 F -GLIBC_2.1 fseeko F -GLIBC_2.1 fseeko64 F -GLIBC_2.1 fsetpos64 F -GLIBC_2.1 fstatfs64 F -GLIBC_2.1 fstatvfs F -GLIBC_2.1 fstatvfs64 F -GLIBC_2.1 ftello F -GLIBC_2.1 ftello64 F -GLIBC_2.1 ftruncate64 F -GLIBC_2.1 ftw64 F -GLIBC_2.1 fwrite_unlocked F -GLIBC_2.1 gai_strerror F -GLIBC_2.1 getcontext F -GLIBC_2.1 getdate F -GLIBC_2.1 getdate_err D 0x4 -GLIBC_2.1 getdate_r F -GLIBC_2.1 getmsg F -GLIBC_2.1 getnameinfo F -GLIBC_2.1 getnetname F -GLIBC_2.1 getpmsg F -GLIBC_2.1 getpt F -GLIBC_2.1 getrlimit64 F -GLIBC_2.1 getutxent F -GLIBC_2.1 getutxid F -GLIBC_2.1 getutxline F -GLIBC_2.1 glob64 F -GLIBC_2.1 globfree64 F -GLIBC_2.1 gnu_get_libc_release F -GLIBC_2.1 gnu_get_libc_version F -GLIBC_2.1 grantpt F -GLIBC_2.1 host2netname F -GLIBC_2.1 iconv F -GLIBC_2.1 iconv_close F -GLIBC_2.1 iconv_open F -GLIBC_2.1 if_freenameindex F -GLIBC_2.1 if_indextoname F -GLIBC_2.1 if_nameindex F -GLIBC_2.1 if_nametoindex F -GLIBC_2.1 in6addr_any D 0x10 -GLIBC_2.1 in6addr_loopback D 0x10 -GLIBC_2.1 isastream F -GLIBC_2.1 iswblank F -GLIBC_2.1 key_decryptsession F -GLIBC_2.1 key_decryptsession_pk F -GLIBC_2.1 key_encryptsession F -GLIBC_2.1 key_encryptsession_pk F -GLIBC_2.1 key_gendes F -GLIBC_2.1 key_get_conv F -GLIBC_2.1 key_secretkey_is_set F -GLIBC_2.1 key_setnet F -GLIBC_2.1 key_setsecret F -GLIBC_2.1 lockf64 F -GLIBC_2.1 lseek64 F -GLIBC_2.1 makecontext F -GLIBC_2.1 mempcpy F -GLIBC_2.1 mmap64 F -GLIBC_2.1 modify_ldt F -GLIBC_2.1 netname2host F -GLIBC_2.1 netname2user F -GLIBC_2.1 nftw F -GLIBC_2.1 nftw64 F -GLIBC_2.1 ntp_adjtime F -GLIBC_2.1 ntp_gettime F -GLIBC_2.1 open64 F -GLIBC_2.1 passwd2des F -GLIBC_2.1 pclose F -GLIBC_2.1 popen F -GLIBC_2.1 pread F -GLIBC_2.1 pread64 F -GLIBC_2.1 printf_size F -GLIBC_2.1 printf_size_info F -GLIBC_2.1 pthread_attr_init F -GLIBC_2.1 ptsname F -GLIBC_2.1 ptsname_r F -GLIBC_2.1 putgrent F -GLIBC_2.1 putmsg F -GLIBC_2.1 putpmsg F -GLIBC_2.1 pututxline F -GLIBC_2.1 pwrite F -GLIBC_2.1 pwrite64 F -GLIBC_2.1 rawmemchr F -GLIBC_2.1 readdir64 F -GLIBC_2.1 readdir64_r F -GLIBC_2.1 rtime F -GLIBC_2.1 scalbln F -GLIBC_2.1 scalblnf F -GLIBC_2.1 scalblnl F -GLIBC_2.1 scandir64 F -GLIBC_2.1 sendfile F -GLIBC_2.1 setrlimit64 F -GLIBC_2.1 setutxent F -GLIBC_2.1 sighold F -GLIBC_2.1 sigignore F -GLIBC_2.1 sigqueue F -GLIBC_2.1 sigrelse F -GLIBC_2.1 sigset F -GLIBC_2.1 sigtimedwait F -GLIBC_2.1 sigwaitinfo F -GLIBC_2.1 statfs64 F -GLIBC_2.1 statvfs F -GLIBC_2.1 statvfs64 F -GLIBC_2.1 strcasestr F -GLIBC_2.1 strtoimax F -GLIBC_2.1 strtoumax F -GLIBC_2.1 strverscmp F -GLIBC_2.1 svcunix_create F -GLIBC_2.1 svcunixfd_create F -GLIBC_2.1 swapcontext F -GLIBC_2.1 sys_errlist D 0x1f4 -GLIBC_2.1 sys_nerr D 0x4 -GLIBC_2.1 sys_sigabbrev D 0x100 -GLIBC_2.1 sys_siglist D 0x100 -GLIBC_2.1 sysv_signal F -GLIBC_2.1 tcgetsid F -GLIBC_2.1 tdestroy F -GLIBC_2.1 tmpfile F -GLIBC_2.1 tmpfile64 F -GLIBC_2.1 truncate64 F -GLIBC_2.1 umount2 F -GLIBC_2.1 unlockpt F -GLIBC_2.1 updwtmpx F -GLIBC_2.1 user2netname F -GLIBC_2.1 utmpxname F -GLIBC_2.1 versionsort F -GLIBC_2.1 versionsort64 F -GLIBC_2.1 waitid F -GLIBC_2.1 wcscasecmp F -GLIBC_2.1 wcsncasecmp F -GLIBC_2.1 wcsnlen F -GLIBC_2.1 wcstoimax F -GLIBC_2.1 wcstoll F -GLIBC_2.1 wcstoull F -GLIBC_2.1 wcstoumax F -GLIBC_2.1 wcswcs F -GLIBC_2.1 wordexp F -GLIBC_2.1 wordfree F -GLIBC_2.1 xdecrypt F -GLIBC_2.1 xdr_authdes_cred F -GLIBC_2.1 xdr_authdes_verf F -GLIBC_2.1 xdr_getcredres F -GLIBC_2.1 xdr_int16_t F -GLIBC_2.1 xdr_int32_t F -GLIBC_2.1 xdr_int8_t F -GLIBC_2.1 xdr_netnamestr F -GLIBC_2.1 xdr_sizeof F -GLIBC_2.1 xdr_uint16_t F -GLIBC_2.1 xdr_uint32_t F -GLIBC_2.1 xdr_uint8_t F -GLIBC_2.1 xdr_unixcred F -GLIBC_2.1.1 GLIBC_2.1.1 A -GLIBC_2.1.1 _Exit F -GLIBC_2.1.1 __memcpy_by2 F -GLIBC_2.1.1 __memcpy_by4 F -GLIBC_2.1.1 __memcpy_c F -GLIBC_2.1.1 __memcpy_g F -GLIBC_2.1.1 __mempcpy_by2 F -GLIBC_2.1.1 __mempcpy_by4 F -GLIBC_2.1.1 __mempcpy_byn F -GLIBC_2.1.1 __mempcpy_small F -GLIBC_2.1.1 __memset_cc F -GLIBC_2.1.1 __memset_ccn_by2 F -GLIBC_2.1.1 __memset_ccn_by4 F -GLIBC_2.1.1 __memset_cg F -GLIBC_2.1.1 __memset_gcn_by2 F -GLIBC_2.1.1 __memset_gcn_by4 F -GLIBC_2.1.1 __memset_gg F -GLIBC_2.1.1 __stpcpy_g F -GLIBC_2.1.1 __stpcpy_small F -GLIBC_2.1.1 __strcat_c F -GLIBC_2.1.1 __strcat_g F -GLIBC_2.1.1 __strchr_c F -GLIBC_2.1.1 __strchr_g F -GLIBC_2.1.1 __strchrnul_c F -GLIBC_2.1.1 __strchrnul_g F -GLIBC_2.1.1 __strcmp_gg F -GLIBC_2.1.1 __strcpy_g F -GLIBC_2.1.1 __strcpy_small F -GLIBC_2.1.1 __strcspn_c1 F -GLIBC_2.1.1 __strcspn_c2 F -GLIBC_2.1.1 __strcspn_c3 F -GLIBC_2.1.1 __strcspn_cg F -GLIBC_2.1.1 __strcspn_g F -GLIBC_2.1.1 __strlen_g F -GLIBC_2.1.1 __strncat_g F -GLIBC_2.1.1 __strncmp_g F -GLIBC_2.1.1 __strncpy_by2 F -GLIBC_2.1.1 __strncpy_by4 F -GLIBC_2.1.1 __strncpy_byn F -GLIBC_2.1.1 __strncpy_gg F -GLIBC_2.1.1 __strpbrk_c2 F -GLIBC_2.1.1 __strpbrk_c3 F -GLIBC_2.1.1 __strpbrk_cg F -GLIBC_2.1.1 __strpbrk_g F -GLIBC_2.1.1 __strrchr_c F -GLIBC_2.1.1 __strrchr_g F -GLIBC_2.1.1 __strsep_1c F -GLIBC_2.1.1 __strsep_2c F -GLIBC_2.1.1 __strsep_3c F -GLIBC_2.1.1 __strsep_g F -GLIBC_2.1.1 __strspn_c1 F -GLIBC_2.1.1 __strspn_c2 F -GLIBC_2.1.1 __strspn_c3 F -GLIBC_2.1.1 __strspn_cg F -GLIBC_2.1.1 __strspn_g F -GLIBC_2.1.1 __strstr_cg F -GLIBC_2.1.1 __strstr_g F -GLIBC_2.1.1 __strtok_r_1c F -GLIBC_2.1.1 __strverscmp F -GLIBC_2.1.1 getutmp F -GLIBC_2.1.1 getutmpx F -GLIBC_2.1.1 imaxabs F -GLIBC_2.1.1 imaxdiv F -GLIBC_2.1.1 strchrnul F -GLIBC_2.1.1 xdr_hyper F -GLIBC_2.1.1 xdr_int64_t F -GLIBC_2.1.1 xdr_longlong_t F -GLIBC_2.1.1 xdr_u_hyper F -GLIBC_2.1.1 xdr_u_longlong_t F -GLIBC_2.1.1 xdr_uint64_t F -GLIBC_2.1.2 GLIBC_2.1.2 A -GLIBC_2.1.2 __vfork F -GLIBC_2.1.2 getaliasbyname_r F -GLIBC_2.1.2 getaliasent_r F -GLIBC_2.1.2 getgrent_r F -GLIBC_2.1.2 getgrgid_r F -GLIBC_2.1.2 getgrnam_r F -GLIBC_2.1.2 gethostbyaddr_r F -GLIBC_2.1.2 gethostbyname2_r F -GLIBC_2.1.2 gethostbyname_r F -GLIBC_2.1.2 gethostent_r F -GLIBC_2.1.2 getnetbyaddr_r F -GLIBC_2.1.2 getnetbyname_r F -GLIBC_2.1.2 getnetent_r F -GLIBC_2.1.2 getprotobyname_r F -GLIBC_2.1.2 getprotobynumber_r F -GLIBC_2.1.2 getprotoent_r F -GLIBC_2.1.2 getpwent_r F -GLIBC_2.1.2 getpwnam_r F -GLIBC_2.1.2 getpwuid_r F -GLIBC_2.1.2 getrpcbyname_r F -GLIBC_2.1.2 getrpcbynumber_r F -GLIBC_2.1.2 getrpcent_r F -GLIBC_2.1.2 getservbyname_r F -GLIBC_2.1.2 getservbyport_r F -GLIBC_2.1.2 getservent_r F -GLIBC_2.1.2 getspent_r F -GLIBC_2.1.2 getspnam_r F -GLIBC_2.1.3 GLIBC_2.1.3 A -GLIBC_2.1.3 __cxa_atexit F -GLIBC_2.1.3 __cxa_finalize F -GLIBC_2.1.3 __sigsuspend F -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 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 fallocate64 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 0x21c -GLIBC_2.12 _sys_nerr D 0x4 -GLIBC_2.12 ntp_gettimex F -GLIBC_2.12 recvmmsg F -GLIBC_2.12 sys_errlist D 0x21c -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 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 GLIBC_2.2 A -GLIBC_2.2 _IO_adjust_wcolumn F -GLIBC_2.2 _IO_fgetpos F -GLIBC_2.2 _IO_fgetpos64 F -GLIBC_2.2 _IO_free_wbackup_area F -GLIBC_2.2 _IO_fsetpos F -GLIBC_2.2 _IO_fsetpos64 F -GLIBC_2.2 _IO_init_wmarker F -GLIBC_2.2 _IO_iter_begin F -GLIBC_2.2 _IO_iter_end F -GLIBC_2.2 _IO_iter_file F -GLIBC_2.2 _IO_iter_next F -GLIBC_2.2 _IO_least_wmarker F -GLIBC_2.2 _IO_list_lock F -GLIBC_2.2 _IO_list_resetlock F -GLIBC_2.2 _IO_list_unlock F -GLIBC_2.2 _IO_seekwmark F -GLIBC_2.2 _IO_sputbackwc F -GLIBC_2.2 _IO_sungetwc F -GLIBC_2.2 _IO_switch_to_main_wget_area F -GLIBC_2.2 _IO_switch_to_wbackup_area F -GLIBC_2.2 _IO_switch_to_wget_mode F -GLIBC_2.2 _IO_unsave_wmarkers F -GLIBC_2.2 _IO_wdefault_doallocate F -GLIBC_2.2 _IO_wdefault_finish F -GLIBC_2.2 _IO_wdefault_pbackfail F -GLIBC_2.2 _IO_wdefault_uflow F -GLIBC_2.2 _IO_wdefault_xsgetn F -GLIBC_2.2 _IO_wdefault_xsputn F -GLIBC_2.2 _IO_wdo_write F -GLIBC_2.2 _IO_wdoallocbuf F -GLIBC_2.2 _IO_wfile_jumps D 0x54 -GLIBC_2.2 _IO_wfile_overflow F -GLIBC_2.2 _IO_wfile_seekoff F -GLIBC_2.2 _IO_wfile_sync F -GLIBC_2.2 _IO_wfile_underflow F -GLIBC_2.2 _IO_wfile_xsputn F -GLIBC_2.2 _IO_wmarker_delta F -GLIBC_2.2 _IO_wsetb F -GLIBC_2.2 __assert F -GLIBC_2.2 __ctype32_tolower D 0x4 -GLIBC_2.2 __ctype32_toupper D 0x4 -GLIBC_2.2 __cyg_profile_func_enter F -GLIBC_2.2 __cyg_profile_func_exit F -GLIBC_2.2 __endmntent F -GLIBC_2.2 __fbufsize F -GLIBC_2.2 __flbf F -GLIBC_2.2 __fpending F -GLIBC_2.2 __fpurge F -GLIBC_2.2 __freadable F -GLIBC_2.2 __freading F -GLIBC_2.2 __fsetlocking F -GLIBC_2.2 __fwritable F -GLIBC_2.2 __fwriting F -GLIBC_2.2 __fxstat64 F -GLIBC_2.2 __getmntent_r F -GLIBC_2.2 __lxstat64 F -GLIBC_2.2 __nl_langinfo_l F -GLIBC_2.2 __open64 F -GLIBC_2.2 __res_init F -GLIBC_2.2 __res_nclose F -GLIBC_2.2 __res_ninit F -GLIBC_2.2 __res_state F -GLIBC_2.2 __setmntent F -GLIBC_2.2 __statfs F -GLIBC_2.2 __strndup F -GLIBC_2.2 __sysconf F -GLIBC_2.2 __sysctl F -GLIBC_2.2 __wctrans_l F -GLIBC_2.2 __woverflow F -GLIBC_2.2 __wuflow F -GLIBC_2.2 __wunderflow F -GLIBC_2.2 __xpg_sigpause F -GLIBC_2.2 __xstat64 F -GLIBC_2.2 _flushlbf F -GLIBC_2.2 _res_hconf D 0x30 -GLIBC_2.2 alphasort64 F -GLIBC_2.2 bind_textdomain_codeset F -GLIBC_2.2 dcngettext F -GLIBC_2.2 dngettext F -GLIBC_2.2 fgetpos F -GLIBC_2.2 fgetpos64 F -GLIBC_2.2 fgetwc F -GLIBC_2.2 fgetwc_unlocked F -GLIBC_2.2 fgetws F -GLIBC_2.2 fgetws_unlocked F -GLIBC_2.2 fmemopen F -GLIBC_2.2 fopencookie F -GLIBC_2.2 fputwc F -GLIBC_2.2 fputwc_unlocked F -GLIBC_2.2 fputws F -GLIBC_2.2 fputws_unlocked F -GLIBC_2.2 fsetpos F -GLIBC_2.2 fsetpos64 F -GLIBC_2.2 fwide F -GLIBC_2.2 fwprintf F -GLIBC_2.2 fwscanf F -GLIBC_2.2 getdirentries64 F -GLIBC_2.2 getloadavg F -GLIBC_2.2 getrlimit F -GLIBC_2.2 getrlimit64 F -GLIBC_2.2 getwc F -GLIBC_2.2 getwc_unlocked F -GLIBC_2.2 getwchar F -GLIBC_2.2 getwchar_unlocked F -GLIBC_2.2 glob64 F -GLIBC_2.2 iruserok_af F -GLIBC_2.2 localeconv F -GLIBC_2.2 mcheck_check_all F -GLIBC_2.2 mcheck_pedantic F -GLIBC_2.2 memrchr F -GLIBC_2.2 mincore F -GLIBC_2.2 mkdtemp F -GLIBC_2.2 mkstemp64 F -GLIBC_2.2 moncontrol F -GLIBC_2.2 msgctl F -GLIBC_2.2 ngettext F -GLIBC_2.2 posix_fadvise F -GLIBC_2.2 posix_fadvise64 F -GLIBC_2.2 posix_fallocate F -GLIBC_2.2 posix_fallocate64 F -GLIBC_2.2 posix_madvise F -GLIBC_2.2 posix_memalign F -GLIBC_2.2 posix_spawn F -GLIBC_2.2 posix_spawn_file_actions_addclose F -GLIBC_2.2 posix_spawn_file_actions_adddup2 F -GLIBC_2.2 posix_spawn_file_actions_addopen F -GLIBC_2.2 posix_spawn_file_actions_destroy F -GLIBC_2.2 posix_spawn_file_actions_init F -GLIBC_2.2 posix_spawnattr_destroy F -GLIBC_2.2 posix_spawnattr_getflags F -GLIBC_2.2 posix_spawnattr_getpgroup F -GLIBC_2.2 posix_spawnattr_getschedparam F -GLIBC_2.2 posix_spawnattr_getschedpolicy F -GLIBC_2.2 posix_spawnattr_getsigdefault F -GLIBC_2.2 posix_spawnattr_getsigmask F -GLIBC_2.2 posix_spawnattr_init F -GLIBC_2.2 posix_spawnattr_setflags F -GLIBC_2.2 posix_spawnattr_setpgroup F -GLIBC_2.2 posix_spawnattr_setschedparam F -GLIBC_2.2 posix_spawnattr_setschedpolicy F -GLIBC_2.2 posix_spawnattr_setsigdefault F -GLIBC_2.2 posix_spawnattr_setsigmask F -GLIBC_2.2 posix_spawnp F -GLIBC_2.2 putwc F -GLIBC_2.2 putwc_unlocked F -GLIBC_2.2 putwchar F -GLIBC_2.2 putwchar_unlocked F -GLIBC_2.2 rcmd_af F -GLIBC_2.2 readdir64 F -GLIBC_2.2 readdir64_r F -GLIBC_2.2 rexec_af F -GLIBC_2.2 rresvport_af F -GLIBC_2.2 ruserok_af F -GLIBC_2.2 scandir64 F -GLIBC_2.2 semctl F -GLIBC_2.2 setrlimit F -GLIBC_2.2 shmctl F -GLIBC_2.2 svc_getreq_common F -GLIBC_2.2 svc_getreq_poll F -GLIBC_2.2 svc_max_pollfd D 0x4 -GLIBC_2.2 svc_pollfd D 0x4 -GLIBC_2.2 swprintf F -GLIBC_2.2 swscanf F -GLIBC_2.2 ungetwc F -GLIBC_2.2 versionsort64 F -GLIBC_2.2 vfwprintf F -GLIBC_2.2 vfwscanf F -GLIBC_2.2 vswprintf F -GLIBC_2.2 vswscanf F -GLIBC_2.2 vwprintf F -GLIBC_2.2 vwscanf F -GLIBC_2.2 wcschrnul F -GLIBC_2.2 wcsftime F -GLIBC_2.2 wmempcpy F -GLIBC_2.2 wprintf F -GLIBC_2.2 wscanf F -GLIBC_2.2.1 GLIBC_2.2.1 A -GLIBC_2.2.1 pivot_root F -GLIBC_2.2.1 posix_openpt F -GLIBC_2.2.2 GLIBC_2.2.2 A -GLIBC_2.2.2 __nss_hostname_digits_dots F -GLIBC_2.2.3 GLIBC_2.2.3 A -GLIBC_2.2.3 __rpc_thread_createerr F -GLIBC_2.2.3 __rpc_thread_svc_fdset F -GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F -GLIBC_2.2.3 __rpc_thread_svc_pollfd F -GLIBC_2.2.3 fnmatch F -GLIBC_2.2.3 sprofil F -GLIBC_2.2.4 GLIBC_2.2.4 A -GLIBC_2.2.4 dl_iterate_phdr F -GLIBC_2.2.4 getgrouplist F -GLIBC_2.2.4 sockatmark 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 0x1f8 -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 strtoll_l F -GLIBC_2.3 strtoul_l F -GLIBC_2.3 strtoull_l F -GLIBC_2.3 strxfrm_l F -GLIBC_2.3 sys_errlist D 0x1f8 -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 0x104 -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 posix_fadvise64 F -GLIBC_2.3.3 posix_fallocate64 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 sys_sigabbrev D 0x104 -GLIBC_2.3.3 sys_siglist D 0x104 -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 vm86 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 0x210 -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 0x210 -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/sysdeps/unix/sysv/linux/i386/libcrypt.abilist b/sysdeps/unix/sysv/linux/i386/libcrypt.abilist deleted file mode 100644 index 4db2639336..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libcrypt.abilist +++ /dev/null @@ -1,8 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 crypt F -GLIBC_2.0 crypt_r F -GLIBC_2.0 encrypt F -GLIBC_2.0 encrypt_r F -GLIBC_2.0 fcrypt F -GLIBC_2.0 setkey F -GLIBC_2.0 setkey_r F diff --git a/sysdeps/unix/sysv/linux/i386/libdl.abilist b/sysdeps/unix/sysv/linux/i386/libdl.abilist deleted file mode 100644 index 5536f6e0a9..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libdl.abilist +++ /dev/null @@ -1,14 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 dladdr F -GLIBC_2.0 dlclose F -GLIBC_2.0 dlerror F -GLIBC_2.0 dlopen F -GLIBC_2.0 dlsym F -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 dlopen F -GLIBC_2.1 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/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist deleted file mode 100644 index 761e4420f9..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ /dev/null @@ -1,476 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 _LIB_VERSION D 0x4 -GLIBC_2.0 acos F -GLIBC_2.0 acosf F -GLIBC_2.0 acosh F -GLIBC_2.0 acoshf F -GLIBC_2.0 acoshl F -GLIBC_2.0 acosl F -GLIBC_2.0 asin F -GLIBC_2.0 asinf F -GLIBC_2.0 asinh F -GLIBC_2.0 asinhf F -GLIBC_2.0 asinhl F -GLIBC_2.0 asinl F -GLIBC_2.0 atan F -GLIBC_2.0 atan2 F -GLIBC_2.0 atan2f F -GLIBC_2.0 atan2l F -GLIBC_2.0 atanf F -GLIBC_2.0 atanh F -GLIBC_2.0 atanhf F -GLIBC_2.0 atanhl F -GLIBC_2.0 atanl F -GLIBC_2.0 cbrt F -GLIBC_2.0 cbrtf F -GLIBC_2.0 cbrtl F -GLIBC_2.0 ceil F -GLIBC_2.0 ceilf F -GLIBC_2.0 ceill F -GLIBC_2.0 copysign F -GLIBC_2.0 copysignf F -GLIBC_2.0 copysignl F -GLIBC_2.0 cos F -GLIBC_2.0 cosf F -GLIBC_2.0 cosh F -GLIBC_2.0 coshf F -GLIBC_2.0 coshl F -GLIBC_2.0 cosl F -GLIBC_2.0 drem F -GLIBC_2.0 dremf F -GLIBC_2.0 dreml F -GLIBC_2.0 erf F -GLIBC_2.0 erfc F -GLIBC_2.0 erfcf F -GLIBC_2.0 erfcl F -GLIBC_2.0 erff F -GLIBC_2.0 erfl F -GLIBC_2.0 exp F -GLIBC_2.0 expf F -GLIBC_2.0 expl F -GLIBC_2.0 expm1 F -GLIBC_2.0 expm1f F -GLIBC_2.0 expm1l F -GLIBC_2.0 fabs F -GLIBC_2.0 fabsf F -GLIBC_2.0 fabsl F -GLIBC_2.0 finite F -GLIBC_2.0 finitef F -GLIBC_2.0 finitel F -GLIBC_2.0 floor F -GLIBC_2.0 floorf F -GLIBC_2.0 floorl F -GLIBC_2.0 fmod F -GLIBC_2.0 fmodf F -GLIBC_2.0 fmodl F -GLIBC_2.0 frexp F -GLIBC_2.0 frexpf F -GLIBC_2.0 frexpl F -GLIBC_2.0 gamma F -GLIBC_2.0 gammaf F -GLIBC_2.0 gammal F -GLIBC_2.0 hypot F -GLIBC_2.0 hypotf F -GLIBC_2.0 hypotl F -GLIBC_2.0 ilogb F -GLIBC_2.0 ilogbf F -GLIBC_2.0 ilogbl F -GLIBC_2.0 j0 F -GLIBC_2.0 j0f F -GLIBC_2.0 j0l F -GLIBC_2.0 j1 F -GLIBC_2.0 j1f F -GLIBC_2.0 j1l F -GLIBC_2.0 jn F -GLIBC_2.0 jnf F -GLIBC_2.0 jnl F -GLIBC_2.0 ldexp F -GLIBC_2.0 ldexpf F -GLIBC_2.0 ldexpl F -GLIBC_2.0 lgamma F -GLIBC_2.0 lgamma_r F -GLIBC_2.0 lgammaf F -GLIBC_2.0 lgammaf_r F -GLIBC_2.0 lgammal F -GLIBC_2.0 lgammal_r F -GLIBC_2.0 log F -GLIBC_2.0 log10 F -GLIBC_2.0 log10f F -GLIBC_2.0 log10l F -GLIBC_2.0 log1p F -GLIBC_2.0 log1pf F -GLIBC_2.0 log1pl F -GLIBC_2.0 logb F -GLIBC_2.0 logbf F -GLIBC_2.0 logbl F -GLIBC_2.0 logf F -GLIBC_2.0 logl F -GLIBC_2.0 matherr F -GLIBC_2.0 modf F -GLIBC_2.0 modff F -GLIBC_2.0 modfl F -GLIBC_2.0 nextafter F -GLIBC_2.0 nextafterf F -GLIBC_2.0 nextafterl F -GLIBC_2.0 pow F -GLIBC_2.0 powf F -GLIBC_2.0 powl F -GLIBC_2.0 remainder F -GLIBC_2.0 remainderf F -GLIBC_2.0 remainderl F -GLIBC_2.0 rint F -GLIBC_2.0 rintf F -GLIBC_2.0 rintl F -GLIBC_2.0 scalb F -GLIBC_2.0 scalbf F -GLIBC_2.0 scalbl F -GLIBC_2.0 scalbn F -GLIBC_2.0 scalbnf F -GLIBC_2.0 scalbnl F -GLIBC_2.0 signgam D 0x4 -GLIBC_2.0 significand F -GLIBC_2.0 significandf F -GLIBC_2.0 significandl F -GLIBC_2.0 sin F -GLIBC_2.0 sinf F -GLIBC_2.0 sinh F -GLIBC_2.0 sinhf F -GLIBC_2.0 sinhl F -GLIBC_2.0 sinl F -GLIBC_2.0 sqrt F -GLIBC_2.0 sqrtf F -GLIBC_2.0 sqrtl F -GLIBC_2.0 tan F -GLIBC_2.0 tanf F -GLIBC_2.0 tanh F -GLIBC_2.0 tanhf F -GLIBC_2.0 tanhl F -GLIBC_2.0 tanl F -GLIBC_2.0 y0 F -GLIBC_2.0 y0f F -GLIBC_2.0 y0l F -GLIBC_2.0 y1 F -GLIBC_2.0 y1f F -GLIBC_2.0 y1l F -GLIBC_2.0 yn F -GLIBC_2.0 ynf F -GLIBC_2.0 ynl F -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 __clog10 F -GLIBC_2.1 __clog10f F -GLIBC_2.1 __clog10l F -GLIBC_2.1 __finite F -GLIBC_2.1 __finitef F -GLIBC_2.1 __finitel F -GLIBC_2.1 __fpclassify F -GLIBC_2.1 __fpclassifyf F -GLIBC_2.1 __fpclassifyl F -GLIBC_2.1 __signbit F -GLIBC_2.1 __signbitf F -GLIBC_2.1 __signbitl F -GLIBC_2.1 cabs F -GLIBC_2.1 cabsf F -GLIBC_2.1 cabsl F -GLIBC_2.1 cacos F -GLIBC_2.1 cacosf F -GLIBC_2.1 cacosh F -GLIBC_2.1 cacoshf F -GLIBC_2.1 cacoshl F -GLIBC_2.1 cacosl F -GLIBC_2.1 carg F -GLIBC_2.1 cargf F -GLIBC_2.1 cargl F -GLIBC_2.1 casin F -GLIBC_2.1 casinf F -GLIBC_2.1 casinh F -GLIBC_2.1 casinhf F -GLIBC_2.1 casinhl F -GLIBC_2.1 casinl F -GLIBC_2.1 catan F -GLIBC_2.1 catanf F -GLIBC_2.1 catanh F -GLIBC_2.1 catanhf F -GLIBC_2.1 catanhl F -GLIBC_2.1 catanl F -GLIBC_2.1 ccos F -GLIBC_2.1 ccosf F -GLIBC_2.1 ccosh F -GLIBC_2.1 ccoshf F -GLIBC_2.1 ccoshl F -GLIBC_2.1 ccosl F -GLIBC_2.1 cexp F -GLIBC_2.1 cexpf F -GLIBC_2.1 cexpl F -GLIBC_2.1 cimag F -GLIBC_2.1 cimagf F -GLIBC_2.1 cimagl F -GLIBC_2.1 clog F -GLIBC_2.1 clog10 F -GLIBC_2.1 clog10f F -GLIBC_2.1 clog10l F -GLIBC_2.1 clogf F -GLIBC_2.1 clogl F -GLIBC_2.1 conj F -GLIBC_2.1 conjf F -GLIBC_2.1 conjl F -GLIBC_2.1 cpow F -GLIBC_2.1 cpowf F -GLIBC_2.1 cpowl F -GLIBC_2.1 cproj F -GLIBC_2.1 cprojf F -GLIBC_2.1 cprojl F -GLIBC_2.1 creal F -GLIBC_2.1 crealf F -GLIBC_2.1 creall F -GLIBC_2.1 csin F -GLIBC_2.1 csinf F -GLIBC_2.1 csinh F -GLIBC_2.1 csinhf F -GLIBC_2.1 csinhl F -GLIBC_2.1 csinl F -GLIBC_2.1 csqrt F -GLIBC_2.1 csqrtf F -GLIBC_2.1 csqrtl F -GLIBC_2.1 ctan F -GLIBC_2.1 ctanf F -GLIBC_2.1 ctanh F -GLIBC_2.1 ctanhf F -GLIBC_2.1 ctanhl F -GLIBC_2.1 ctanl F -GLIBC_2.1 exp10 F -GLIBC_2.1 exp10f F -GLIBC_2.1 exp10l F -GLIBC_2.1 exp2 F -GLIBC_2.1 exp2f F -GLIBC_2.1 exp2l F -GLIBC_2.1 fdim F -GLIBC_2.1 fdimf F -GLIBC_2.1 fdiml F -GLIBC_2.1 feclearexcept F -GLIBC_2.1 fegetenv F -GLIBC_2.1 fegetexceptflag F -GLIBC_2.1 fegetround F -GLIBC_2.1 feholdexcept F -GLIBC_2.1 feraiseexcept F -GLIBC_2.1 fesetenv F -GLIBC_2.1 fesetexceptflag F -GLIBC_2.1 fesetround F -GLIBC_2.1 fetestexcept F -GLIBC_2.1 feupdateenv F -GLIBC_2.1 fma F -GLIBC_2.1 fmaf F -GLIBC_2.1 fmal F -GLIBC_2.1 fmax F -GLIBC_2.1 fmaxf F -GLIBC_2.1 fmaxl F -GLIBC_2.1 fmin F -GLIBC_2.1 fminf F -GLIBC_2.1 fminl F -GLIBC_2.1 llrint F -GLIBC_2.1 llrintf F -GLIBC_2.1 llrintl F -GLIBC_2.1 llround F -GLIBC_2.1 llroundf F -GLIBC_2.1 llroundl F -GLIBC_2.1 log2 F -GLIBC_2.1 log2f F -GLIBC_2.1 log2l F -GLIBC_2.1 lrint F -GLIBC_2.1 lrintf F -GLIBC_2.1 lrintl F -GLIBC_2.1 lround F -GLIBC_2.1 lroundf F -GLIBC_2.1 lroundl F -GLIBC_2.1 nan F -GLIBC_2.1 nanf F -GLIBC_2.1 nanl F -GLIBC_2.1 nearbyint F -GLIBC_2.1 nearbyintf F -GLIBC_2.1 nearbyintl F -GLIBC_2.1 nexttoward F -GLIBC_2.1 nexttowardf F -GLIBC_2.1 nexttowardl F -GLIBC_2.1 pow10 F -GLIBC_2.1 pow10f F -GLIBC_2.1 pow10l F -GLIBC_2.1 remquo F -GLIBC_2.1 remquof F -GLIBC_2.1 remquol F -GLIBC_2.1 round F -GLIBC_2.1 roundf F -GLIBC_2.1 roundl F -GLIBC_2.1 scalbln F -GLIBC_2.1 scalblnf F -GLIBC_2.1 scalblnl F -GLIBC_2.1 sincos F -GLIBC_2.1 sincosf F -GLIBC_2.1 sincosl F -GLIBC_2.1 tgamma F -GLIBC_2.1 tgammaf F -GLIBC_2.1 tgammal F -GLIBC_2.1 trunc F -GLIBC_2.1 truncf F -GLIBC_2.1 truncl F -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 GLIBC_2.2 A -GLIBC_2.2 __expl F -GLIBC_2.2 __expm1l F -GLIBC_2.2 feclearexcept F -GLIBC_2.2 fedisableexcept F -GLIBC_2.2 feenableexcept F -GLIBC_2.2 fegetenv F -GLIBC_2.2 fegetexcept F -GLIBC_2.2 fegetexceptflag F -GLIBC_2.2 feraiseexcept F -GLIBC_2.2 fesetenv F -GLIBC_2.2 fesetexceptflag F -GLIBC_2.2 feupdateenv 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/sysdeps/unix/sysv/linux/i386/libnsl.abilist b/sysdeps/unix/sysv/linux/i386/libnsl.abilist deleted file mode 100644 index a23db2aeaf..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libnsl.abilist +++ /dev/null @@ -1,124 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 __yp_check F -GLIBC_2.0 xdr_domainname F -GLIBC_2.0 xdr_keydat F -GLIBC_2.0 xdr_mapname F -GLIBC_2.0 xdr_peername F -GLIBC_2.0 xdr_valdat F -GLIBC_2.0 xdr_yp_buf F -GLIBC_2.0 xdr_ypbind_binding F -GLIBC_2.0 xdr_ypbind_resp F -GLIBC_2.0 xdr_ypbind_resptype F -GLIBC_2.0 xdr_ypbind_setdom F -GLIBC_2.0 xdr_ypdelete_args F -GLIBC_2.0 xdr_ypmap_parms F -GLIBC_2.0 xdr_ypmaplist F -GLIBC_2.0 xdr_yppush_status F -GLIBC_2.0 xdr_yppushresp_xfr F -GLIBC_2.0 xdr_ypreq_key F -GLIBC_2.0 xdr_ypreq_nokey F -GLIBC_2.0 xdr_ypreq_xfr F -GLIBC_2.0 xdr_ypresp_all F -GLIBC_2.0 xdr_ypresp_key_val F -GLIBC_2.0 xdr_ypresp_maplist F -GLIBC_2.0 xdr_ypresp_master F -GLIBC_2.0 xdr_ypresp_order F -GLIBC_2.0 xdr_ypresp_val F -GLIBC_2.0 xdr_ypresp_xfr F -GLIBC_2.0 xdr_ypstat F -GLIBC_2.0 xdr_ypupdate_args F -GLIBC_2.0 xdr_ypxfrstat F -GLIBC_2.0 yp_all F -GLIBC_2.0 yp_bind F -GLIBC_2.0 yp_first F -GLIBC_2.0 yp_get_default_domain F -GLIBC_2.0 yp_maplist F -GLIBC_2.0 yp_master F -GLIBC_2.0 yp_match F -GLIBC_2.0 yp_next F -GLIBC_2.0 yp_order F -GLIBC_2.0 yp_unbind F -GLIBC_2.0 yp_update F -GLIBC_2.0 ypbinderr_string F -GLIBC_2.0 yperr_string F -GLIBC_2.0 ypprot_err F -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 __free_fdresult F -GLIBC_2.1 __nis_default_access F -GLIBC_2.1 __nis_default_group F -GLIBC_2.1 __nis_default_owner F -GLIBC_2.1 __nis_default_ttl F -GLIBC_2.1 __nis_finddirectory F -GLIBC_2.1 __nis_hash F -GLIBC_2.1 __nisbind_connect F -GLIBC_2.1 __nisbind_create F -GLIBC_2.1 __nisbind_destroy F -GLIBC_2.1 __nisbind_next F -GLIBC_2.1 nis_add F -GLIBC_2.1 nis_add_entry F -GLIBC_2.1 nis_addmember F -GLIBC_2.1 nis_checkpoint F -GLIBC_2.1 nis_clone_directory F -GLIBC_2.1 nis_clone_object F -GLIBC_2.1 nis_clone_result F -GLIBC_2.1 nis_creategroup F -GLIBC_2.1 nis_destroy_object F -GLIBC_2.1 nis_destroygroup F -GLIBC_2.1 nis_dir_cmp F -GLIBC_2.1 nis_domain_of F -GLIBC_2.1 nis_domain_of_r F -GLIBC_2.1 nis_first_entry F -GLIBC_2.1 nis_free_directory F -GLIBC_2.1 nis_free_object F -GLIBC_2.1 nis_free_request F -GLIBC_2.1 nis_freenames F -GLIBC_2.1 nis_freeresult F -GLIBC_2.1 nis_freeservlist F -GLIBC_2.1 nis_freetags F -GLIBC_2.1 nis_getnames F -GLIBC_2.1 nis_getservlist F -GLIBC_2.1 nis_ismember F -GLIBC_2.1 nis_leaf_of F -GLIBC_2.1 nis_leaf_of_r F -GLIBC_2.1 nis_lerror F -GLIBC_2.1 nis_list F -GLIBC_2.1 nis_local_directory F -GLIBC_2.1 nis_local_group F -GLIBC_2.1 nis_local_host F -GLIBC_2.1 nis_local_principal F -GLIBC_2.1 nis_lookup F -GLIBC_2.1 nis_mkdir F -GLIBC_2.1 nis_modify F -GLIBC_2.1 nis_modify_entry F -GLIBC_2.1 nis_name_of F -GLIBC_2.1 nis_name_of_r F -GLIBC_2.1 nis_next_entry F -GLIBC_2.1 nis_perror F -GLIBC_2.1 nis_ping F -GLIBC_2.1 nis_print_directory F -GLIBC_2.1 nis_print_entry F -GLIBC_2.1 nis_print_group F -GLIBC_2.1 nis_print_group_entry F -GLIBC_2.1 nis_print_link F -GLIBC_2.1 nis_print_object F -GLIBC_2.1 nis_print_result F -GLIBC_2.1 nis_print_rights F -GLIBC_2.1 nis_print_table F -GLIBC_2.1 nis_read_obj F -GLIBC_2.1 nis_remove F -GLIBC_2.1 nis_remove_entry F -GLIBC_2.1 nis_removemember F -GLIBC_2.1 nis_rmdir F -GLIBC_2.1 nis_servstate F -GLIBC_2.1 nis_sperrno F -GLIBC_2.1 nis_sperror F -GLIBC_2.1 nis_sperror_r F -GLIBC_2.1 nis_stats F -GLIBC_2.1 nis_verifygroup F -GLIBC_2.1 nis_write_obj F -GLIBC_2.1 readColdStartFile F -GLIBC_2.1 writeColdStartFile F -GLIBC_2.1 xdr_cback_data F -GLIBC_2.1 xdr_obj_p F -GLIBC_2.2 GLIBC_2.2 A -GLIBC_2.2 xdr_ypall F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist deleted file mode 100644 index 8f9c3254be..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ /dev/null @@ -1,257 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 _IO_flockfile F -GLIBC_2.0 _IO_ftrylockfile F -GLIBC_2.0 _IO_funlockfile F -GLIBC_2.0 __close F -GLIBC_2.0 __connect F -GLIBC_2.0 __errno_location F -GLIBC_2.0 __fcntl F -GLIBC_2.0 __fork F -GLIBC_2.0 __h_errno_location F -GLIBC_2.0 __lseek F -GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F -GLIBC_2.0 __pthread_mutex_destroy F -GLIBC_2.0 __pthread_mutex_init F -GLIBC_2.0 __pthread_mutex_lock F -GLIBC_2.0 __pthread_mutex_trylock F -GLIBC_2.0 __pthread_mutex_unlock F -GLIBC_2.0 __pthread_mutexattr_destroy F -GLIBC_2.0 __pthread_mutexattr_init F -GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F -GLIBC_2.0 __pthread_setspecific F -GLIBC_2.0 __read F -GLIBC_2.0 __send F -GLIBC_2.0 __sigaction F -GLIBC_2.0 __wait F -GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F -GLIBC_2.0 accept F -GLIBC_2.0 close F -GLIBC_2.0 connect F -GLIBC_2.0 fcntl F -GLIBC_2.0 flockfile F -GLIBC_2.0 fork F -GLIBC_2.0 fsync F -GLIBC_2.0 ftrylockfile F -GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F -GLIBC_2.0 lseek F -GLIBC_2.0 msync F -GLIBC_2.0 nanosleep F -GLIBC_2.0 open F -GLIBC_2.0 pause F -GLIBC_2.0 pthread_atfork F -GLIBC_2.0 pthread_attr_destroy F -GLIBC_2.0 pthread_attr_getdetachstate F -GLIBC_2.0 pthread_attr_getinheritsched F -GLIBC_2.0 pthread_attr_getschedparam F -GLIBC_2.0 pthread_attr_getschedpolicy F -GLIBC_2.0 pthread_attr_getscope F -GLIBC_2.0 pthread_attr_init F -GLIBC_2.0 pthread_attr_setdetachstate F -GLIBC_2.0 pthread_attr_setinheritsched F -GLIBC_2.0 pthread_attr_setschedparam F -GLIBC_2.0 pthread_attr_setschedpolicy F -GLIBC_2.0 pthread_attr_setscope F -GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_destroy F -GLIBC_2.0 pthread_cond_init F -GLIBC_2.0 pthread_cond_signal F -GLIBC_2.0 pthread_cond_timedwait F -GLIBC_2.0 pthread_cond_wait F -GLIBC_2.0 pthread_condattr_destroy F -GLIBC_2.0 pthread_condattr_init F -GLIBC_2.0 pthread_create F -GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_equal F -GLIBC_2.0 pthread_exit F -GLIBC_2.0 pthread_getschedparam F -GLIBC_2.0 pthread_getspecific F -GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F -GLIBC_2.0 pthread_key_delete F -GLIBC_2.0 pthread_kill F -GLIBC_2.0 pthread_kill_other_threads_np F -GLIBC_2.0 pthread_mutex_destroy F -GLIBC_2.0 pthread_mutex_init F -GLIBC_2.0 pthread_mutex_lock F -GLIBC_2.0 pthread_mutex_trylock F -GLIBC_2.0 pthread_mutex_unlock F -GLIBC_2.0 pthread_mutexattr_destroy F -GLIBC_2.0 pthread_mutexattr_getkind_np F -GLIBC_2.0 pthread_mutexattr_init F -GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F -GLIBC_2.0 pthread_self F -GLIBC_2.0 pthread_setcancelstate F -GLIBC_2.0 pthread_setcanceltype F -GLIBC_2.0 pthread_setschedparam F -GLIBC_2.0 pthread_setspecific F -GLIBC_2.0 pthread_sigmask F -GLIBC_2.0 pthread_testcancel F -GLIBC_2.0 raise F -GLIBC_2.0 read F -GLIBC_2.0 recv F -GLIBC_2.0 recvfrom F -GLIBC_2.0 recvmsg F -GLIBC_2.0 sem_destroy F -GLIBC_2.0 sem_getvalue F -GLIBC_2.0 sem_init F -GLIBC_2.0 sem_post F -GLIBC_2.0 sem_trywait F -GLIBC_2.0 sem_wait F -GLIBC_2.0 send F -GLIBC_2.0 sendmsg F -GLIBC_2.0 sendto F -GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F -GLIBC_2.0 sigwait F -GLIBC_2.0 system F -GLIBC_2.0 tcdrain F -GLIBC_2.0 vfork F -GLIBC_2.0 wait F -GLIBC_2.0 waitpid F -GLIBC_2.0 write F -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 __libc_allocate_rtsig F -GLIBC_2.1 __libc_current_sigrtmax F -GLIBC_2.1 __libc_current_sigrtmin F -GLIBC_2.1 pthread_attr_getguardsize F -GLIBC_2.1 pthread_attr_getstackaddr F -GLIBC_2.1 pthread_attr_getstacksize F -GLIBC_2.1 pthread_attr_init F -GLIBC_2.1 pthread_attr_setguardsize F -GLIBC_2.1 pthread_attr_setstackaddr F -GLIBC_2.1 pthread_attr_setstacksize F -GLIBC_2.1 pthread_create F -GLIBC_2.1 pthread_getconcurrency F -GLIBC_2.1 pthread_mutexattr_gettype F -GLIBC_2.1 pthread_mutexattr_settype F -GLIBC_2.1 pthread_rwlock_destroy F -GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F -GLIBC_2.1 pthread_rwlock_tryrdlock F -GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F -GLIBC_2.1 pthread_rwlockattr_destroy F -GLIBC_2.1 pthread_rwlockattr_getkind_np F -GLIBC_2.1 pthread_rwlockattr_getpshared F -GLIBC_2.1 pthread_rwlockattr_init F -GLIBC_2.1 pthread_rwlockattr_setkind_np F -GLIBC_2.1 pthread_rwlockattr_setpshared F -GLIBC_2.1 pthread_setconcurrency F -GLIBC_2.1 sem_destroy F -GLIBC_2.1 sem_getvalue F -GLIBC_2.1 sem_init F -GLIBC_2.1 sem_post F -GLIBC_2.1 sem_trywait F -GLIBC_2.1 sem_wait F -GLIBC_2.1.1 GLIBC_2.1.1 A -GLIBC_2.1.1 sem_close F -GLIBC_2.1.1 sem_open F -GLIBC_2.1.1 sem_unlink F -GLIBC_2.1.2 GLIBC_2.1.2 A -GLIBC_2.1.2 __vfork F -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 GLIBC_2.2 A -GLIBC_2.2 __open64 F -GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_rwlock_destroy F -GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F -GLIBC_2.2 __pthread_rwlock_tryrdlock F -GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pwrite64 F -GLIBC_2.2 __res_state F -GLIBC_2.2 lseek64 F -GLIBC_2.2 open64 F -GLIBC_2.2 pread F -GLIBC_2.2 pread64 F -GLIBC_2.2 pthread_attr_getstack F -GLIBC_2.2 pthread_attr_setstack F -GLIBC_2.2 pthread_barrier_destroy F -GLIBC_2.2 pthread_barrier_init F -GLIBC_2.2 pthread_barrier_wait F -GLIBC_2.2 pthread_barrierattr_destroy F -GLIBC_2.2 pthread_barrierattr_init F -GLIBC_2.2 pthread_barrierattr_setpshared F -GLIBC_2.2 pthread_condattr_getpshared F -GLIBC_2.2 pthread_condattr_setpshared F -GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_mutex_timedlock F -GLIBC_2.2 pthread_mutexattr_getpshared F -GLIBC_2.2 pthread_mutexattr_setpshared F -GLIBC_2.2 pthread_rwlock_timedrdlock F -GLIBC_2.2 pthread_rwlock_timedwrlock F -GLIBC_2.2 pthread_spin_destroy F -GLIBC_2.2 pthread_spin_init F -GLIBC_2.2 pthread_spin_lock F -GLIBC_2.2 pthread_spin_trylock F -GLIBC_2.2 pthread_spin_unlock F -GLIBC_2.2 pthread_yield F -GLIBC_2.2 pwrite F -GLIBC_2.2 pwrite64 F -GLIBC_2.2 sem_timedwait F -GLIBC_2.2.3 GLIBC_2.2.3 A -GLIBC_2.2.3 pthread_getattr_np 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/sysdeps/unix/sysv/linux/i386/libresolv.abilist b/sysdeps/unix/sysv/linux/i386/libresolv.abilist deleted file mode 100644 index 4d50e7c8c6..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libresolv.abilist +++ /dev/null @@ -1,100 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 __b64_ntop F -GLIBC_2.0 __b64_pton F -GLIBC_2.0 __dn_comp F -GLIBC_2.0 __dn_count_labels F -GLIBC_2.0 __dn_skipname F -GLIBC_2.0 __fp_nquery F -GLIBC_2.0 __fp_query F -GLIBC_2.0 __fp_resstat F -GLIBC_2.0 __hostalias F -GLIBC_2.0 __loc_aton F -GLIBC_2.0 __loc_ntoa F -GLIBC_2.0 __p_cdname F -GLIBC_2.0 __p_cdnname F -GLIBC_2.0 __p_class F -GLIBC_2.0 __p_class_syms D 0x54 -GLIBC_2.0 __p_fqname F -GLIBC_2.0 __p_fqnname F -GLIBC_2.0 __p_option F -GLIBC_2.0 __p_query F -GLIBC_2.0 __p_secstodate F -GLIBC_2.0 __p_time F -GLIBC_2.0 __p_type F -GLIBC_2.0 __p_type_syms D 0x228 -GLIBC_2.0 __putlong F -GLIBC_2.0 __putshort F -GLIBC_2.0 __res_close F -GLIBC_2.0 __res_dnok F -GLIBC_2.0 __res_hnok F -GLIBC_2.0 __res_isourserver F -GLIBC_2.0 __res_mailok F -GLIBC_2.0 __res_nameinquery F -GLIBC_2.0 __res_ownok F -GLIBC_2.0 __res_queriesmatch F -GLIBC_2.0 __res_send F -GLIBC_2.0 __sym_ntop F -GLIBC_2.0 __sym_ntos F -GLIBC_2.0 __sym_ston F -GLIBC_2.0 _gethtbyaddr F -GLIBC_2.0 _gethtbyname F -GLIBC_2.0 _gethtbyname2 F -GLIBC_2.0 _gethtent F -GLIBC_2.0 _getlong F -GLIBC_2.0 _getshort F -GLIBC_2.0 _res_opcodes D 0x40 -GLIBC_2.0 _sethtent F -GLIBC_2.0 dn_expand F -GLIBC_2.0 inet_net_ntop F -GLIBC_2.0 inet_net_pton F -GLIBC_2.0 inet_neta F -GLIBC_2.0 res_gethostbyaddr F -GLIBC_2.0 res_gethostbyname F -GLIBC_2.0 res_gethostbyname2 F -GLIBC_2.0 res_mkquery F -GLIBC_2.0 res_query F -GLIBC_2.0 res_querydomain F -GLIBC_2.0 res_search F -GLIBC_2.0 res_send_setqhook F -GLIBC_2.0 res_send_setrhook F -GLIBC_2.2 GLIBC_2.2 A -GLIBC_2.2 __dn_expand F -GLIBC_2.2 __res_hostalias F -GLIBC_2.2 __res_mkquery F -GLIBC_2.2 __res_nmkquery F -GLIBC_2.2 __res_nquery F -GLIBC_2.2 __res_nquerydomain F -GLIBC_2.2 __res_nsearch F -GLIBC_2.2 __res_nsend F -GLIBC_2.2 __res_query F -GLIBC_2.2 __res_querydomain F -GLIBC_2.2 __res_search 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/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist deleted file mode 100644 index 15e4418863..0000000000 --- a/sysdeps/unix/sysv/linux/i386/librt.abilist +++ /dev/null @@ -1,47 +0,0 @@ -GLIBC_2.1 GLIBC_2.1 A -GLIBC_2.1 aio_cancel F -GLIBC_2.1 aio_cancel64 F -GLIBC_2.1 aio_error F -GLIBC_2.1 aio_error64 F -GLIBC_2.1 aio_fsync F -GLIBC_2.1 aio_fsync64 F -GLIBC_2.1 aio_init F -GLIBC_2.1 aio_read F -GLIBC_2.1 aio_read64 F -GLIBC_2.1 aio_return F -GLIBC_2.1 aio_return64 F -GLIBC_2.1 aio_suspend F -GLIBC_2.1 aio_suspend64 F -GLIBC_2.1 aio_write F -GLIBC_2.1 aio_write64 F -GLIBC_2.1 lio_listio F -GLIBC_2.1 lio_listio64 F -GLIBC_2.2 GLIBC_2.2 A -GLIBC_2.2 clock_getcpuclockid F -GLIBC_2.2 clock_getres F -GLIBC_2.2 clock_gettime F -GLIBC_2.2 clock_nanosleep F -GLIBC_2.2 clock_settime F -GLIBC_2.2 shm_open F -GLIBC_2.2 shm_unlink F -GLIBC_2.2 timer_create F -GLIBC_2.2 timer_delete F -GLIBC_2.2 timer_getoverrun F -GLIBC_2.2 timer_gettime F -GLIBC_2.2 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/sysdeps/unix/sysv/linux/i386/libthread_db.abilist b/sysdeps/unix/sysv/linux/i386/libthread_db.abilist deleted file mode 100644 index a8a8c2c68d..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libthread_db.abilist +++ /dev/null @@ -1,44 +0,0 @@ -GLIBC_2.1.3 GLIBC_2.1.3 A -GLIBC_2.1.3 td_init F -GLIBC_2.1.3 td_log F -GLIBC_2.1.3 td_ta_clear_event F -GLIBC_2.1.3 td_ta_delete F -GLIBC_2.1.3 td_ta_enable_stats F -GLIBC_2.1.3 td_ta_event_addr F -GLIBC_2.1.3 td_ta_event_getmsg F -GLIBC_2.1.3 td_ta_get_nthreads F -GLIBC_2.1.3 td_ta_get_ph F -GLIBC_2.1.3 td_ta_get_stats F -GLIBC_2.1.3 td_ta_map_id2thr F -GLIBC_2.1.3 td_ta_map_lwp2thr F -GLIBC_2.1.3 td_ta_new F -GLIBC_2.1.3 td_ta_reset_stats F -GLIBC_2.1.3 td_ta_set_event F -GLIBC_2.1.3 td_ta_setconcurrency F -GLIBC_2.1.3 td_ta_thr_iter F -GLIBC_2.1.3 td_ta_tsd_iter F -GLIBC_2.1.3 td_thr_clear_event F -GLIBC_2.1.3 td_thr_dbresume F -GLIBC_2.1.3 td_thr_dbsuspend F -GLIBC_2.1.3 td_thr_event_enable F -GLIBC_2.1.3 td_thr_event_getmsg F -GLIBC_2.1.3 td_thr_get_info F -GLIBC_2.1.3 td_thr_getfpregs F -GLIBC_2.1.3 td_thr_getgregs F -GLIBC_2.1.3 td_thr_getxregs F -GLIBC_2.1.3 td_thr_getxregsize F -GLIBC_2.1.3 td_thr_set_event F -GLIBC_2.1.3 td_thr_setfpregs F -GLIBC_2.1.3 td_thr_setgregs F -GLIBC_2.1.3 td_thr_setprio F -GLIBC_2.1.3 td_thr_setsigpending F -GLIBC_2.1.3 td_thr_setxregs F -GLIBC_2.1.3 td_thr_sigsetmask F -GLIBC_2.1.3 td_thr_tsd F -GLIBC_2.1.3 td_thr_validate F -GLIBC_2.2.3 GLIBC_2.2.3 A -GLIBC_2.2.3 td_symbol_list 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/sysdeps/unix/sysv/linux/i386/libutil.abilist b/sysdeps/unix/sysv/linux/i386/libutil.abilist deleted file mode 100644 index 89c67755c4..0000000000 --- a/sysdeps/unix/sysv/linux/i386/libutil.abilist +++ /dev/null @@ -1,7 +0,0 @@ -GLIBC_2.0 GLIBC_2.0 A -GLIBC_2.0 forkpty F -GLIBC_2.0 login F -GLIBC_2.0 login_tty F -GLIBC_2.0 logout F -GLIBC_2.0 logwtmp F -GLIBC_2.0 openpty F diff --git a/sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c b/sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c deleted file mode 100644 index f6875b8f89..0000000000 --- a/sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c +++ /dev/null @@ -1 +0,0 @@ -/* __lll_timedlock_wait is in lowlevellock.S. */ diff --git a/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c b/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c deleted file mode 100644 index 43900c6294..0000000000 --- a/sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c +++ /dev/null @@ -1 +0,0 @@ -/* __lll_timedwait_tid is in lowlevellock.S. */ diff --git a/sysdeps/unix/sysv/linux/i386/localplt.data b/sysdeps/unix/sysv/linux/i386/localplt.data deleted file mode 100644 index 8ea4333846..0000000000 --- a/sysdeps/unix/sysv/linux/i386/localplt.data +++ /dev/null @@ -1,18 +0,0 @@ -# Linker in binutils 2.26 and newer consolidates R_X86_64_JUMP_SLOT -# relocation with R_386_GLOB_DAT relocation against the same symbol. -libc.so: _Unwind_Find_FDE + REL R_386_GLOB_DAT -libc.so: calloc + REL R_386_GLOB_DAT -libc.so: free + REL R_386_GLOB_DAT -libc.so: malloc + REL R_386_GLOB_DAT -libc.so: memalign + REL R_386_GLOB_DAT -libc.so: realloc + REL R_386_GLOB_DAT -libm.so: matherr + REL R_386_GLOB_DAT -# The main malloc is interposed into the dynamic linker, for -# allocations after the initial link (when dlopen is used). -ld.so: malloc + REL R_386_GLOB_DAT -ld.so: calloc + REL R_386_GLOB_DAT -ld.so: realloc + REL R_386_GLOB_DAT -ld.so: free + REL R_386_GLOB_DAT -# The TLS-enabled version of these functions is interposed from libc.so. -ld.so: _dl_signal_error + REL R_386_GLOB_DAT -ld.so: _dl_catch_error + REL R_386_GLOB_DAT diff --git a/sysdeps/unix/sysv/linux/i386/lockf64.c b/sysdeps/unix/sysv/linux/i386/lockf64.c deleted file mode 100644 index 23b99f8f22..0000000000 --- a/sysdeps/unix/sysv/linux/i386/lockf64.c +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright (C) 1994-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/types.h> -#include <unistd.h> -#include <fcntl.h> -#include <errno.h> -#include <string.h> -#include <sysdep.h> - -/* lockf is a simplified interface to fcntl's locking facilities. */ - -int -lockf64 (int fd, int cmd, off64_t len64) -{ - struct flock64 fl64; - int cmd64; - int result; - - memset ((char *) &fl64, '\0', sizeof (fl64)); - fl64.l_whence = SEEK_CUR; - fl64.l_start = 0; - fl64.l_len = len64; - - switch (cmd) - { - case F_TEST: - /* Test the lock: return 0 if FD is unlocked or locked by this process; - return -1, set errno to EACCES, if another process holds the lock. */ - fl64.l_type = F_RDLCK; - INTERNAL_SYSCALL_DECL (err); - result = INTERNAL_SYSCALL (fcntl64, err, 3, fd, F_GETLK64, &fl64); - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, - err)); - if (fl64.l_type == F_UNLCK || fl64.l_pid == __getpid ()) - return 0; - return INLINE_SYSCALL_ERROR_RETURN_VALUE (EACCES); - case F_ULOCK: - fl64.l_type = F_UNLCK; - cmd64 = F_SETLK64; - break; - case F_LOCK: - fl64.l_type = F_WRLCK; - cmd64 = F_SETLKW64; - break; - case F_TLOCK: - fl64.l_type = F_WRLCK; - cmd64 = F_SETLK64; - break; - - default: - return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL); - } - return INLINE_SYSCALL (fcntl64, 3, fd, cmd64, &fl64); -} diff --git a/sysdeps/unix/sysv/linux/i386/lowlevellock.S b/sysdeps/unix/sysv/linux/i386/lowlevellock.S deleted file mode 100644 index 8fcca5be99..0000000000 --- a/sysdeps/unix/sysv/linux/i386/lowlevellock.S +++ /dev/null @@ -1,466 +0,0 @@ -/* 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 %gs:PRIVATE_FUTEX, reg -# else -# define LOAD_PRIVATE_FUTEX_WAIT(reg) \ - movl %gs:PRIVATE_FUTEX, reg ; \ - orl $FUTEX_WAIT, reg -# endif -# define LOAD_PRIVATE_FUTEX_WAKE(reg) \ - movl %gs:PRIVATE_FUTEX, reg ; \ - orl $FUTEX_WAKE, reg -# if FUTEX_WAIT == 0 -# define LOAD_FUTEX_WAIT(reg) \ - xorl $FUTEX_PRIVATE_FLAG, reg ; \ - andl %gs:PRIVATE_FUTEX, reg -# else -# define LOAD_FUTEX_WAIT(reg) \ - xorl $FUTEX_PRIVATE_FLAG, reg ; \ - andl %gs:PRIVATE_FUTEX, reg ; \ - orl $FUTEX_WAIT, reg -# endif -# define LOAD_FUTEX_WAIT_ABS(reg) \ - xorl $FUTEX_PRIVATE_FLAG, reg ; \ - andl %gs:PRIVATE_FUTEX, reg ; \ - orl $FUTEX_WAIT_BITSET | FUTEX_CLOCK_REALTIME, reg -# define LOAD_FUTEX_WAKE(reg) \ - xorl $FUTEX_PRIVATE_FLAG, reg ; \ - andl %gs: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 - pushl %edx - cfi_adjust_cfa_offset(4) - pushl %ebx - cfi_adjust_cfa_offset(4) - pushl %esi - cfi_adjust_cfa_offset(4) - cfi_offset(%edx, -8) - cfi_offset(%ebx, -12) - cfi_offset(%esi, -16) - - movl $2, %edx - movl %ecx, %ebx - xorl %esi, %esi /* No timeout. */ - LOAD_PRIVATE_FUTEX_WAIT (%ecx) - - cmpl %edx, %eax /* NB: %edx == 2 */ - jne 2f - -1: LIBC_PROBE (lll_lock_wait_private, 1, %ebx) - movl $SYS_futex, %eax - ENTER_KERNEL - -2: movl %edx, %eax - xchgl %eax, (%ebx) /* NB: lock is implied */ - - testl %eax, %eax - jnz 1b - - popl %esi - cfi_adjust_cfa_offset(-4) - cfi_restore(%esi) - popl %ebx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebx) - popl %edx - cfi_adjust_cfa_offset(-4) - cfi_restore(%edx) - ret - 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 - pushl %edx - cfi_adjust_cfa_offset(4) - pushl %ebx - cfi_adjust_cfa_offset(4) - pushl %esi - cfi_adjust_cfa_offset(4) - cfi_offset(%edx, -8) - cfi_offset(%ebx, -12) - cfi_offset(%esi, -16) - - movl %edx, %ebx - movl $2, %edx - xorl %esi, %esi /* No timeout. */ - LOAD_FUTEX_WAIT (%ecx) - - cmpl %edx, %eax /* NB: %edx == 2 */ - jne 2f - -1: movl $SYS_futex, %eax - ENTER_KERNEL - -2: movl %edx, %eax - xchgl %eax, (%ebx) /* NB: lock is implied */ - - testl %eax, %eax - jnz 1b - - popl %esi - cfi_adjust_cfa_offset(-4) - cfi_restore(%esi) - popl %ebx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebx) - popl %edx - cfi_adjust_cfa_offset(-4) - cfi_restore(%edx) - ret - cfi_endproc - .size __lll_lock_wait,.-__lll_lock_wait - - /* %ecx: futex - %esi: flags - %edx: timeout - %eax: futex value - */ - .globl __lll_timedlock_wait - .type __lll_timedlock_wait,@function - .hidden __lll_timedlock_wait - .align 16 -__lll_timedlock_wait: - cfi_startproc - pushl %ebp - cfi_adjust_cfa_offset(4) - cfi_rel_offset(%ebp, 0) - pushl %ebx - cfi_adjust_cfa_offset(4) - cfi_rel_offset(%ebx, 0) - -# ifndef __ASSUME_FUTEX_CLOCK_REALTIME -# ifdef PIC - LOAD_PIC_REG (bx) - cmpl $0, __have_futex_clock_realtime@GOTOFF(%ebx) -# else - cmpl $0, __have_futex_clock_realtime -# endif - je .Lreltmo -# endif - - cmpl $0, (%edx) - js 8f - - movl %ecx, %ebx - movl %esi, %ecx - movl %edx, %esi - movl $0xffffffff, %ebp - LOAD_FUTEX_WAIT_ABS (%ecx) - - movl $2, %edx - cmpl %edx, %eax - jne 2f - -1: movl $SYS_futex, %eax - movl $2, %edx - ENTER_KERNEL - -2: xchgl %edx, (%ebx) /* 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 -7: popl %ebx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebx) - popl %ebp - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebp) - ret - -8: movl $ETIMEDOUT, %eax - jmp 7b - -# ifndef __ASSUME_FUTEX_CLOCK_REALTIME -.Lreltmo: - /* Check for a valid timeout value. */ - cmpl $1000000000, 4(%edx) - jae 3f - - pushl %esi - cfi_adjust_cfa_offset(4) - cfi_rel_offset(%esi, 0) - pushl %edi - cfi_adjust_cfa_offset(4) - cfi_rel_offset(%edi, 0) - - /* Stack frame for the timespec and timeval structs. */ - subl $8, %esp - cfi_adjust_cfa_offset(8) - - movl %ecx, %ebp - movl %edx, %edi - - movl $2, %edx - xchgl %edx, (%ebp) - - test %edx, %edx - je 6f - -1: - /* Get current time. */ - movl %esp, %ebx - xorl %ecx, %ecx - movl $__NR_gettimeofday, %eax - ENTER_KERNEL - - /* Compute relative timeout. */ - movl 4(%esp), %eax - movl $1000, %edx - mul %edx /* Milli seconds to nano seconds. */ - movl (%edi), %ecx - movl 4(%edi), %edx - subl (%esp), %ecx - subl %eax, %edx - jns 4f - addl $1000000000, %edx - subl $1, %ecx -4: testl %ecx, %ecx - js 2f /* Time is already up. */ - - /* Store relative timeout. */ - movl %ecx, (%esp) - movl %edx, 4(%esp) - - /* Futex call. */ - movl %ebp, %ebx - movl $2, %edx - movl %esp, %esi - movl 16(%esp), %ecx - LOAD_FUTEX_WAIT (%ecx) - movl $SYS_futex, %eax - ENTER_KERNEL - - /* NB: %edx == 2 */ - xchgl %edx, (%ebp) - - testl %edx, %edx - je 6f - - cmpl $-ETIMEDOUT, %eax - jne 1b -2: movl $ETIMEDOUT, %edx - -6: addl $8, %esp - cfi_adjust_cfa_offset(-8) - popl %edi - cfi_adjust_cfa_offset(-4) - cfi_restore(%edi) - popl %esi - cfi_adjust_cfa_offset(-4) - cfi_restore(%esi) -7: popl %ebx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebx) - popl %ebp - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebp) - movl %edx, %eax - ret - -3: movl $EINVAL, %edx - jmp 7b -# 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 - pushl %ebx - cfi_adjust_cfa_offset(4) - pushl %ecx - cfi_adjust_cfa_offset(4) - pushl %edx - cfi_adjust_cfa_offset(4) - cfi_offset(%ebx, -8) - cfi_offset(%ecx, -12) - cfi_offset(%edx, -16) - - movl %eax, %ebx - movl $0, (%eax) - LOAD_PRIVATE_FUTEX_WAKE (%ecx) - movl $1, %edx /* Wake one thread. */ - movl $SYS_futex, %eax - ENTER_KERNEL - - popl %edx - cfi_adjust_cfa_offset(-4) - cfi_restore(%edx) - popl %ecx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ecx) - popl %ebx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebx) - ret - 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 - pushl %ebx - cfi_adjust_cfa_offset(4) - pushl %ecx - cfi_adjust_cfa_offset(4) - pushl %edx - cfi_adjust_cfa_offset(4) - cfi_offset(%ebx, -8) - cfi_offset(%ecx, -12) - cfi_offset(%edx, -16) - - movl %eax, %ebx - movl $0, (%eax) - LOAD_FUTEX_WAKE (%ecx) - movl $1, %edx /* Wake one thread. */ - movl $SYS_futex, %eax - ENTER_KERNEL - - popl %edx - cfi_adjust_cfa_offset(-4) - cfi_restore(%edx) - popl %ecx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ecx) - popl %ebx - cfi_adjust_cfa_offset(-4) - cfi_restore(%ebx) - ret - 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: - pushl %edi - pushl %esi - pushl %ebx - pushl %ebp - - movl %eax, %ebp - movl %edx, %edi - subl $8, %esp - - /* Get current time. */ -2: movl %esp, %ebx - xorl %ecx, %ecx - movl $__NR_gettimeofday, %eax - ENTER_KERNEL - - /* Compute relative timeout. */ - movl 4(%esp), %eax - movl $1000, %edx - mul %edx /* Milli seconds to nano seconds. */ - movl (%edi), %ecx - movl 4(%edi), %edx - subl (%esp), %ecx - subl %eax, %edx - jns 5f - addl $1000000000, %edx - subl $1, %ecx -5: testl %ecx, %ecx - js 6f /* Time is already up. */ - - movl %ecx, (%esp) /* Store relative timeout. */ - movl %edx, 4(%esp) - - movl (%ebp), %edx - testl %edx, %edx - jz 4f - - movl %esp, %esi - /* XXX The kernel so far uses global futex for the wakeup at - all times. */ - xorl %ecx, %ecx /* movl $FUTEX_WAIT, %ecx */ - movl %ebp, %ebx - movl $SYS_futex, %eax - ENTER_KERNEL - - cmpl $0, (%ebx) - jne 1f -4: xorl %eax, %eax - -3: addl $8, %esp - popl %ebp - popl %ebx - popl %esi - popl %edi - ret - -1: cmpl $-ETIMEDOUT, %eax - jne 2b -6: movl $ETIMEDOUT, %eax - jmp 3b - .size __lll_timedwait_tid,.-__lll_timedwait_tid -#endif diff --git a/sysdeps/unix/sysv/linux/i386/lowlevellock.h b/sysdeps/unix/sysv/linux/i386/lowlevellock.h deleted file mode 100644 index 197bb1fcd9..0000000000 --- a/sysdeps/unix/sysv/linux/i386/lowlevellock.h +++ /dev/null @@ -1,267 +0,0 @@ -/* 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 compatibility 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, %%gs:%P5\n\t" \ - "je 0f\n\t" \ - "lock\n" \ - "0:\tcmpxchgl %2, %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), \ - "i" (MULTIPLE_THREADS_OFFSET) \ - : "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 %1, %2\n\t" -#else -# define __lll_lock_asm_start "cmpl $0, %%gs:%P6\n\t" \ - "je 0f\n\t" \ - "lock\n" \ - "0:\tcmpxchgl %1, %2\n\t" -#endif - -#define lll_lock(futex, private) \ - (void) \ - ({ int ignore1, ignore2; \ - if (__builtin_constant_p (private) && (private) == LLL_PRIVATE) \ - __asm __volatile (__lll_lock_asm_start \ - "jz 18f\n\t" \ - "1:\tleal %2, %%ecx\n" \ - "2:\tcall __lll_lock_wait_private\n" \ - "18:" \ - : "=a" (ignore1), "=c" (ignore2), "=m" (futex) \ - : "0" (0), "1" (1), "m" (futex), \ - "i" (MULTIPLE_THREADS_OFFSET) \ - : "memory"); \ - else \ - { \ - int ignore3; \ - __asm __volatile (__lll_lock_asm_start \ - "jz 18f\n\t" \ - "1:\tleal %2, %%edx\n" \ - "0:\tmovl %8, %%ecx\n" \ - "2:\tcall __lll_lock_wait\n" \ - "18:" \ - : "=a" (ignore1), "=c" (ignore2), \ - "=m" (futex), "=&d" (ignore3) \ - : "1" (1), "m" (futex), \ - "i" (MULTIPLE_THREADS_OFFSET), "0" (0), \ - "g" ((int) (private)) \ - : "memory"); \ - } \ - }) - - -/* Special version of lll_lock which causes the unlock function to - always wakeup waiters. */ -#define lll_cond_lock(futex, private) \ - (void) \ - ({ int ignore1, ignore2, ignore3; \ - __asm __volatile (LOCK_INSTR "cmpxchgl %1, %2\n\t" \ - "jz 18f\n\t" \ - "1:\tleal %2, %%edx\n" \ - "0:\tmovl %7, %%ecx\n" \ - "2:\tcall __lll_lock_wait\n" \ - "18:" \ - : "=a" (ignore1), "=c" (ignore2), "=m" (futex), \ - "=&d" (ignore3) \ - : "0" (0), "1" (2), "m" (futex), "g" ((int) (private))\ - : "memory"); \ - }) - - -#define lll_timedlock(futex, timeout, private) \ - ({ int result, ignore1, ignore2, ignore3; \ - __asm __volatile (LOCK_INSTR "cmpxchgl %1, %3\n\t" \ - "jz 18f\n\t" \ - "1:\tleal %3, %%ecx\n" \ - "0:\tmovl %8, %%edx\n" \ - "2:\tcall __lll_timedlock_wait\n" \ - "18:" \ - : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ - "=m" (futex), "=S" (ignore3) \ - : "0" (0), "1" (1), "m" (futex), "m" (timeout), \ - "4" ((int) (private)) \ - : "memory"); \ - 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 LOCK_INSTR "subl $1, %0\n\t" -#else -# define __lll_unlock_asm "cmpl $0, %%gs:%P3\n\t" \ - "je 0f\n\t" \ - "lock\n" \ - "0:\tsubl $1,%0\n\t" -#endif - -#define lll_unlock(futex, private) \ - (void) \ - ({ int ignore; \ - if (__builtin_constant_p (private) && (private) == LLL_PRIVATE) \ - __asm __volatile (__lll_unlock_asm \ - "je 18f\n\t" \ - "1:\tleal %0, %%eax\n" \ - "2:\tcall __lll_unlock_wake_private\n" \ - "18:" \ - : "=m" (futex), "=&a" (ignore) \ - : "m" (futex), "i" (MULTIPLE_THREADS_OFFSET) \ - : "memory"); \ - else \ - { \ - int ignore2; \ - __asm __volatile (__lll_unlock_asm \ - "je 18f\n\t" \ - "1:\tleal %0, %%eax\n" \ - "0:\tmovl %5, %%ecx\n" \ - "2:\tcall __lll_unlock_wake\n" \ - "18:" \ - : "=m" (futex), "=&a" (ignore), "=&c" (ignore2) \ - : "i" (MULTIPLE_THREADS_OFFSET), "m" (futex), \ - "g" ((int) (private)) \ - : "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 *tid, const struct timespec *abstime) - __attribute__ ((regparm (2))) 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/sysdeps/unix/sysv/linux/i386/lxstat.c b/sysdeps/unix/sysv/linux/i386/lxstat.c deleted file mode 100644 index fc9d2f234a..0000000000 --- a/sysdeps/unix/sysv/linux/i386/lxstat.c +++ /dev/null @@ -1,62 +0,0 @@ -/* lxstat using old-style Unix lstat system call. - Copyright (C) 1991-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/>. */ - -/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc - will complain since they don't strictly match. */ -#define __lxstat64 __lxstat64_disable - -#include <errno.h> -#include <stddef.h> -#include <sys/stat.h> -#include <kernel_stat.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#include <xstatconv.h> - - -/* Get information about the file NAME in BUF. */ -int -__lxstat (int vers, const char *name, struct stat *buf) -{ - int result; - - if (vers == _STAT_VER_KERNEL) - return INLINE_SYSCALL (lstat, 2, name, buf); - - { - struct stat64 buf64; - - INTERNAL_SYSCALL_DECL (err); - result = INTERNAL_SYSCALL (lstat64, err, 2, name, &buf64); - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, - err)); - else - return __xstat32_conv (vers, &buf64, buf); - } -} - -hidden_def (__lxstat) -weak_alias (__lxstat, _lxstat); -#if XSTAT_IS_XSTAT64 -#undef __lxstat64 -strong_alias (__lxstat, __lxstat64); -hidden_ver (__lxstat, __lxstat64) -#endif diff --git a/sysdeps/unix/sysv/linux/i386/makecontext.S b/sysdeps/unix/sysv/linux/i386/makecontext.S deleted file mode 100644 index 6d396dd328..0000000000 --- a/sysdeps/unix/sysv/linux/i386/makecontext.S +++ /dev/null @@ -1,120 +0,0 @@ -/* Create new context. - Copyright (C) 2001-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. - - 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" - - -ENTRY(__makecontext) - movl 4(%esp), %eax - - /* Load the address of the function we are supposed to run. */ - movl 8(%esp), %ecx - - /* Compute the address of the stack. The information comes from - to us_stack element. */ - movl oSS_SP(%eax), %edx - movl %ecx, oEIP(%eax) - addl oSS_SIZE(%eax), %edx - - /* Remember the number of parameters for the exit handler since - it has to remove them. We store the number in the EBX register - which the function we will call must preserve. */ - movl 12(%esp), %ecx - movl %ecx, oEBX(%eax) - - /* Make room on the new stack for the parameters. - Room for the arguments, return address (== L(exitcode)) and - oLINK pointer is needed. One of the pointer sizes is subtracted - after aligning the stack. */ - negl %ecx - leal -4(%edx,%ecx,4), %edx - negl %ecx - - /* Align the stack. */ - andl $0xfffffff0, %edx - subl $4, %edx - - /* Store the future stack pointer. */ - movl %edx, oESP(%eax) - - /* Put the next context on the new stack (from the uc_link - element). */ - movl oLINK(%eax), %eax - movl %eax, 4(%edx,%ecx,4) - - /* Copy all the parameters. */ - jecxz 2f -1: movl 12(%esp,%ecx,4), %eax - movl %eax, (%edx,%ecx,4) - decl %ecx - jnz 1b -2: - - /* If the function we call returns we must continue with the - context which is given in the uc_link element. To do this - set the return address for the function the user provides - to a little bit of helper code which does the magic (see - below). */ -#ifdef PIC - call 1f - cfi_adjust_cfa_offset (4) -1: popl %ecx - cfi_adjust_cfa_offset (-4) - addl $L(exitcode)-1b, %ecx - movl %ecx, (%edx) -#else - movl $L(exitcode), (%edx) -#endif - /* We need to terminate the FDE here instead of after ret because - the unwinder looks at ra-1 for unwind information. */ - cfi_endproc - - /* 'makecontext' returns no value. */ - ret - - /* 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. */ -L(exitcode): - /* This removes the parameters passed to the function given to - 'makecontext' from the stack. EBX contains the number of - parameters (see above). */ - leal (%esp,%ebx,4), %esp - - cmpl $0, (%esp) /* Check the next context. */ - je 2f /* If it is zero exit. */ - - call HIDDEN_JUMPTARGET(__setcontext) - /* If this returns (which can happen if the syscall fails) we'll - exit the program with the return error value (-1). */ - - movl %eax, (%esp) -2: call HIDDEN_JUMPTARGET(exit) - /* The 'exit' call should never return. In case it does cause - the process to terminate. */ - hlt - cfi_startproc -END(__makecontext) - -weak_alias (__makecontext, makecontext) diff --git a/sysdeps/unix/sysv/linux/i386/olddirent.h b/sysdeps/unix/sysv/linux/i386/olddirent.h deleted file mode 100644 index 413f78d108..0000000000 --- a/sysdeps/unix/sysv/linux/i386/olddirent.h +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 2000-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 __OLD_DIRENT_H -#define __OLD_DIRENT_H 1 - -#include <dirent.h> - -struct __old_dirent64 - { - __ino_t d_ino; - __off64_t d_off; - unsigned short int d_reclen; - unsigned char d_type; - char d_name[256]; /* We must not include limits.h! */ - }; - -/* Now define the internal interfaces. */ -extern struct __old_dirent64 *__old_readdir64 (DIR *__dirp); -extern int __old_readdir64_r (DIR *__dirp, struct __old_dirent64 *__entry, - struct __old_dirent64 **__result); -extern __ssize_t __old_getdents64 (int __fd, char *__buf, size_t __nbytes) - internal_function; -int __old_scandir64 (const char * __dir, - struct __old_dirent64 *** __namelist, - int (*__selector) (const struct __old_dirent64 *), - int (*__cmp) (const struct __old_dirent64 **, - const struct __old_dirent64 **)); - -#endif diff --git a/sysdeps/unix/sysv/linux/i386/profil-counter.h b/sysdeps/unix/sysv/linux/i386/profil-counter.h deleted file mode 100644 index 3e7f75d525..0000000000 --- a/sysdeps/unix/sysv/linux/i386/profil-counter.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Low-level statistical profiling support function. Linux/i386 version. - Copyright (C) 1996-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, const 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/sysdeps/unix/sysv/linux/i386/putmsg.c b/sysdeps/unix/sysv/linux/i386/putmsg.c deleted file mode 100644 index 7270eb07ab..0000000000 --- a/sysdeps/unix/sysv/linux/i386/putmsg.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1998-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 <stddef.h> -#include <stropts.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#ifdef __NR_putpmsg -int -putmsg (int fildes, const struct strbuf *ctlptr, const struct strbuf *dataptr, - int flags) -{ - return INLINE_SYSCALL (putpmsg, 5, fildes, ctlptr, dataptr, -1, flags); -} -#else -# include <streams/putmsg.c> -#endif diff --git a/sysdeps/unix/sysv/linux/i386/readdir64.c b/sysdeps/unix/sysv/linux/i386/readdir64.c deleted file mode 100644 index f80b6a7ba2..0000000000 --- a/sysdeps/unix/sysv/linux/i386/readdir64.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 2000-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 __READDIR __readdir64 -#define __GETDENTS __getdents64 -#define DIRENT_TYPE struct dirent64 - -#include <sysdeps/posix/readdir.c> - -#include <shlib-compat.h> - -#undef __READDIR -#undef __GETDENTS -#undef DIRENT_TYPE - -versioned_symbol (libc, __readdir64, readdir64, GLIBC_2_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) - -#include <sysdeps/unix/sysv/linux/i386/olddirent.h> - -#define __READDIR attribute_compat_text_section __old_readdir64 -#define __GETDENTS __old_getdents64 -#define DIRENT_TYPE struct __old_dirent64 - -#include <sysdeps/posix/readdir.c> - -compat_symbol (libc, __old_readdir64, readdir64, GLIBC_2_1); -#endif diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c deleted file mode 100644 index 344fd53d02..0000000000 --- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 2000-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 __READDIR_R __readdir64_r -#define __GETDENTS __getdents64 -#define DIRENT_TYPE struct dirent64 - -#include <sysdeps/posix/readdir_r.c> - -#undef __READDIR_R -#undef __GETDENTS -#undef DIRENT_TYPE - -#include <shlib-compat.h> - -versioned_symbol (libc, __readdir64_r, readdir64_r, GLIBC_2_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) - -#include <sysdeps/unix/sysv/linux/i386/olddirent.h> - -#define __READDIR_R attribute_compat_text_section __old_readdir64_r -#define __GETDENTS __old_getdents64 -#define DIRENT_TYPE struct __old_dirent64 - -#include <sysdeps/posix/readdir_r.c> - -compat_symbol (libc, __old_readdir64_r, readdir64_r, GLIBC_2_1); -#endif diff --git a/sysdeps/unix/sysv/linux/i386/readelflib.c b/sysdeps/unix/sysv/linux/i386/readelflib.c deleted file mode 100644 index 5312007eb1..0000000000 --- a/sysdeps/unix/sysv/linux/i386/readelflib.c +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (C) 1999-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Jaeger <aj@suse.de>, 1999 and - Jakub Jelinek <jakub@redhat.com>, 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/>. */ - - -int process_elf32_file (const char *file_name, const char *lib, int *flag, - unsigned int *osversion, char **soname, - void *file_contents, size_t file_length); -int process_elf64_file (const char *file_name, const char *lib, int *flag, - unsigned int *osversion, char **soname, - void *file_contents, size_t file_length); - -/* Returns 0 if everything is ok, != 0 in case of error. */ -int -process_elf_file (const char *file_name, const char *lib, int *flag, - unsigned int *osversion, char **soname, void *file_contents, - size_t file_length) -{ - ElfW(Ehdr) *elf_header = (ElfW(Ehdr) *) file_contents; - int ret, file_flag = 0; - - switch (elf_header->e_machine) - { - case EM_X86_64: - if (elf_header->e_ident[EI_CLASS] == ELFCLASS64) - /* X86-64 64bit libraries are always libc.so.6+. */ - file_flag = FLAG_X8664_LIB64|FLAG_ELF_LIBC6; - else - /* X32 libraries are always libc.so.6+. */ - file_flag = FLAG_X8664_LIBX32|FLAG_ELF_LIBC6; - break; -#ifndef SKIP_EM_IA_64 - case EM_IA_64: - if (elf_header->e_ident[EI_CLASS] == ELFCLASS64) - { - /* IA64 64bit libraries are always libc.so.6+. */ - file_flag = FLAG_IA64_LIB64|FLAG_ELF_LIBC6; - break; - } - goto failed; -#endif - case EM_386: - if (elf_header->e_ident[EI_CLASS] == ELFCLASS32) - break; - /* Fall through. */ - default: -#ifndef SKIP_EM_IA_64 -failed: -#endif - error (0, 0, _("%s is for unknown machine %d.\n"), - file_name, elf_header->e_machine); - return 1; - } - - if (elf_header->e_ident[EI_CLASS] == ELFCLASS32) - ret = process_elf32_file (file_name, lib, flag, osversion, soname, - file_contents, file_length); - else - ret = process_elf64_file (file_name, lib, flag, osversion, soname, - file_contents, file_length); - - if (!ret && file_flag) - *flag = file_flag; - - return ret; -} - -#undef __ELF_NATIVE_CLASS -#undef process_elf_file -#define process_elf_file process_elf32_file -#define __ELF_NATIVE_CLASS 32 -#include "elf/readelflib.c" - -#undef __ELF_NATIVE_CLASS -#undef process_elf_file -#define process_elf_file process_elf64_file -#define __ELF_NATIVE_CLASS 64 -#include "elf/readelflib.c" diff --git a/sysdeps/unix/sysv/linux/i386/register-dump.h b/sysdeps/unix/sysv/linux/i386/register-dump.h deleted file mode 100644 index 0ca0866d47..0000000000 --- a/sysdeps/unix/sysv/linux/i386/register-dump.h +++ /dev/null @@ -1,255 +0,0 @@ -/* Dump registers. - Copyright (C) 1998-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. - - 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: - - EAX: XXXXXXXX EBX: XXXXXXXX ECX: XXXXXXXX EDX: XXXXXXXX - ESI: XXXXXXXX EDI: XXXXXXXX EBP: XXXXXXXX ESP: XXXXXXXX - - EIP: XXXXXXXX EFLAGS: XXXXXXXX - - CS: XXXX DS: XXXX ES: XXXX FS: XXXX GS: XXXX SS: XXXX - - Trap: XXXXXXXX Error: XXXXXXXX OldMask: XXXXXXXX - ESP/SIGNAL: XXXXXXXX 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 - - */ - -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 sigcontext *ctx) -{ - char regs[21][8]; - char fpregs[31][8]; - struct iovec iov[97]; - size_t nr = 0; - -#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->eax, regs[0], 8); - hexvalue (ctx->ebx, regs[1], 8); - hexvalue (ctx->ecx, regs[2], 8); - hexvalue (ctx->edx, regs[3], 8); - hexvalue (ctx->esi, regs[4], 8); - hexvalue (ctx->edi, regs[5], 8); - hexvalue (ctx->ebp, regs[6], 8); - hexvalue (ctx->esp, regs[7], 8); - hexvalue (ctx->eip, regs[8], 8); - hexvalue (ctx->eflags, regs[9], 8); - hexvalue (ctx->cs, regs[10], 4); - hexvalue (ctx->ds, regs[11], 4); - hexvalue (ctx->es, regs[12], 4); - hexvalue (ctx->fs, regs[13], 4); - hexvalue (ctx->gs, regs[14], 4); - hexvalue (ctx->ss, regs[15], 4); - hexvalue (ctx->trapno, regs[16], 8); - hexvalue (ctx->err, regs[17], 8); - hexvalue (ctx->oldmask, regs[18], 8); - hexvalue (ctx->esp_at_signal, regs[19], 8); - hexvalue (ctx->cr2, regs[20], 8); - - /* Generate the output. */ - ADD_STRING ("Register dump:\n\n EAX: "); - ADD_MEM (regs[0], 8); - ADD_STRING (" EBX: "); - ADD_MEM (regs[1], 8); - ADD_STRING (" ECX: "); - ADD_MEM (regs[2], 8); - ADD_STRING (" EDX: "); - ADD_MEM (regs[3], 8); - ADD_STRING ("\n ESI: "); - ADD_MEM (regs[4], 8); - ADD_STRING (" EDI: "); - ADD_MEM (regs[5], 8); - ADD_STRING (" EBP: "); - ADD_MEM (regs[6], 8); - ADD_STRING (" ESP: "); - ADD_MEM (regs[7], 8); - ADD_STRING ("\n\n EIP: "); - ADD_MEM (regs[8], 8); - ADD_STRING (" EFLAGS: "); - ADD_MEM (regs[9], 8); - ADD_STRING ("\n\n CS: "); - ADD_MEM (regs[10], 4); - ADD_STRING (" DS: "); - ADD_MEM (regs[11], 4); - ADD_STRING (" ES: "); - ADD_MEM (regs[12], 4); - ADD_STRING (" FS: "); - ADD_MEM (regs[13], 4); - ADD_STRING (" GS: "); - ADD_MEM (regs[14], 4); - ADD_STRING (" SS: "); - ADD_MEM (regs[15], 4); - ADD_STRING ("\n\n Trap: "); - ADD_MEM (regs[16], 8); - ADD_STRING (" Error: "); - ADD_MEM (regs[17], 8); - ADD_STRING (" OldMask: "); - ADD_MEM (regs[18], 8); - ADD_STRING ("\n ESP/signal: "); - ADD_MEM (regs[19], 8); - ADD_STRING (" CR2: "); - ADD_MEM (regs[20], 8); - - if (ctx->fpstate != NULL) - { - - /* Generate output for the FPU control/status registers. */ - hexvalue (ctx->fpstate->cw, fpregs[0], 8); - hexvalue (ctx->fpstate->sw, fpregs[1], 8); - hexvalue (ctx->fpstate->tag, fpregs[2], 8); - hexvalue (ctx->fpstate->ipoff, fpregs[3], 8); - hexvalue (ctx->fpstate->cssel, fpregs[4], 4); - hexvalue (ctx->fpstate->dataoff, fpregs[5], 8); - hexvalue (ctx->fpstate->datasel, fpregs[6], 4); - - 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 IPOFF: "); - ADD_MEM (fpregs[3], 8); - ADD_STRING (" CSSEL: "); - ADD_MEM (fpregs[4], 4); - ADD_STRING (" DATAOFF: "); - ADD_MEM (fpregs[5], 8); - ADD_STRING (" DATASEL: "); - ADD_MEM (fpregs[6], 4); - - /* Now the real FPU registers. */ - hexvalue (ctx->fpstate->_st[0].exponent, fpregs[7], 8); - hexvalue (ctx->fpstate->_st[0].significand[3] << 16 - | ctx->fpstate->_st[0].significand[2], fpregs[8], 8); - hexvalue (ctx->fpstate->_st[0].significand[1] << 16 - | ctx->fpstate->_st[0].significand[0], fpregs[9], 8); - hexvalue (ctx->fpstate->_st[1].exponent, fpregs[10], 8); - hexvalue (ctx->fpstate->_st[1].significand[3] << 16 - | ctx->fpstate->_st[1].significand[2], fpregs[11], 8); - hexvalue (ctx->fpstate->_st[1].significand[1] << 16 - | ctx->fpstate->_st[1].significand[0], fpregs[12], 8); - hexvalue (ctx->fpstate->_st[2].exponent, fpregs[13], 8); - hexvalue (ctx->fpstate->_st[2].significand[3] << 16 - | ctx->fpstate->_st[2].significand[2], fpregs[14], 8); - hexvalue (ctx->fpstate->_st[2].significand[1] << 16 - | ctx->fpstate->_st[2].significand[0], fpregs[15], 8); - hexvalue (ctx->fpstate->_st[3].exponent, fpregs[16], 8); - hexvalue (ctx->fpstate->_st[3].significand[3] << 16 - | ctx->fpstate->_st[3].significand[2], fpregs[17], 8); - hexvalue (ctx->fpstate->_st[3].significand[1] << 16 - | ctx->fpstate->_st[3].significand[0], fpregs[18], 8); - hexvalue (ctx->fpstate->_st[4].exponent, fpregs[19], 8); - hexvalue (ctx->fpstate->_st[4].significand[3] << 16 - | ctx->fpstate->_st[4].significand[2], fpregs[20], 8); - hexvalue (ctx->fpstate->_st[4].significand[1] << 16 - | ctx->fpstate->_st[4].significand[0], fpregs[21], 8); - hexvalue (ctx->fpstate->_st[5].exponent, fpregs[22], 8); - hexvalue (ctx->fpstate->_st[5].significand[3] << 16 - | ctx->fpstate->_st[5].significand[2], fpregs[23], 8); - hexvalue (ctx->fpstate->_st[5].significand[1] << 16 - | ctx->fpstate->_st[5].significand[0], fpregs[24], 8); - hexvalue (ctx->fpstate->_st[6].exponent, fpregs[25], 8); - hexvalue (ctx->fpstate->_st[6].significand[3] << 16 - | ctx->fpstate->_st[6].significand[2], fpregs[26], 8); - hexvalue (ctx->fpstate->_st[6].significand[1] << 16 - | ctx->fpstate->_st[6].significand[0], fpregs[27], 8); - hexvalue (ctx->fpstate->_st[7].exponent, fpregs[28], 8); - hexvalue (ctx->fpstate->_st[7].significand[3] << 16 - | ctx->fpstate->_st[7].significand[2], fpregs[29], 8); - hexvalue (ctx->fpstate->_st[7].significand[1] << 16 - | ctx->fpstate->_st[7].significand[0], fpregs[30], 8); - - ADD_STRING ("\n\n ST(0) "); - ADD_MEM (fpregs[7], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[8], 8); - ADD_MEM (fpregs[9], 8); - ADD_STRING (" ST(1) "); - ADD_MEM (fpregs[10], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[11], 8); - ADD_MEM (fpregs[12], 8); - ADD_STRING ("\n ST(2) "); - ADD_MEM (fpregs[13], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[14], 8); - ADD_MEM (fpregs[15], 8); - ADD_STRING (" ST(3) "); - ADD_MEM (fpregs[16], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[17], 8); - ADD_MEM (fpregs[18], 8); - ADD_STRING ("\n ST(4) "); - ADD_MEM (fpregs[19], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[20], 8); - ADD_MEM (fpregs[21], 8); - ADD_STRING (" ST(5) "); - ADD_MEM (fpregs[22], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[23], 8); - ADD_MEM (fpregs[24], 8); - ADD_STRING ("\n ST(6) "); - ADD_MEM (fpregs[25], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[26], 8); - ADD_MEM (fpregs[27], 8); - ADD_STRING (" ST(7) "); - ADD_MEM (fpregs[28], 4); - ADD_STRING (" "); - ADD_MEM (fpregs[29], 8); - ADD_MEM (fpregs[30], 8); - } - - ADD_STRING ("\n"); - - /* Write the stuff out. */ - writev (fd, iov, nr); -} - - -#define REGISTER_DUMP register_dump (fd, &ctx) diff --git a/sysdeps/unix/sysv/linux/i386/scandir64.c b/sysdeps/unix/sysv/linux/i386/scandir64.c deleted file mode 100644 index 5089a2f1a5..0000000000 --- a/sysdeps/unix/sysv/linux/i386/scandir64.c +++ /dev/null @@ -1,136 +0,0 @@ -/* Copyright (C) 2000-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 <dirent.h> - -#define SCANDIR __scandir64 -#define SCANDIR_TAIL __scandir64_tail -#define DIRENT_TYPE struct dirent64 - -#include <dirent/scandir.c> - -#undef SCANDIR -#undef SCANDIR_TAIL -#undef DIRENT_TYPE - -#include <shlib-compat.h> - -versioned_symbol (libc, __scandir64, scandir64, GLIBC_2_2); - -#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2) -# include <string.h> -# include <errno.h> -# include "olddirent.h" - -int -__old_scandir64 (const char *dir, struct __old_dirent64 ***namelist, - int (*select) (const struct __old_dirent64 *), - int (*cmp) (const struct __old_dirent64 **, - const struct __old_dirent64 **)) -{ - DIR *dp = __opendir (dir); - struct __old_dirent64 **v = NULL; - size_t vsize = 0; - struct scandir_cancel_struct c; - struct __old_dirent64 *d; - int save; - - if (dp == NULL) - return -1; - - save = errno; - __set_errno (0); - - c.dp = dp; - c.v = NULL; - c.cnt = 0; - __libc_cleanup_push (__scandir_cancel_handler, &c); - - while ((d = __old_readdir64 (dp)) != NULL) - { - int use_it = select == NULL; - - if (! use_it) - { - use_it = select (d); - /* The select function might have changed errno. It was - zero before and it need to be again to make the latter - tests work. */ - __set_errno (0); - } - - if (use_it) - { - struct __old_dirent64 *vnew; - size_t dsize; - - /* Ignore errors from select or readdir */ - __set_errno (0); - - if (__glibc_unlikely (c.cnt == vsize)) - { - struct __old_dirent64 **new; - if (vsize == 0) - vsize = 10; - else - vsize *= 2; - new = (struct __old_dirent64 **) realloc (v, - vsize * sizeof (*v)); - if (new == NULL) - break; - v = new; - c.v = (void *) v; - } - - dsize = &d->d_name[_D_ALLOC_NAMLEN (d)] - (char *) d; - vnew = (struct __old_dirent64 *) malloc (dsize); - if (vnew == NULL) - break; - - v[c.cnt++] = (struct __old_dirent64 *) memcpy (vnew, d, dsize); - } - } - - if (__builtin_expect (errno, 0) != 0) - { - save = errno; - - while (c.cnt > 0) - free (v[--c.cnt]); - free (v); - c.cnt = -1; - } - else - { - /* Sort the list if we have a comparison function to sort with. */ - if (cmp != NULL) - qsort (v, c.cnt, sizeof (*v), - (int (*) (const void *, const void *)) cmp); - - *namelist = v; - } - - __libc_cleanup_pop (0); - - (void) __closedir (dp); - __set_errno (save); - - return c.cnt; -} -compat_symbol (libc, __old_scandir64, scandir64, GLIBC_2_1); - -#endif diff --git a/sysdeps/unix/sysv/linux/i386/setcontext.S b/sysdeps/unix/sysv/linux/i386/setcontext.S deleted file mode 100644 index c6fa618a01..0000000000 --- a/sysdeps/unix/sysv/linux/i386/setcontext.S +++ /dev/null @@ -1,96 +0,0 @@ -/* Install given context. - Copyright (C) 2001-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. - - 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" - - -ENTRY(__setcontext) - /* Load address of the context data structure. */ - movl 4(%esp), %eax - - /* Get the current signal mask. Note that we preserve EBX in case - the system call fails and we return from the function with an - error. */ - pushl %ebx - cfi_adjust_cfa_offset (4) - xorl %edx, %edx - leal oSIGMASK(%eax), %ecx - movl $SIG_SETMASK, %ebx - cfi_rel_offset (ebx, 0) - movl $__NR_sigprocmask, %eax - ENTER_KERNEL - popl %ebx - cfi_adjust_cfa_offset (-4) - cfi_restore (ebx) - cmpl $-4095, %eax /* Check %eax for error. */ - jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ - - /* EAX was modified, reload it. */ - movl 4(%esp), %eax - - /* Restore the floating-point context. Not the registers, only the - rest. */ - movl oFPREGS(%eax), %ecx - fldenv (%ecx) - - /* Restore the FS segment register. We don't touch the GS register - since it is used for threads. */ - movl oFS(%eax), %ecx - movw %cx, %fs - - /* Fetch the address to return to. */ - movl oEIP(%eax), %ecx - - /* Load the new stack pointer. */ - cfi_def_cfa (eax, 0) - cfi_offset (edi, oEDI) - cfi_offset (esi, oESI) - cfi_offset (ebp, oEBP) - cfi_offset (ebx, oEBX) - cfi_offset (edx, oEDX) - cfi_offset (ecx, oECX) - movl oESP(%eax), %esp - - /* Push the return address on the new stack so we can return there. */ - pushl %ecx - - /* Load the values of all the 32-bit registers (except ESP). - Since we are loading from EAX, it must be last. */ - movl oEDI(%eax), %edi - movl oESI(%eax), %esi - movl oEBP(%eax), %ebp - movl oEBX(%eax), %ebx - movl oEDX(%eax), %edx - movl oECX(%eax), %ecx - movl oEAX(%eax), %eax - - /* End FDE here, we fall into another context. */ - cfi_endproc - cfi_startproc - - /* The following 'ret' will pop the address of the code and jump - to it. */ - - ret -PSEUDO_END(__setcontext) -libc_hidden_def (__setcontext) - -weak_alias (__setcontext, setcontext) diff --git a/sysdeps/unix/sysv/linux/i386/shlib-versions b/sysdeps/unix/sysv/linux/i386/shlib-versions deleted file mode 100644 index ca5d15b1df..0000000000 --- a/sysdeps/unix/sysv/linux/i386/shlib-versions +++ /dev/null @@ -1 +0,0 @@ -ld=ld-linux.so.2 diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c deleted file mode 100644 index 0cc9d67ad9..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sigaction.c +++ /dev/null @@ -1,129 +0,0 @@ -/* POSIX.1 `sigaction' call for Linux/i386. - Copyright (C) 1991-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> -#include <ldsodefs.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> - -/* 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. */ -#ifdef __NR_rt_sigaction -extern void restore_rt (void) asm ("__restore_rt") attribute_hidden; -#endif -extern void restore (void) asm ("__restore") 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; - kact.sa_flags = act->sa_flags; - memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); - - if (GLRO(dl_sysinfo_dso) == NULL) - { - kact.sa_flags |= SA_RESTORER; - - kact.sa_restorer = ((act->sa_flags & SA_SIGINFO) - ? &restore_rt : &restore); - } - } - - /* XXX The size argument hopefully will have to be changed to the - real size of the user-level sigset_t. */ - INTERNAL_SYSCALL_DECL (err); - result = INTERNAL_SYSCALL (rt_sigaction, err, 4, - sig, act ? &kact : NULL, - oact ? &koact : NULL, _NSIG / 8); - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, - err)); - else 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 and __restore_rt) and the exact instruction sequence. - If you ever feel the need to make any changes, please notify the - appropriate GDB maintainer. */ - -#define RESTORE(name, syscall) RESTORE2 (name, syscall) -#define RESTORE2(name, syscall) \ -asm \ - ( \ - ".text\n" \ - " .align 16\n" \ - "__" #name ":\n" \ - " movl $" #syscall ", %eax\n" \ - " int $0x80" \ - ); - -#ifdef __NR_rt_sigaction -/* The return code for realtime-signals. */ -RESTORE (restore_rt, __NR_rt_sigreturn) -#endif - -/* For the boring old signals. */ -#undef RESTORE2 -#define RESTORE2(name, syscall) \ -asm \ - ( \ - ".text\n" \ - " .align 8\n" \ - "__" #name ":\n" \ - " popl %eax\n" \ - " movl $" #syscall ", %eax\n" \ - " int $0x80" \ - ); - -RESTORE (restore, __NR_sigreturn) diff --git a/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h b/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h deleted file mode 100644 index 7e2764eb65..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sigcontextinfo.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1998-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. - - 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 SIGCONTEXT struct sigcontext -#define SIGCONTEXT_EXTRA_ARGS -#define GET_PC(ctx) ((void *) ctx.eip) -#define GET_FRAME(ctx) ((void *) ctx.ebp) -#define GET_STACK(ctx) ((void *) ctx.esp_at_signal) -#define CALL_SIGHANDLER(handler, signo, ctx) \ -do { \ - int __tmp1, __tmp2, __tmp3, __tmp4; \ - __asm __volatile ("movl\t%%esp, %%edi\n\t" \ - "andl\t$-16, %%esp\n\t" \ - "subl\t%8, %%esp\n\t" \ - "movl\t%%edi, %c8-4(%%esp)\n\t" \ - "movl\t%1, 0(%%esp)\n\t" \ - "leal\t4(%%esp), %%edi\n\t" \ - "cld\n\t" \ - "rep\tmovsl\n\t" \ - "call\t*%0\n\t" \ - "cld\n\t" \ - "movl\t%9, %%ecx\n\t" \ - "subl\t%%edi, %%esi\n\t" \ - "leal\t4(%%esp,%%esi,1), %%edi\n\t" \ - "leal\t4(%%esp), %%esi\n\t" \ - "rep\tmovsl\n\t" \ - "movl\t%c8-4(%%esp), %%esp\n\t" \ - : "=a" (__tmp1), "=d" (__tmp2), "=S" (__tmp3), \ - "=c" (__tmp4) \ - : "0" (handler), "1" (signo), "2" (&ctx), \ - "3" (sizeof (struct sigcontext) / 4), \ - "n" ((sizeof (struct sigcontext) + 19) & ~15), \ - "i" (sizeof (struct sigcontext) / 4) \ - : "cc", "edi"); \ -} while (0) diff --git a/sysdeps/unix/sysv/linux/i386/smp.h b/sysdeps/unix/sysv/linux/i386/smp.h deleted file mode 100644 index 7d1a7f201b..0000000000 --- a/sysdeps/unix/sysv/linux/i386/smp.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Determine whether the host has multiple processors. Linux version. - Copyright (C) 1996-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 Library General Public License as - published by the Free Software Foundation; either version 2 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If - not, see <http://www.gnu.org/licenses/>. */ - -#include <errno.h> -#include <fcntl.h> -#include <string.h> -#include <sys/utsname.h> -#include <not-cancel.h> - -/* Test whether the machine has more than one processor. This is not the - best test but good enough. More complicated tests would require `malloc' - which is not available at that time. */ -static inline int -is_smp_system (void) -{ - union - { - struct utsname uts; - char buf[512]; - } u; - char *cp; - - /* Try reading the number using `sysctl' first. */ - if (uname (&u.uts) == 0) - cp = u.uts.version; - else - { - /* This was not successful. Now try reading the /proc filesystem. */ - int fd = open_not_cancel_2 ("/proc/sys/kernel/version", O_RDONLY); - if (__builtin_expect (fd, 0) == -1 - || read_not_cancel (fd, u.buf, sizeof (u.buf)) <= 0) - /* This also didn't work. We give up and say it's a UP machine. */ - u.buf[0] = '\0'; - - close_not_cancel_no_status (fd); - cp = u.buf; - } - - return strstr (cp, "SMP") != NULL; -} diff --git a/sysdeps/unix/sysv/linux/i386/swapcontext.S b/sysdeps/unix/sysv/linux/i386/swapcontext.S deleted file mode 100644 index cfdb1f0ad1..0000000000 --- a/sysdeps/unix/sysv/linux/i386/swapcontext.S +++ /dev/null @@ -1,109 +0,0 @@ -/* Save current context and install the given one. - Copyright (C) 2001-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@redhat.com>, 2001. - - 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" - - -ENTRY(__swapcontext) - /* Load address of the context data structure we save in. */ - movl 4(%esp), %eax - - /* Return value of swapcontext. EAX is the only register whose - value is not preserved. */ - movl $0, oEAX(%eax) - - /* Save the 32-bit register values and the return address. */ - movl %ecx, oECX(%eax) - movl %edx, oEDX(%eax) - movl %edi, oEDI(%eax) - movl %esi, oESI(%eax) - movl %ebp, oEBP(%eax) - movl (%esp), %ecx - movl %ecx, oEIP(%eax) - leal 4(%esp), %ecx - movl %ecx, oESP(%eax) - movl %ebx, oEBX(%eax) - - /* Save the FS segment register. */ - xorl %edx, %edx - movw %fs, %dx - movl %edx, oFS(%eax) - - /* 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. */ - leal oFPREGSMEM(%eax), %ecx - movl %ecx, oFPREGS(%eax) - /* Save the floating-point context. */ - fnstenv (%ecx) - - /* Load address of the context data structure we have to load. */ - movl 8(%esp), %ecx - - /* Save the current signal mask and install the new one. */ - pushl %ebx - leal oSIGMASK(%eax), %edx - leal oSIGMASK(%ecx), %ecx - movl $SIG_SETMASK, %ebx - movl $__NR_sigprocmask, %eax - ENTER_KERNEL - popl %ebx - cmpl $-4095, %eax /* Check %eax for error. */ - jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ - - /* EAX was modified, reload it. */ - movl 8(%esp), %eax - - /* Restore the floating-point context. Not the registers, only the - rest. */ - movl oFPREGS(%eax), %ecx - fldenv (%ecx) - - /* Restore the FS segment register. We don't touch the GS register - since it is used for threads. */ - movl oFS(%eax), %edx - movw %dx, %fs - - /* Fetch the address to return to. */ - movl oEIP(%eax), %ecx - - /* Load the new stack pointer. */ - movl oESP(%eax), %esp - - /* Push the return address on the new stack so we can return there. */ - pushl %ecx - - /* Load the values of all the 32-bit registers (except ESP). - Since we are loading from EAX, it must be last. */ - movl oEDI(%eax), %edi - movl oESI(%eax), %esi - movl oEBP(%eax), %ebp - movl oEBX(%eax), %ebx - movl oEDX(%eax), %edx - movl oECX(%eax), %ecx - movl oEAX(%eax), %eax - - /* The following 'ret' will pop the address of the code and jump - to it. */ - ret -PSEUDO_END(__swapcontext) - -weak_alias (__swapcontext, swapcontext) diff --git a/sysdeps/unix/sysv/linux/i386/syscall.S b/sysdeps/unix/sysv/linux/i386/syscall.S deleted file mode 100644 index 9d2f176ad4..0000000000 --- a/sysdeps/unix/sysv/linux/i386/syscall.S +++ /dev/null @@ -1,35 +0,0 @@ -/* 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 <sysdep.h> - -/* Please consult the file sysdeps/unix/sysv/linux/i386/sysdep.h for - more information about the value -4095 used below.*/ - - .text -ENTRY (syscall) - - PUSHARGS_6 /* Save register contents. */ - _DOARGS_6(44) /* Load arguments. */ - movl 20(%esp), %eax /* Load syscall number into %eax. */ - ENTER_KERNEL /* Do the system call. */ - POPARGS_6 /* Restore register contents. */ - cmpl $-4095, %eax /* Check %eax for error. */ - jae SYSCALL_ERROR_LABEL /* Jump to error handler if error. */ - ret /* Return to caller. */ - -PSEUDO_END (syscall) diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list deleted file mode 100644 index 58020dfae5..0000000000 --- a/sysdeps/unix/sysv/linux/i386/syscalls.list +++ /dev/null @@ -1,26 +0,0 @@ -# File name Caller Syscall name Args Strong name Weak names - -chown - chown32 i:sii __chown chown@@GLIBC_2.1 -lchown - lchown32 i:sii __lchown lchown@@GLIBC_2.0 chown@GLIBC_2.0 -fchown - fchown32 i:iii __fchown fchown - -getegid - getegid32 Ei: __getegid getegid -geteuid - geteuid32 Ei: __geteuid geteuid -getgid - getgid32 Ei: __getgid getgid -getuid - getuid32 Ei: __getuid getuid -getresgid - getresgid32 i:ppp __getresgid getresgid -getresuid - getresuid32 i:ppp __getresuid getresuid -getgroups - getgroups32 i:ip __getgroups getgroups - -setfsgid - setfsgid32 Ei:i setfsgid -setfsuid - setfsuid32 Ei:i setfsuid - -modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt -vm86old EXTRA vm86old i:p __vm86old vm86@GLIBC_2.0 -vm86 - vm86 i:ip __vm86 vm86@@GLIBC_2.3.4 - -prlimit64 EXTRA prlimit64 i:iipp prlimit64 - -fanotify_mark EXTRA fanotify_mark i:iiiiis fanotify_mark - -personality EXTRA personality Ei:i __personality personality diff --git a/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h b/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h deleted file mode 100644 index ebf601918f..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sysdep-cancel.h +++ /dev/null @@ -1,153 +0,0 @@ -/* 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) - -# undef PSEUDO -# define PSEUDO(name, syscall_name, args) \ - .text; \ - ENTRY (name) \ - cmpl $0, %gs:MULTIPLE_THREADS_OFFSET; \ - jne L(pseudo_cancel); \ - .type __##syscall_name##_nocancel,@function; \ - .globl __##syscall_name##_nocancel; \ - __##syscall_name##_nocancel: \ - DO_CALL (syscall_name, args); \ - cmpl $-4095, %eax; \ - jae SYSCALL_ERROR_LABEL; \ - ret; \ - .size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \ - L(pseudo_cancel): \ - CENABLE \ - SAVE_OLDTYPE_##args \ - PUSHCARGS_##args \ - DOCARGS_##args \ - movl $SYS_ify (syscall_name), %eax; \ - ENTER_KERNEL; \ - POPCARGS_##args; \ - POPSTATE_##args \ - cmpl $-4095, %eax; \ - jae SYSCALL_ERROR_LABEL - -# define SAVE_OLDTYPE_0 movl %eax, %ecx; -# define SAVE_OLDTYPE_1 SAVE_OLDTYPE_0 -# define SAVE_OLDTYPE_2 pushl %eax; cfi_adjust_cfa_offset (4); -# define SAVE_OLDTYPE_3 SAVE_OLDTYPE_2 -# define SAVE_OLDTYPE_4 SAVE_OLDTYPE_2 -# define SAVE_OLDTYPE_5 SAVE_OLDTYPE_2 -# define SAVE_OLDTYPE_6 SAVE_OLDTYPE_2 - -# define PUSHCARGS_0 /* No arguments to push. */ -# define DOCARGS_0 /* No arguments to frob. */ -# define POPCARGS_0 /* No arguments to pop. */ -# define _PUSHCARGS_0 /* No arguments to push. */ -# define _POPCARGS_0 /* No arguments to pop. */ - -# define PUSHCARGS_1 movl %ebx, %edx; cfi_register (ebx, edx); PUSHCARGS_0 -# define DOCARGS_1 _DOARGS_1 (4) -# define POPCARGS_1 POPCARGS_0; movl %edx, %ebx; cfi_restore (ebx); -# define _PUSHCARGS_1 pushl %ebx; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (ebx, 0); _PUSHCARGS_0 -# define _POPCARGS_1 _POPCARGS_0; popl %ebx; \ - cfi_adjust_cfa_offset (-4); cfi_restore (ebx); - -# define PUSHCARGS_2 PUSHCARGS_1 -# define DOCARGS_2 _DOARGS_2 (12) -# define POPCARGS_2 POPCARGS_1 -# define _PUSHCARGS_2 _PUSHCARGS_1 -# define _POPCARGS_2 _POPCARGS_1 - -# define PUSHCARGS_3 _PUSHCARGS_2 -# define DOCARGS_3 _DOARGS_3 (20) -# define POPCARGS_3 _POPCARGS_3 -# define _PUSHCARGS_3 _PUSHCARGS_2 -# define _POPCARGS_3 _POPCARGS_2 - -# define PUSHCARGS_4 _PUSHCARGS_4 -# define DOCARGS_4 _DOARGS_4 (28) -# define POPCARGS_4 _POPCARGS_4 -# define _PUSHCARGS_4 pushl %esi; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (esi, 0); _PUSHCARGS_3 -# define _POPCARGS_4 _POPCARGS_3; popl %esi; \ - cfi_adjust_cfa_offset (-4); cfi_restore (esi); - -# define PUSHCARGS_5 _PUSHCARGS_5 -# define DOCARGS_5 _DOARGS_5 (36) -# define POPCARGS_5 _POPCARGS_5 -# define _PUSHCARGS_5 pushl %edi; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (edi, 0); _PUSHCARGS_4 -# define _POPCARGS_5 _POPCARGS_4; popl %edi; \ - cfi_adjust_cfa_offset (-4); cfi_restore (edi); - -# define PUSHCARGS_6 _PUSHCARGS_6 -# define DOCARGS_6 _DOARGS_6 (44) -# define POPCARGS_6 _POPCARGS_6 -# define _PUSHCARGS_6 pushl %ebp; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (ebp, 0); _PUSHCARGS_5 -# define _POPCARGS_6 _POPCARGS_5; popl %ebp; \ - cfi_adjust_cfa_offset (-4); cfi_restore (ebp); - -# if IS_IN (libpthread) -# define CENABLE call __pthread_enable_asynccancel; -# define CDISABLE call __pthread_disable_asynccancel -# elif IS_IN (libc) -# define CENABLE call __libc_enable_asynccancel; -# define CDISABLE call __libc_disable_asynccancel -# elif IS_IN (librt) -# define CENABLE call __librt_enable_asynccancel; -# define CDISABLE call __librt_disable_asynccancel -# else -# error Unsupported library -# endif -# define POPSTATE_0 \ - pushl %eax; cfi_adjust_cfa_offset (4); movl %ecx, %eax; \ - CDISABLE; popl %eax; cfi_adjust_cfa_offset (-4); -# define POPSTATE_1 POPSTATE_0 -# define POPSTATE_2 xchgl (%esp), %eax; CDISABLE; popl %eax; \ - cfi_adjust_cfa_offset (-4); -# define POPSTATE_3 POPSTATE_2 -# define POPSTATE_4 POPSTATE_3 -# define POPSTATE_5 POPSTATE_4 -# define POPSTATE_6 POPSTATE_5 - -# ifndef __ASSEMBLER__ -# define SINGLE_THREAD_P \ - __builtin_expect (THREAD_GETMEM (THREAD_SELF, \ - header.multiple_threads) == 0, 1) -# else -# define SINGLE_THREAD_P cmpl $0, %gs:MULTIPLE_THREADS_OFFSET -# 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/sysdeps/unix/sysv/linux/i386/sysdep.c b/sysdeps/unix/sysv/linux/i386/sysdep.c deleted file mode 100644 index 7d65ad3518..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sysdep.c +++ /dev/null @@ -1,30 +0,0 @@ -/* 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 <errno.h> -#include <sysdep.h> - -/* This routine is jumped to by all the syscall handlers, to stash - an error number into errno. ERROR is the negative error number - returned from the x86 kernel. */ -int -__attribute__ ((__regparm__ (1))) -__syscall_error (int error) -{ - __set_errno (-error); - return -1; -} diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h deleted file mode 100644 index 449b23e49b..0000000000 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ /dev/null @@ -1,657 +0,0 @@ -/* Copyright (C) 1992-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper, <drepper@gnu.org>, August 1995. - - 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_I386_SYSDEP_H -#define _LINUX_I386_SYSDEP_H 1 - -/* There is some commonality. */ -#include <sysdeps/unix/sysv/linux/sysdep.h> -#include <sysdeps/unix/i386/sysdep.h> -/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ -#include <dl-sysdep.h> -#include <tls.h> - - -/* 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 - -#if defined USE_DL_SYSINFO \ - && (IS_IN (libc) || IS_IN (libpthread)) -# define I386_USE_SYSENTER 1 -#else -# undef I386_USE_SYSENTER -#endif - -/* Since GCC 5 and above can properly spill %ebx with PIC when needed, - we can inline syscalls with 6 arguments if GCC 5 or above is used - to compile glibc. Disable GCC 5 optimization when compiling for - profiling or when -fno-omit-frame-pointer is used since asm ("ebp") - can't be used to put the 6th argument in %ebp for syscall. */ -#if __GNUC_PREREQ (5,0) && !defined PROF && CAN_USE_REGISTER_ASM_EBP -# define OPTIMIZE_FOR_GCC_5 -#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. */ -#define SYSCALL_ERROR_LABEL __syscall_error - -#undef PSEUDO -#define PSEUDO(name, syscall_name, args) \ - .text; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - cmpl $-4095, %eax; \ - 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 - -/* The function has to return the error code. */ -#undef PSEUDO_ERRVAL -#define PSEUDO_ERRVAL(name, syscall_name, args) \ - .text; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - negl %eax - -#undef PSEUDO_END_ERRVAL -#define PSEUDO_END_ERRVAL(name) \ - END (name) - -#define ret_ERRVAL ret - -#define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.c is used. */ - -/* The original calling convention for system calls on Linux/i386 is - to use int $0x80. */ -#ifdef I386_USE_SYSENTER -# ifdef SHARED -# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET -# else -# define ENTER_KERNEL call *_dl_sysinfo -# endif -#else -# define ENTER_KERNEL int $0x80 -#endif - -/* Linux takes system call arguments in registers: - - syscall number %eax call-clobbered - arg 1 %ebx call-saved - arg 2 %ecx call-clobbered - arg 3 %edx call-clobbered - arg 4 %esi call-saved - arg 5 %edi call-saved - arg 6 %ebp call-saved - - The stack layout upon entering the function is: - - 24(%esp) Arg# 6 - 20(%esp) Arg# 5 - 16(%esp) Arg# 4 - 12(%esp) Arg# 3 - 8(%esp) Arg# 2 - 4(%esp) Arg# 1 - (%esp) Return address - - (Of course a function with say 3 arguments does not have entries for - arguments 4, 5, and 6.) - - The following code tries hard to be optimal. A general assumption - (which is true according to the data books I have) is that - - 2 * xchg is more expensive than pushl + movl + popl - - Beside this a neat trick is used. The calling conventions for Linux - tell that among the registers used for parameters %ecx and %edx need - not be saved. Beside this we may clobber this registers even when - they are not used for parameter passing. - - As a result one can see below that we save the content of the %ebx - register in the %edx register when we have less than 3 arguments - (2 * movl is less expensive than pushl + popl). - - Second unlike for the other registers we don't save the content of - %ecx and %edx when we have more than 1 and 2 registers resp. - - The code below might look a bit long but we have to take care for - the pipelined processors (i586). Here the `pushl' and `popl' - instructions are marked as NP (not pairable) but the exception is - two consecutive of these instruction. This gives no penalty on - other processors though. */ - -#undef DO_CALL -#define DO_CALL(syscall_name, args) \ - PUSHARGS_##args \ - DOARGS_##args \ - movl $SYS_ify (syscall_name), %eax; \ - ENTER_KERNEL \ - POPARGS_##args - -#define PUSHARGS_0 /* No arguments to push. */ -#define DOARGS_0 /* No arguments to frob. */ -#define POPARGS_0 /* No arguments to pop. */ -#define _PUSHARGS_0 /* No arguments to push. */ -#define _DOARGS_0(n) /* No arguments to frob. */ -#define _POPARGS_0 /* No arguments to pop. */ - -#define PUSHARGS_1 movl %ebx, %edx; L(SAVEBX1): PUSHARGS_0 -#define DOARGS_1 _DOARGS_1 (4) -#define POPARGS_1 POPARGS_0; movl %edx, %ebx; L(RESTBX1): -#define _PUSHARGS_1 pushl %ebx; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (ebx, 0); L(PUSHBX1): _PUSHARGS_0 -#define _DOARGS_1(n) movl n(%esp), %ebx; _DOARGS_0(n-4) -#define _POPARGS_1 _POPARGS_0; popl %ebx; cfi_adjust_cfa_offset (-4); \ - cfi_restore (ebx); L(POPBX1): - -#define PUSHARGS_2 PUSHARGS_1 -#define DOARGS_2 _DOARGS_2 (8) -#define POPARGS_2 POPARGS_1 -#define _PUSHARGS_2 _PUSHARGS_1 -#define _DOARGS_2(n) movl n(%esp), %ecx; _DOARGS_1 (n-4) -#define _POPARGS_2 _POPARGS_1 - -#define PUSHARGS_3 _PUSHARGS_2 -#define DOARGS_3 _DOARGS_3 (16) -#define POPARGS_3 _POPARGS_3 -#define _PUSHARGS_3 _PUSHARGS_2 -#define _DOARGS_3(n) movl n(%esp), %edx; _DOARGS_2 (n-4) -#define _POPARGS_3 _POPARGS_2 - -#define PUSHARGS_4 _PUSHARGS_4 -#define DOARGS_4 _DOARGS_4 (24) -#define POPARGS_4 _POPARGS_4 -#define _PUSHARGS_4 pushl %esi; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (esi, 0); L(PUSHSI1): _PUSHARGS_3 -#define _DOARGS_4(n) movl n(%esp), %esi; _DOARGS_3 (n-4) -#define _POPARGS_4 _POPARGS_3; popl %esi; cfi_adjust_cfa_offset (-4); \ - cfi_restore (esi); L(POPSI1): - -#define PUSHARGS_5 _PUSHARGS_5 -#define DOARGS_5 _DOARGS_5 (32) -#define POPARGS_5 _POPARGS_5 -#define _PUSHARGS_5 pushl %edi; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (edi, 0); L(PUSHDI1): _PUSHARGS_4 -#define _DOARGS_5(n) movl n(%esp), %edi; _DOARGS_4 (n-4) -#define _POPARGS_5 _POPARGS_4; popl %edi; cfi_adjust_cfa_offset (-4); \ - cfi_restore (edi); L(POPDI1): - -#define PUSHARGS_6 _PUSHARGS_6 -#define DOARGS_6 _DOARGS_6 (40) -#define POPARGS_6 _POPARGS_6 -#define _PUSHARGS_6 pushl %ebp; cfi_adjust_cfa_offset (4); \ - cfi_rel_offset (ebp, 0); L(PUSHBP1): _PUSHARGS_5 -#define _DOARGS_6(n) movl n(%esp), %ebp; _DOARGS_5 (n-4) -#define _POPARGS_6 _POPARGS_5; popl %ebp; cfi_adjust_cfa_offset (-4); \ - cfi_restore (ebp); L(POPBP1): - -#else /* !__ASSEMBLER__ */ - -extern int __syscall_error (int) - attribute_hidden __attribute__ ((__regparm__ (1))); - -#ifndef OPTIMIZE_FOR_GCC_5 -/* We need some help from the assembler to generate optimal code. We - define some macros here which later will be used. */ -asm (".L__X'%ebx = 1\n\t" - ".L__X'%ecx = 2\n\t" - ".L__X'%edx = 2\n\t" - ".L__X'%eax = 3\n\t" - ".L__X'%esi = 3\n\t" - ".L__X'%edi = 3\n\t" - ".L__X'%ebp = 3\n\t" - ".L__X'%esp = 3\n\t" - ".macro bpushl name reg\n\t" - ".if 1 - \\name\n\t" - ".if 2 - \\name\n\t" - "error\n\t" - ".else\n\t" - "xchgl \\reg, %ebx\n\t" - ".endif\n\t" - ".endif\n\t" - ".endm\n\t" - ".macro bpopl name reg\n\t" - ".if 1 - \\name\n\t" - ".if 2 - \\name\n\t" - "error\n\t" - ".else\n\t" - "xchgl \\reg, %ebx\n\t" - ".endif\n\t" - ".endif\n\t" - ".endm\n\t"); - -/* Six-argument syscalls use an out-of-line helper, because an inline - asm using all registers apart from %esp cannot work reliably and - the assembler does not support describing an asm that saves and - restores %ebp itself as a separate stack frame. This structure - stores the arguments not passed in registers; %edi is passed with a - pointer to this structure. */ -struct libc_do_syscall_args -{ - int ebx, edi, ebp; -}; -#endif - -/* Define a macro which expands inline into the wrapper code for a system - call. */ -#undef INLINE_SYSCALL -#if IS_IN (libc) -# define INLINE_SYSCALL(name, nr, args...) \ - ({ \ - unsigned int resultvar = INTERNAL_SYSCALL (name, , nr, args); \ - __glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, )) \ - ? __syscall_error (-INTERNAL_SYSCALL_ERRNO (resultvar, )) \ - : (int) resultvar; }) -#else -# define INLINE_SYSCALL(name, nr, args...) \ - ({ \ - unsigned int resultvar = INTERNAL_SYSCALL (name, , nr, args); \ - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (resultvar, ))) \ - { \ - __set_errno (INTERNAL_SYSCALL_ERRNO (resultvar, )); \ - resultvar = 0xffffffff; \ - } \ - (int) resultvar; }) -#endif - -/* Set error number and return -1. Return the internal function, - __syscall_error, which sets errno from the negative error number - and returns -1, to avoid PIC. */ -#undef INLINE_SYSCALL_ERROR_RETURN_VALUE -#define INLINE_SYSCALL_ERROR_RETURN_VALUE(resultvar) \ - __syscall_error (-(resultvar)) - -/* List of system calls which are supported as vsyscalls. */ -# define HAVE_CLOCK_GETTIME_VSYSCALL 1 -# define HAVE_GETTIMEOFDAY_VSYSCALL 1 - -/* Define a macro which expands inline into the wrapper code for a system - call. This use is for internal calls that do not need to handle errors - normally. It will never touch errno. This returns just what the kernel - gave back. - - The _NCS variant allows non-constant syscall numbers but it is not - possible to use more than four parameters. */ -#undef INTERNAL_SYSCALL -#define INTERNAL_SYSCALL_MAIN_0(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 0, args) -#define INTERNAL_SYSCALL_MAIN_1(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 1, args) -#define INTERNAL_SYSCALL_MAIN_2(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 2, args) -#define INTERNAL_SYSCALL_MAIN_3(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 3, args) -#define INTERNAL_SYSCALL_MAIN_4(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 4, args) -#define INTERNAL_SYSCALL_MAIN_5(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 5, args) -/* Each object using 6-argument inline syscalls must include a - definition of __libc_do_syscall. */ -#ifdef OPTIMIZE_FOR_GCC_5 -# define INTERNAL_SYSCALL_MAIN_6(name, err, args...) \ - INTERNAL_SYSCALL_MAIN_INLINE(name, err, 6, args) -#else /* GCC 5 */ -# define INTERNAL_SYSCALL_MAIN_6(name, err, arg1, arg2, arg3, \ - arg4, arg5, arg6) \ - struct libc_do_syscall_args _xv = \ - { \ - (int) (arg1), \ - (int) (arg5), \ - (int) (arg6) \ - }; \ - asm volatile ( \ - "movl %1, %%eax\n\t" \ - "call __libc_do_syscall" \ - : "=a" (resultvar) \ - : "i" (__NR_##name), "c" (arg2), "d" (arg3), "S" (arg4), "D" (&_xv) \ - : "memory", "cc") -#endif /* GCC 5 */ -#define INTERNAL_SYSCALL(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - INTERNAL_SYSCALL_MAIN_##nr (name, err, args); \ - (int) resultvar; }) -#ifdef I386_USE_SYSENTER -# ifdef OPTIMIZE_FOR_GCC_5 -# ifdef SHARED -# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \ - LOADREGS_##nr(args) \ - asm volatile ( \ - "call *%%gs:%P2" \ - : "=a" (resultvar) \ - : "a" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMARGS_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - LOADREGS_##nr(args) \ - asm volatile ( \ - "call *%%gs:%P2" \ - : "=a" (resultvar) \ - : "a" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMARGS_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -# else -# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \ - LOADREGS_##nr(args) \ - asm volatile ( \ - "call *_dl_sysinfo" \ - : "=a" (resultvar) \ - : "a" (__NR_##name) ASMARGS_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - LOADREGS_##nr(args) \ - asm volatile ( \ - "call *_dl_sysinfo" \ - : "=a" (resultvar) \ - : "a" (name) ASMARGS_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -# endif -# else /* GCC 5 */ -# ifdef SHARED -# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "movl %1, %%eax\n\t" \ - "call *%%gs:%P2\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "i" (__NR_##name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "call *%%gs:%P2\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \ - ASMFMT_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -# else -# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "movl %1, %%eax\n\t" \ - "call *_dl_sysinfo\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "call *_dl_sysinfo\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "0" (name) ASMFMT_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -# endif -# endif /* GCC 5 */ -#else -# ifdef OPTIMIZE_FOR_GCC_5 -# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \ - LOADREGS_##nr(args) \ - asm volatile ( \ - "int $0x80" \ - : "=a" (resultvar) \ - : "a" (__NR_##name) ASMARGS_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - LOADREGS_##nr(args) \ - asm volatile ( \ - "int $0x80" \ - : "=a" (resultvar) \ - : "a" (name) ASMARGS_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -# else /* GCC 5 */ -# define INTERNAL_SYSCALL_MAIN_INLINE(name, err, nr, args...) \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "movl %1, %%eax\n\t" \ - "int $0x80\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc") -# define INTERNAL_SYSCALL_NCS(name, err, nr, args...) \ - ({ \ - register unsigned int resultvar; \ - EXTRAVAR_##nr \ - asm volatile ( \ - LOADARGS_##nr \ - "int $0x80\n\t" \ - RESTOREARGS_##nr \ - : "=a" (resultvar) \ - : "0" (name) ASMFMT_##nr(args) : "memory", "cc"); \ - (int) resultvar; }) -# endif /* GCC 5 */ -#endif - -#undef INTERNAL_SYSCALL_DECL -#define INTERNAL_SYSCALL_DECL(err) do { } while (0) - -#undef INTERNAL_SYSCALL_ERROR_P -#define INTERNAL_SYSCALL_ERROR_P(val, err) \ - ((unsigned int) (val) >= 0xfffff001u) - -#undef INTERNAL_SYSCALL_ERRNO -#define INTERNAL_SYSCALL_ERRNO(val, err) (-(val)) - -#define LOADARGS_0 -#ifdef __PIC__ -# if defined I386_USE_SYSENTER && defined SHARED -# define LOADARGS_1 \ - "bpushl .L__X'%k3, %k3\n\t" -# define LOADARGS_5 \ - "movl %%ebx, %4\n\t" \ - "movl %3, %%ebx\n\t" -# else -# define LOADARGS_1 \ - "bpushl .L__X'%k2, %k2\n\t" -# define LOADARGS_5 \ - "movl %%ebx, %3\n\t" \ - "movl %2, %%ebx\n\t" -# endif -# define LOADARGS_2 LOADARGS_1 -# define LOADARGS_3 \ - "xchgl %%ebx, %%edi\n\t" -# define LOADARGS_4 LOADARGS_3 -#else -# define LOADARGS_1 -# define LOADARGS_2 -# define LOADARGS_3 -# define LOADARGS_4 -# define LOADARGS_5 -#endif - -#define RESTOREARGS_0 -#ifdef __PIC__ -# if defined I386_USE_SYSENTER && defined SHARED -# define RESTOREARGS_1 \ - "bpopl .L__X'%k3, %k3\n\t" -# define RESTOREARGS_5 \ - "movl %4, %%ebx" -# else -# define RESTOREARGS_1 \ - "bpopl .L__X'%k2, %k2\n\t" -# define RESTOREARGS_5 \ - "movl %3, %%ebx" -# endif -# define RESTOREARGS_2 RESTOREARGS_1 -# define RESTOREARGS_3 \ - "xchgl %%edi, %%ebx\n\t" -# define RESTOREARGS_4 RESTOREARGS_3 -#else -# define RESTOREARGS_1 -# define RESTOREARGS_2 -# define RESTOREARGS_3 -# define RESTOREARGS_4 -# define RESTOREARGS_5 -#endif - -#ifdef OPTIMIZE_FOR_GCC_5 -# define LOADREGS_0() -# define ASMARGS_0() -# define LOADREGS_1(arg1) \ - LOADREGS_0 () -# define ASMARGS_1(arg1) \ - ASMARGS_0 (), "b" ((unsigned int) (arg1)) -# define LOADREGS_2(arg1, arg2) \ - LOADREGS_1 (arg1) -# define ASMARGS_2(arg1, arg2) \ - ASMARGS_1 (arg1), "c" ((unsigned int) (arg2)) -# define LOADREGS_3(arg1, arg2, arg3) \ - LOADREGS_2 (arg1, arg2) -# define ASMARGS_3(arg1, arg2, arg3) \ - ASMARGS_2 (arg1, arg2), "d" ((unsigned int) (arg3)) -# define LOADREGS_4(arg1, arg2, arg3, arg4) \ - LOADREGS_3 (arg1, arg2, arg3) -# define ASMARGS_4(arg1, arg2, arg3, arg4) \ - ASMARGS_3 (arg1, arg2, arg3), "S" ((unsigned int) (arg4)) -# define LOADREGS_5(arg1, arg2, arg3, arg4, arg5) \ - LOADREGS_4 (arg1, arg2, arg3, arg4) -# define ASMARGS_5(arg1, arg2, arg3, arg4, arg5) \ - ASMARGS_4 (arg1, arg2, arg3, arg4), "D" ((unsigned int) (arg5)) -# define LOADREGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \ - register unsigned int _a6 asm ("ebp") = (unsigned int) (arg6); \ - LOADREGS_5 (arg1, arg2, arg3, arg4, arg5) -# define ASMARGS_6(arg1, arg2, arg3, arg4, arg5, arg6) \ - ASMARGS_5 (arg1, arg2, arg3, arg4, arg5), "r" (_a6) -#endif /* GCC 5 */ - -#define ASMFMT_0() -#ifdef __PIC__ -# define ASMFMT_1(arg1) \ - , "cd" (arg1) -# define ASMFMT_2(arg1, arg2) \ - , "d" (arg1), "c" (arg2) -# define ASMFMT_3(arg1, arg2, arg3) \ - , "D" (arg1), "c" (arg2), "d" (arg3) -# define ASMFMT_4(arg1, arg2, arg3, arg4) \ - , "D" (arg1), "c" (arg2), "d" (arg3), "S" (arg4) -# define ASMFMT_5(arg1, arg2, arg3, arg4, arg5) \ - , "0" (arg1), "m" (_xv), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5) -#else -# define ASMFMT_1(arg1) \ - , "b" (arg1) -# define ASMFMT_2(arg1, arg2) \ - , "b" (arg1), "c" (arg2) -# define ASMFMT_3(arg1, arg2, arg3) \ - , "b" (arg1), "c" (arg2), "d" (arg3) -# define ASMFMT_4(arg1, arg2, arg3, arg4) \ - , "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4) -# define ASMFMT_5(arg1, arg2, arg3, arg4, arg5) \ - , "b" (arg1), "c" (arg2), "d" (arg3), "S" (arg4), "D" (arg5) -#endif - -#define EXTRAVAR_0 -#define EXTRAVAR_1 -#define EXTRAVAR_2 -#define EXTRAVAR_3 -#define EXTRAVAR_4 -#ifdef __PIC__ -# define EXTRAVAR_5 int _xv; -#else -# define EXTRAVAR_5 -#endif - -/* Consistency check for position-independent code. */ -#if defined __PIC__ && !defined OPTIMIZE_FOR_GCC_5 -# define check_consistency() \ - ({ int __res; \ - __asm__ __volatile__ \ - (LOAD_PIC_REG_STR (cx) ";" \ - "subl %%ebx, %%ecx;" \ - "je 1f;" \ - "ud2;" \ - "1:\n" \ - : "=c" (__res)); \ - __res; }) -#endif - -#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. Using a global variable - is too complicated here since we have no PC-relative addressing mode. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xorl %gs:POINTER_GUARD, reg; \ - roll $9, reg -# define PTR_DEMANGLE(reg) rorl $9, reg; \ - xorl %gs:POINTER_GUARD, reg -# else -# define PTR_MANGLE(var) asm ("xorl %%gs:%c2, %0\n" \ - "roll $9, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# define PTR_DEMANGLE(var) asm ("rorl $9, %0\n" \ - "xorl %%gs:%c2, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# endif -#endif - -#endif /* linux/i386/sysdep.h */ diff --git a/sysdeps/unix/sysv/linux/i386/time.c b/sysdeps/unix/sysv/linux/i386/time.c deleted file mode 100644 index f614a2d73b..0000000000 --- a/sysdeps/unix/sysv/linux/i386/time.c +++ /dev/null @@ -1,34 +0,0 @@ -/* time -- Get number of seconds since Epoch. Linux/i386 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/>. */ - -#ifdef SHARED -# define time __redirect_time -#endif - -#include <time.h> - -#ifdef SHARED -# undef time -# define time_type __redirect_time - -# undef libc_hidden_def -# define libc_hidden_def(name) \ - __hidden_ver1 (__time_syscall, __GI_time, __time_syscall); -#endif - -#include <sysdeps/unix/sysv/linux/x86/time.c> diff --git a/sysdeps/unix/sysv/linux/i386/ucontext_i.sym b/sysdeps/unix/sysv/linux/i386/ucontext_i.sym deleted file mode 100644 index b11a5509cd..0000000000 --- a/sysdeps/unix/sysv/linux/i386/ucontext_i.sym +++ /dev/null @@ -1,30 +0,0 @@ -#include <stddef.h> -#include <signal.h> -#include <sys/ucontext.h> - --- - -SIG_BLOCK -SIG_SETMASK - -#define ucontext(member) offsetof (ucontext_t, member) -#define mcontext(member) ucontext (uc_mcontext.member) -#define mreg(reg) mcontext (gregs[REG_##reg]) - -oLINK ucontext (uc_link) -oSS_SP ucontext (uc_stack.ss_sp) -oSS_SIZE ucontext (uc_stack.ss_size) -oGS mreg (GS) -oFS mreg (FS) -oEDI mreg (EDI) -oESI mreg (ESI) -oEBP mreg (EBP) -oESP mreg (ESP) -oEBX mreg (EBX) -oEDX mreg (EDX) -oECX mreg (ECX) -oEAX mreg (EAX) -oEIP mreg (EIP) -oFPREGS mcontext (fpregs) -oSIGMASK ucontext (uc_sigmask) -oFPREGSMEM ucontext (__fpregs_mem) diff --git a/sysdeps/unix/sysv/linux/i386/versionsort64.c b/sysdeps/unix/sysv/linux/i386/versionsort64.c deleted file mode 100644 index 3e1c6ea35b..0000000000 --- a/sysdeps/unix/sysv/linux/i386/versionsort64.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 1992-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 <dirent.h> -#include <string.h> - -int -__versionsort64 (const struct dirent64 **a, const struct dirent64 **b) -{ - return __strverscmp ((*a)->d_name, (*b)->d_name); -} - -#include <shlib-compat.h> - -versioned_symbol (libc, __versionsort64, versionsort64, GLIBC_2_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2) - -#include <sysdeps/unix/sysv/linux/i386/olddirent.h> - -int -__old_versionsort64 (const struct __old_dirent64 **a, - const struct __old_dirent64 **b); - -int -attribute_compat_text_section -__old_versionsort64 (const struct __old_dirent64 **a, - const struct __old_dirent64 **b) -{ - return __strverscmp ((*a)->d_name, (*b)->d_name); -} - -compat_symbol (libc, __old_versionsort64, versionsort64, GLIBC_2_1); -#endif diff --git a/sysdeps/unix/sysv/linux/i386/vfork.S b/sysdeps/unix/sysv/linux/i386/vfork.S deleted file mode 100644 index 92ceca74c7..0000000000 --- a/sysdeps/unix/sysv/linux/i386/vfork.S +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 1999-2017 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Andreas Schwab <schwab@gnu.org>. - - 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 ECX. */ - popl %ecx - cfi_adjust_cfa_offset (-4) - cfi_register (%eip, %ecx) - - /* Stuff the syscall number in EAX and enter into the kernel. */ - movl $SYS_ify (vfork), %eax - int $0x80 - - /* Jump to the return PC. Don't jump directly since this - disturbs the branch target cache. Instead push the return - address back on the stack. */ - pushl %ecx - cfi_adjust_cfa_offset (4) - - cmpl $-4095, %eax - /* Branch forward if it failed. */ - jae SYSCALL_ERROR_LABEL - - ret - -PSEUDO_END (__vfork) -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) -strong_alias (__vfork, __libc_vfork) diff --git a/sysdeps/unix/sysv/linux/i386/xstat.c b/sysdeps/unix/sysv/linux/i386/xstat.c deleted file mode 100644 index 6b8b1ce3e7..0000000000 --- a/sysdeps/unix/sysv/linux/i386/xstat.c +++ /dev/null @@ -1,61 +0,0 @@ -/* xstat using old-style Unix stat system call. - Copyright (C) 1991-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/>. */ - -/* Ho hum, if xstat == xstat64 we must get rid of the prototype or gcc - will complain since they don't strictly match. */ -#define __xstat64 __xstat64_disable - -#include <errno.h> -#include <stddef.h> -#include <sys/stat.h> -#include <kernel_stat.h> - -#include <sysdep.h> -#include <sys/syscall.h> - -#include <xstatconv.h> - - -/* Get information about the file NAME in BUF. */ -int -__xstat (int vers, const char *name, struct stat *buf) -{ - int result; - - if (vers == _STAT_VER_KERNEL) - return INLINE_SYSCALL (stat, 2, name, buf); - - { - struct stat64 buf64; - - INTERNAL_SYSCALL_DECL (err); - result = INTERNAL_SYSCALL (stat64, err, 2, name, &buf64); - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result, err))) - return INLINE_SYSCALL_ERROR_RETURN_VALUE (INTERNAL_SYSCALL_ERRNO (result, - err)); - else - return __xstat32_conv (vers, &buf64, buf); - } -} -hidden_def (__xstat) -weak_alias (__xstat, _xstat); -#if XSTAT_IS_XSTAT64 -# undef __xstat64 -strong_alias (__xstat, __xstat64); -hidden_ver (__xstat, __xstat64) -#endif |