aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386')
-rw-r--r--sysdeps/unix/sysv/linux/i386/Implies2
-rw-r--r--sysdeps/unix/sysv/linux/i386/Makefile46
-rw-r--r--sysdeps/unix/sysv/linux/i386/Versions51
-rw-r--r--sysdeps/unix/sysv/linux/i386/____longjmp_chk.S109
-rw-r--r--sysdeps/unix/sysv/linux/i386/_exit.S44
-rw-r--r--sysdeps/unix/sysv/linux/i386/alphasort64.c48
-rw-r--r--sysdeps/unix/sysv/linux/i386/arch-fork.h27
-rw-r--r--sysdeps/unix/sysv/linux/i386/brk.c41
-rw-r--r--sysdeps/unix/sysv/linux/i386/c++-types.data67
-rw-r--r--sysdeps/unix/sysv/linux/i386/clone.S124
-rw-r--r--sysdeps/unix/sysv/linux/i386/configure44
-rw-r--r--sysdeps/unix/sysv/linux/i386/configure.ac22
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-librecon.h62
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-procinfo.h47
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-sysdep.h46
-rw-r--r--sysdeps/unix/sysv/linux/i386/fcntl.c61
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstat.c61
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstatat.c56
-rw-r--r--sysdeps/unix/sysv/linux/i386/get_clockfreq.c88
-rw-r--r--sysdeps/unix/sysv/linux/i386/getcontext.S83
-rw-r--r--sysdeps/unix/sysv/linux/i386/getdents64.c39
-rw-r--r--sysdeps/unix/sysv/linux/i386/getmsg.c33
-rw-r--r--sysdeps/unix/sysv/linux/i386/gettimeofday.c35
-rw-r--r--sysdeps/unix/sysv/linux/i386/glob64.c76
-rw-r--r--sysdeps/unix/sysv/linux/i386/i686/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h29
-rw-r--r--sysdeps/unix/sysv/linux/i386/i786/Implies2
-rw-r--r--sysdeps/unix/sysv/linux/i386/init-first.c50
-rw-r--r--sysdeps/unix/sysv/linux/i386/kernel-features.h50
-rw-r--r--sysdeps/unix/sysv/linux/i386/ld.abilist13
-rw-r--r--sysdeps/unix/sysv/linux/i386/ldconfig.h24
-rw-r--r--sysdeps/unix/sysv/linux/i386/libBrokenLocale.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc-do-syscall.S53
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc-lowlevellock.S19
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist2333
-rw-r--r--sysdeps/unix/sysv/linux/i386/libcrypt.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/i386/libdl.abilist14
-rw-r--r--sysdeps/unix/sysv/linux/i386/libm.abilist476
-rw-r--r--sysdeps/unix/sysv/linux/i386/libnsl.abilist124
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist257
-rw-r--r--sysdeps/unix/sysv/linux/i386/libresolv.abilist100
-rw-r--r--sysdeps/unix/sysv/linux/i386/librt.abilist47
-rw-r--r--sysdeps/unix/sysv/linux/i386/libthread_db.abilist44
-rw-r--r--sysdeps/unix/sysv/linux/i386/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/i386/lll_timedlock_wait.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/lll_timedwait_tid.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/localplt.data18
-rw-r--r--sysdeps/unix/sysv/linux/i386/lockf64.c70
-rw-r--r--sysdeps/unix/sysv/linux/i386/lowlevellock.S466
-rw-r--r--sysdeps/unix/sysv/linux/i386/lowlevellock.h267
-rw-r--r--sysdeps/unix/sysv/linux/i386/lxstat.c62
-rw-r--r--sysdeps/unix/sysv/linux/i386/makecontext.S120
-rw-r--r--sysdeps/unix/sysv/linux/i386/olddirent.h44
-rw-r--r--sysdeps/unix/sysv/linux/i386/profil-counter.h31
-rw-r--r--sysdeps/unix/sysv/linux/i386/putmsg.c34
-rw-r--r--sysdeps/unix/sysv/linux/i386/readdir64.c43
-rw-r--r--sysdeps/unix/sysv/linux/i386/readdir64_r.c43
-rw-r--r--sysdeps/unix/sysv/linux/i386/readelflib.c93
-rw-r--r--sysdeps/unix/sysv/linux/i386/register-dump.h255
-rw-r--r--sysdeps/unix/sysv/linux/i386/scandir64.c136
-rw-r--r--sysdeps/unix/sysv/linux/i386/setcontext.S96
-rw-r--r--sysdeps/unix/sysv/linux/i386/shlib-versions1
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigaction.c129
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigcontextinfo.h50
-rw-r--r--sysdeps/unix/sysv/linux/i386/smp.h55
-rw-r--r--sysdeps/unix/sysv/linux/i386/swapcontext.S109
-rw-r--r--sysdeps/unix/sysv/linux/i386/syscall.S35
-rw-r--r--sysdeps/unix/sysv/linux/i386/syscalls.list26
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep-cancel.h153
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.c30
-rw-r--r--sysdeps/unix/sysv/linux/i386/sysdep.h657
-rw-r--r--sysdeps/unix/sysv/linux/i386/time.c34
-rw-r--r--sysdeps/unix/sysv/linux/i386/ucontext_i.sym30
-rw-r--r--sysdeps/unix/sysv/linux/i386/versionsort64.c48
-rw-r--r--sysdeps/unix/sysv/linux/i386/vfork.S57
-rw-r--r--sysdeps/unix/sysv/linux/i386/xstat.c61
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