aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /sysdeps/unix/sysv/linux/i386
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-zack/build-layout-experiment.tar
glibc-zack/build-layout-experiment.tar.gz
glibc-zack/build-layout-experiment.tar.bz2
glibc-zack/build-layout-experiment.zip
Prepare for radical source tree reorganization.zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
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