aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-04-27 19:11:24 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-04-27 19:11:24 +0000
commita3fb6b6bc3f2f33e93f4c9575105f3b5f39cb201 (patch)
treeee15a3c8e09a17abce62d5b63f6ee8731e08dfa4
parent7a6f74787132aca8e3809cae8d9e7bc7bfd55ce1 (diff)
downloadglibc-a3fb6b6bc3f2f33e93f4c9575105f3b5f39cb201.zip
glibc-a3fb6b6bc3f2f33e93f4c9575105f3b5f39cb201.tar.gz
glibc-a3fb6b6bc3f2f33e93f4c9575105f3b5f39cb201.tar.bz2
Remove tilegx port.
Since tile support has been removed from the Linux kernel for 4.17, this patch removes the (unmaintained) port to tilegx from glibc (the tilepro support having been previously removed). This reflects the general principle that a glibc port needs upstream support for the architecture in all the components it build-depends on (so binutils, GCC and the Linux kernel, for the normal case of a port supporting the Linux kernel but no other OS), in order to be maintainable. Apart from removal of sysdeps/tile and sysdeps/unix/sysv/linux/tile, there are updates to various comments referencing tile for which removal of those references seemed appropriate. The configuration is removed from README and from build-many-glibcs.py. contrib.texi keeps mention of removed contributions, but I updated Chris Metcalf's entry to reflect that he also contributed the non-removed support for the generic Linux kernel syscall interface. __ASSUME_FADVISE64_64_NO_ALIGN support is removed, as it was only used by tile. * sysdeps/tile: Remove. * sysdeps/unix/sysv/linux/tile: Likewise. * README (tilegx-*-linux-gnu): Remove from list of supported configurations. * manual/contrib.texi (Contributors): Mention Chris Metcalf's contribution of support for generic Linux kernel syscall interface. * scripts/build-many-glibcs.py (Context.add_all_configs): Remove tilegx configurations. (Config.install_linux_headers): Do not handle tile. * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile in comment. * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise. * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise. [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove conditional undefine and redefine. * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile in comment. [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove conditional undefine and redefine.
-rw-r--r--ChangeLog23
-rw-r--r--NEWS2
-rw-r--r--README1
-rw-r--r--manual/contrib.texi3
-rwxr-xr-xscripts/build-many-glibcs.py9
-rw-r--r--sysdeps/tile/Implies4
-rw-r--r--sysdeps/tile/Makefile49
-rw-r--r--sysdeps/tile/Versions6
-rw-r--r--sysdeps/tile/__longjmp.S57
-rw-r--r--sysdeps/tile/__tls_get_addr.S141
-rw-r--r--sysdeps/tile/_mcount.S87
-rw-r--r--sysdeps/tile/abort-instr.h2
-rw-r--r--sysdeps/tile/atomic-machine.h110
-rw-r--r--sysdeps/tile/bits/endian.h11
-rw-r--r--sysdeps/tile/bits/fenv.h53
-rw-r--r--sysdeps/tile/bits/link.h57
-rw-r--r--sysdeps/tile/bits/setjmp.h36
-rw-r--r--sysdeps/tile/bits/wordsize.h11
-rw-r--r--sysdeps/tile/bsd-_setjmp.S1
-rw-r--r--sysdeps/tile/bsd-setjmp.S1
-rw-r--r--sysdeps/tile/bzero.S30
-rw-r--r--sysdeps/tile/configure7
-rw-r--r--sysdeps/tile/configure.ac6
-rw-r--r--sysdeps/tile/crti.S113
-rw-r--r--sysdeps/tile/crtn.S55
-rw-r--r--sysdeps/tile/dl-lookupcfg.h27
-rw-r--r--sysdeps/tile/dl-machine.h692
-rw-r--r--sysdeps/tile/dl-runtime.c159
-rw-r--r--sysdeps/tile/dl-start.S109
-rw-r--r--sysdeps/tile/dl-tls.c27
-rw-r--r--sysdeps/tile/dl-tls.h42
-rw-r--r--sysdeps/tile/dl-trampoline.S193
-rw-r--r--sysdeps/tile/ffs.c36
-rw-r--r--sysdeps/tile/ffsll.c32
-rw-r--r--sysdeps/tile/gccframe.h21
-rw-r--r--sysdeps/tile/jmpbuf-offsets.h62
-rw-r--r--sysdeps/tile/jmpbuf-unwind.h48
-rw-r--r--sysdeps/tile/ldsodefs.h40
-rw-r--r--sysdeps/tile/libm-test-ulps394
-rw-r--r--sysdeps/tile/libm-test-ulps-name1
-rw-r--r--sysdeps/tile/machine-gmon.h25
-rw-r--r--sysdeps/tile/math-tests.h30
-rw-r--r--sysdeps/tile/memchr.c77
-rw-r--r--sysdeps/tile/memcmp.c349
-rw-r--r--sysdeps/tile/memcopy.h31
-rw-r--r--sysdeps/tile/memcpy.c272
-rw-r--r--sysdeps/tile/memset.c151
-rw-r--r--sysdeps/tile/memusage.h31
-rw-r--r--sysdeps/tile/nptl/Makefile20
-rw-r--r--sysdeps/tile/nptl/bits/pthreadtypes-arch.h81
-rw-r--r--sysdeps/tile/nptl/bits/semaphore.h41
-rw-r--r--sysdeps/tile/nptl/pthread-offsets.h15
-rw-r--r--sysdeps/tile/nptl/pthread_spin_lock.c50
-rw-r--r--sysdeps/tile/nptl/pthread_spin_trylock.c28
-rw-r--r--sysdeps/tile/nptl/pthread_spin_unlock.c28
-rw-r--r--sysdeps/tile/nptl/pthreaddef.h36
-rw-r--r--sysdeps/tile/nptl/tcb-offsets.sym16
-rw-r--r--sysdeps/tile/nptl/tls.h185
-rw-r--r--sysdeps/tile/preconfigure10
-rw-r--r--sysdeps/tile/rawmemchr.c45
-rw-r--r--sysdeps/tile/setjmp.S47
-rw-r--r--sysdeps/tile/sfp-machine.h99
-rw-r--r--sysdeps/tile/sotruss-lib.c49
-rw-r--r--sysdeps/tile/stackguard-macros.h13
-rw-r--r--sysdeps/tile/stackinfo.h48
-rw-r--r--sysdeps/tile/start.S184
-rw-r--r--sysdeps/tile/strcasestr.c53
-rw-r--r--sysdeps/tile/strchr.c67
-rw-r--r--sysdeps/tile/strchrnul.c64
-rw-r--r--sysdeps/tile/string-endian.h84
-rw-r--r--sysdeps/tile/strlen.c39
-rw-r--r--sysdeps/tile/strnlen.c57
-rw-r--r--sysdeps/tile/strrchr.c68
-rw-r--r--sysdeps/tile/strstr.c270
-rw-r--r--sysdeps/tile/sysdep.h83
-rw-r--r--sysdeps/tile/tilegx32/Implies2
-rw-r--r--sysdeps/tile/tilegx64/Implies2
-rw-r--r--sysdeps/tile/tls-macros.h65
-rw-r--r--sysdeps/tile/tst-audit.h23
-rw-r--r--sysdeps/tile/wordcopy.c433
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/ldsodefs.h3
-rw-r--r--sysdeps/unix/sysv/linux/nios2/Makefile2
-rw-r--r--sysdeps/unix/sysv/linux/posix_fadvise.c10
-rw-r--r--sysdeps/unix/sysv/linux/posix_fadvise64.c8
-rw-r--r--sysdeps/unix/sysv/linux/tile/Implies1
-rw-r--r--sysdeps/unix/sysv/linux/tile/Makefile33
-rw-r--r--sysdeps/unix/sysv/linux/tile/Versions18
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/environments.h98
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/local_lim.h100
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/mman.h40
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/sigaction.h84
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h10
-rw-r--r--sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h14
-rw-r--r--sysdeps/unix/sysv/linux/tile/cacheflush.c34
-rw-r--r--sysdeps/unix/sysv/linux/tile/clone.S176
-rw-r--r--sysdeps/unix/sysv/linux/tile/configure21
-rw-r--r--sysdeps/unix/sysv/linux/tile/configure.ac10
-rw-r--r--sysdeps/unix/sysv/linux/tile/dl-static.c84
-rw-r--r--sysdeps/unix/sysv/linux/tile/getcontext.S95
-rw-r--r--sysdeps/unix/sysv/linux/tile/init-first.c48
-rw-r--r--sysdeps/unix/sysv/linux/tile/ioctl.S42
-rw-r--r--sysdeps/unix/sysv/linux/tile/ipc_priv.h21
-rw-r--r--sysdeps/unix/sysv/linux/tile/kernel-features.h27
-rw-r--r--sysdeps/unix/sysv/linux/tile/kernel_sigaction.h9
-rw-r--r--sysdeps/unix/sysv/linux/tile/ldconfig.h26
-rw-r--r--sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed1
-rw-r--r--sysdeps/unix/sysv/linux/tile/ldsodefs.h32
-rw-r--r--sysdeps/unix/sysv/linux/tile/libc-vdso.h42
-rw-r--r--sysdeps/unix/sysv/linux/tile/makecontext.c67
-rw-r--r--sysdeps/unix/sysv/linux/tile/profil-counter.h26
-rw-r--r--sysdeps/unix/sysv/linux/tile/pt-vfork.c1
-rw-r--r--sysdeps/unix/sysv/linux/tile/register-dump.h123
-rw-r--r--sysdeps/unix/sysv/linux/tile/sched_getcpu.c87
-rw-r--r--sysdeps/unix/sysv/linux/tile/set_dataplane.c39
-rw-r--r--sysdeps/unix/sysv/linux/tile/setcontext.S206
-rw-r--r--sysdeps/unix/sysv/linux/tile/shlib-versions2
-rw-r--r--sysdeps/unix/sysv/linux/tile/sigcontextinfo.h22
-rw-r--r--sysdeps/unix/sysv/linux/tile/swapcontext.S89
-rw-r--r--sysdeps/unix/sysv/linux/tile/sys/cachectl.h36
-rw-r--r--sysdeps/unix/sysv/linux/tile/sys/procfs.h128
-rw-r--r--sysdeps/unix/sysv/linux/tile/sys/ptrace.h152
-rw-r--r--sysdeps/unix/sysv/linux/tile/sys/reg.h2
-rw-r--r--sysdeps/unix/sysv/linux/tile/sys/ucontext.h99
-rw-r--r--sysdeps/unix/sysv/linux/tile/sys/user.h1
-rw-r--r--sysdeps/unix/sysv/linux/tile/syscall.S32
-rw-r--r--sysdeps/unix/sysv/linux/tile/sysconf.c75
-rw-r--r--sysdeps/unix/sysv/linux/tile/sysdep.c33
-rw-r--r--sysdeps/unix/sysv/linux/tile/sysdep.h243
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/Implies3
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/Makefile1
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data67
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h6
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist2138
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist762
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist122
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist226
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist92
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist41
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist41
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/Implies3
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/Makefile1
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data67
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h6
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist9
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist2138
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist8
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist10
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist762
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist122
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist226
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist92
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist41
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist41
-rw-r--r--sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist7
-rw-r--r--sysdeps/unix/sysv/linux/tile/ucontext_i.h42
-rw-r--r--sysdeps/unix/sysv/linux/tile/vfork.S49
164 files changed, 32 insertions, 15720 deletions
diff --git a/ChangeLog b/ChangeLog
index 354bb06..6501e19 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2018-04-27 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/tile: Remove.
+ * sysdeps/unix/sysv/linux/tile: Likewise.
+ * README (tilegx-*-linux-gnu): Remove from list of supported
+ configurations.
+ * manual/contrib.texi (Contributors): Mention Chris Metcalf's
+ contribution of support for generic Linux kernel syscall
+ interface.
+ * scripts/build-many-glibcs.py (Context.add_all_configs): Remove
+ tilegx configurations.
+ (Config.install_linux_headers): Do not handle tile.
+ * sysdeps/unix/sysv/linux/aarch64/ldsodefs.h: Do not mention Tile
+ in comment.
+ * sysdeps/unix/sysv/linux/nios2/Makefile: Likewise.
+ * sysdeps/unix/sysv/linux/posix_fadvise.c: Likewise.
+ [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove
+ conditional undefine and redefine.
+ * sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not mention Tile
+ in comment.
+ [__ASSUME_FADVISE64_64_NO_ALIGN] (__ALIGNMENT_ARG): Remove
+ conditional undefine and redefine.
+
2018-04-26 Aurelien Jarno <aurelien@aurel32.net>
* signal/tst-sigaction.c: New file to test BZ #23069.
diff --git a/NEWS b/NEWS
index 3d6b2c8..363e918 100644
--- a/NEWS
+++ b/NEWS
@@ -57,6 +57,8 @@ Deprecated and removed features, and other changes affecting compatibility:
these macros should first include <sys/types.h>, and then include
<sys/sysmacros.h> if __GNU_LIBRARY__ is defined.
+* The tilegx*-*-linux-gnu configurations are no longer supported.
+
Changes to build and runtime requirements:
[Add changes to build and runtime requirements here]
diff --git a/README b/README
index 2874505..27a9fd4 100644
--- a/README
+++ b/README
@@ -41,7 +41,6 @@ The GNU C Library supports these configurations for using Linux kernels:
sh[34]-*-linux-gnu
sparc*-*-linux-gnu
sparc64*-*-linux-gnu
- tilegx-*-linux-gnu
If you are interested in doing a port, please contact the glibc
maintainers; see http://www.gnu.org/software/libc/ for more
diff --git a/manual/contrib.texi b/manual/contrib.texi
index 0da6dcb..dd28e92 100644
--- a/manual/contrib.texi
+++ b/manual/contrib.texi
@@ -265,7 +265,8 @@ version 3 (@code{i386-sequent-bsd}).
@item
Chris Metcalf for the port to Linux/Tile
(@code{tilegx-@var{anything}-linux} and
-@code{tilepro-@var{anything}-linux}).
+@code{tilepro-@var{anything}-linux}) and support for the generic Linux
+kernel syscall interface used by several newer ports.
@item
David Miller for contributing the port to Linux/Sparc
diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py
index f911b20..19411c1 100755
--- a/scripts/build-many-glibcs.py
+++ b/scripts/build-many-glibcs.py
@@ -376,14 +376,6 @@ class Context(object):
'arch': 'sparcv9',
'ccopts': '-m32 -mlong-double-128',
'cfg': ['--disable-multi-arch']}])
- self.add_config(arch='tilegx',
- os_name='linux-gnu',
- glibcs=[{},
- {'variant': '32', 'ccopts': '-m32'}])
- self.add_config(arch='tilegxbe',
- os_name='linux-gnu',
- glibcs=[{},
- {'variant': '32', 'ccopts': '-m32'}])
self.add_config(arch='x86_64',
os_name='linux-gnu',
gcc_cfg=['--with-multilib-list=m64,m32,mx32'],
@@ -1271,7 +1263,6 @@ class Config(object):
'riscv64': 'riscv',
'sh': 'sh',
'sparc': 'sparc',
- 'tile': 'tile',
'x86_64': 'x86'}
linux_arch = None
for k in arch_map:
diff --git a/sysdeps/tile/Implies b/sysdeps/tile/Implies
deleted file mode 100644
index cb17441..0000000
--- a/sysdeps/tile/Implies
+++ /dev/null
@@ -1,4 +0,0 @@
-ieee754/soft-fp
-ieee754/dbl-64/wordsize-64
-ieee754/dbl-64
-ieee754/flt-32
diff --git a/sysdeps/tile/Makefile b/sysdeps/tile/Makefile
deleted file mode 100644
index dcb8777..0000000
--- a/sysdeps/tile/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-include $(common-objpfx)cflags-mcmodel-large.mk
-
-# Check for gcc to support the command-line switch, and for
-# binutils to support the hwN_plt() assembly operators and relocations.
-$(common-objpfx)cflags-mcmodel-large.mk: $(common-objpfx)config.make
- mcmodel=no; \
- (echo 'int main() { return getuid(); }' | \
- $(CC) -o /dev/null -xc - -mcmodel=large -fpic) && mcmodel=yes; \
- echo "cflags-mcmodel-large = $$mcmodel" > $@
-
-ifeq (yes,$(cflags-mcmodel-large))
-
-ifeq ($(subdir),csu)
-# elf-init.c is in libc_nonshared.o (the end of the shared object) but
-# must reach the _init symbol at the very start of the shared object.
-CFLAGS-elf-init.c += -mcmodel=large
-
-# __gmon_start__ is at the very start of the shared object when linked
-# with profiling, but calls to libc.so via the PLT at the very end.
-CFLAGS-gmon-start.c += -mcmodel=large
-endif
-
-else
-
-# Don't try to compile assembly code with hwN_plt() directives if the
-# toolchain doesn't support -mcmodel=large.
-ifeq ($(subdir),csu)
-CPPFLAGS-start.S += -DNO_PLT_PCREL
-CPPFLAGS-crti.S += -DNO_PLT_PCREL
-endif
-ifeq ($(subdir),nptl)
-CPPFLAGS-pt-crti.S += -DNO_PLT_PCREL
-endif
-
-endif
-
-# We don't support long doubles as a distinct type. We don't need to set
-# this variable; it's here mostly for documentational purposes.
-
-long-double-fcts = no
-
-ifeq ($(subdir),gmon)
-sysdep_routines += _mcount
-endif
-
-ifeq ($(subdir),elf)
-# Extra shared linker files to link only into dl-allobjs.so.
-sysdep-rtld-routines += dl-start __tls_get_addr
-endif
diff --git a/sysdeps/tile/Versions b/sysdeps/tile/Versions
deleted file mode 100644
index b275d7f..0000000
--- a/sysdeps/tile/Versions
+++ /dev/null
@@ -1,6 +0,0 @@
-libc {
- GLIBC_2.12 {
- # name requested by gcc community.
- __mcount;
- }
-}
diff --git a/sysdeps/tile/__longjmp.S b/sysdeps/tile/__longjmp.S
deleted file mode 100644
index 17d82b9..0000000
--- a/sysdeps/tile/__longjmp.S
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <arch/spr_def.h>
-
-/* PL to return to via iret in longjmp */
-#define RETURN_PL 0
-
- .text
-ENTRY (__longjmp)
- FEEDBACK_ENTER(__longjmp)
-
-#define RESTORE(r) { ld r, r0 ; ADDI_PTR r0, r0, REGSIZE }
- FOR_EACH_CALLEE_SAVED_REG(RESTORE)
-
- /* Make longjmp(buf, 0) return "1" instead.
- At the same time, construct our iret context; we set ICS so
- we can validly load EX_CONTEXT for iret without being
- interrupted halfway through. */
- {
- ld r2, r0 /* retrieve ICS bit from jmp_buf */
- movei r3, 1
- cmpeqi r0, r1, 0
- }
- {
- mtspr INTERRUPT_CRITICAL_SECTION, r3
- shli r2, r2, SPR_EX_CONTEXT_0_1__ICS_SHIFT
- }
- {
- mtspr EX_CONTEXT_0_0, lr
- ori r2, r2, RETURN_PL
- }
- {
- or r0, r1, r0
- mtspr EX_CONTEXT_0_1, r2
- }
- iret
- jrp lr /* Keep the backtracer happy. */
-END (__longjmp)
diff --git a/sysdeps/tile/__tls_get_addr.S b/sysdeps/tile/__tls_get_addr.S
deleted file mode 100644
index 078f377..0000000
--- a/sysdeps/tile/__tls_get_addr.S
+++ /dev/null
@@ -1,141 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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>
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-#define LOG_SIZEOF_DTV_T 4
-#else
-#define LOG_SIZEOF_DTV_T 3
-#endif
-
-/* On entry, r0 points to two words, the module and the offset.
- On return, r0 holds the pointer to the relevant TLS memory.
- Only registers r25..r29 are clobbered by the call. */
-
- .text
-ENTRY (__tls_get_addr)
- {
- lnk r25
- ADDI_PTR r27, tp, DTV_OFFSET
- }
-.Llnk:
- {
- LD_PTR r27, r27 /* r27 = THREAD_DTV() */
- moveli r26, hw1_last(_rtld_local + TLS_GENERATION_OFFSET - .Llnk)
- }
- shl16insli r26, r26, hw0(_rtld_local + TLS_GENERATION_OFFSET - .Llnk)
- {
- ADD_PTR r25, r25, r26
- LD_PTR r26, r0 /* r26 = ti_module */
- }
- LD_PTR r25, r25 /* r25 = DL(dl_tls_generation) */
- {
- LD_PTR r28, r27 /* r28 = THREAD_DTV()->counter */
- ADDI_PTR r29, r0, __SIZEOF_POINTER__
- }
- {
- LD_PTR r29, r29 /* r29 = ti_offset */
- cmpeq r25, r28, r25 /* r25 nonzero if generation OK */
- shli r28, r26, LOG_SIZEOF_DTV_T /* byte index into dtv array */
- }
- {
- beqz r25, .Lslowpath
- cmpeqi r25, r26, -1 /* r25 nonzero if ti_module invalid */
- }
- {
- bnez r25, .Lslowpath
- ADD_PTR r28, r28, r27 /* pointer into module array */
- }
- LD_PTR r26, r28 /* r26 = module TLS pointer */
- cmpeqi r25, r26, -1 /* check r26 == TLS_DTV_UNALLOCATED */
- bnez r25, .Lslowpath
- {
- ADD_PTR r0, r26, r29
- jrp lr
- }
-
-.Lslowpath:
- {
- st sp, lr
- ADDLI_PTR r29, sp, - (25 * REGSIZE)
- }
- cfi_offset (lr, 0)
- {
- st r29, sp
- ADDLI_PTR sp, sp, - (26 * REGSIZE)
- }
- cfi_def_cfa_offset (26 * REGSIZE)
- ADDI_PTR r29, sp, (2 * REGSIZE)
- { st r29, r1; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r2; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r3; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r4; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r5; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r6; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r7; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r8; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r9; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r10; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r11; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r12; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r13; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r14; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r15; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r16; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r17; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r18; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r19; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r20; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r21; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r22; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r23; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r24; ADDI_PTR r29, r29, REGSIZE }
- .hidden __tls_get_addr_slow
- jal __tls_get_addr_slow
- ADDI_PTR r29, sp, (2 * REGSIZE)
- { ld r1, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r2, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r3, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r4, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r5, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r6, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r7, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r8, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r9, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r10, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r11, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r12, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r13, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r14, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r15, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r16, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r17, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r18, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r19, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r20, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r21, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r22, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r23, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r24, r29; ADDLI_PTR sp, sp, (26 * REGSIZE) }
- cfi_def_cfa_offset (0)
- ld lr, sp
- jrp lr
-END (__tls_get_addr)
diff --git a/sysdeps/tile/_mcount.S b/sysdeps/tile/_mcount.S
deleted file mode 100644
index 9883428..0000000
--- a/sysdeps/tile/_mcount.S
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by David Mosberger (davidm@cs.arizona.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/>. */
-
-/* Assembly stub to invoke __mcount_internal(). Compiler-generated
- code calls mcount after executing a function's prologue, placing
- the "lr" register in "r10" for the call. As a result "lr" is the
- function that invoked mcount, and "r10" is mcount's caller's
- caller. However, we have to save all the parameter registers here
- before invoking _mcount_internal. Callee-save and temporary
- registers need no special attention. We save r10 and restore it to
- lr on the way out, to properly handle the case of ENTRY() in
- assembly code, before lr is saved. We use the name __mcount since
- the gcc community prefers using the reserved namespace. */
-
-#include <sysdep.h>
-
- .text
-ENTRY(__mcount)
- {
- st sp, lr
- ADDI_PTR r29, sp, - (12 * REGSIZE)
- }
- cfi_offset (lr, 0)
- {
- ADDI_PTR sp, sp, - (13 * REGSIZE)
- st r29, sp
- ADDI_PTR r29, r29, REGSIZE
- }
- cfi_def_cfa_offset (13 * REGSIZE)
- { st r29, r0; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r1; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r2; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r3; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r4; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r5; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r6; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r7; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r8; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r9; ADDI_PTR r29, r29, REGSIZE }
- { st r29, r10; ADDI_PTR r29, r29, REGSIZE; move r0, r10 }
- {
- move r1, lr
- jal __mcount_internal
- }
- {
- ADDI_PTR r29, sp, (2 * REGSIZE)
- }
- { ld r0, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r1, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r2, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r3, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r4, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r5, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r6, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r7, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r8, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r9, r29; ADDI_PTR r29, r29, REGSIZE }
- { ld r10, r29; ADDI_PTR sp, sp, (13 * REGSIZE) }
- cfi_def_cfa_offset (0)
- {
- ld lr, sp
- }
- {
- move lr, r10
- jrp lr
- }
-END(__mcount)
-
-#undef mcount
-weak_alias (__mcount, _mcount) /* exported in gmon/Versions */
-weak_alias (__mcount, mcount) /* exported in stdlib/Versions */
diff --git a/sysdeps/tile/abort-instr.h b/sysdeps/tile/abort-instr.h
deleted file mode 100644
index 0f57da5..0000000
--- a/sysdeps/tile/abort-instr.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* An instruction which should crash any program is `hlt'. */
-#define ABORT_INSTRUCTION asm ("ill")
diff --git a/sysdeps/tile/atomic-machine.h b/sysdeps/tile/atomic-machine.h
deleted file mode 100644
index 482b460..0000000
--- a/sysdeps/tile/atomic-machine.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _ATOMIC_MACHINE_H
-#define _ATOMIC_MACHINE_H 1
-
-#include <stdint.h>
-#include <features.h>
-#include <arch/spr_def.h>
-
-typedef int32_t atomic32_t;
-typedef uint32_t uatomic32_t;
-typedef int_fast32_t atomic_fast32_t;
-typedef uint_fast32_t uatomic_fast32_t;
-
-typedef int64_t atomic64_t;
-typedef uint64_t uatomic64_t;
-typedef int_fast64_t atomic_fast64_t;
-typedef uint_fast64_t uatomic_fast64_t;
-
-typedef intptr_t atomicptr_t;
-typedef uintptr_t uatomicptr_t;
-typedef intmax_t atomic_max_t;
-typedef uintmax_t uatomic_max_t;
-
-#ifdef _LP64
-# define __HAVE_64B_ATOMICS 1
-#else
-/* tilegx32 does have 64-bit atomics, but assumptions in the semaphore
- code mean that unaligned 64-bit atomics will be used if this symbol
- is true, and unaligned atomics are not supported on tile. */
-# define __HAVE_64B_ATOMICS 0
-#endif
-
-#define USE_ATOMIC_COMPILER_BUILTINS 0
-#define ATOMIC_EXCHANGE_USES_CAS 0
-
-/* Pick appropriate 8- or 4-byte instruction. */
-#define __atomic_update(mem, v, op) \
- ((__typeof (*(mem))) (__typeof (*(mem) - *(mem))) \
- ((sizeof (*(mem)) == 8) ? \
- __insn_##op ((void *) (mem), (int64_t) (__typeof((v) - (v))) (v)) : \
- (sizeof (*(mem)) == 4) ? \
- __insn_##op##4 ((void *) (mem), (int32_t) (__typeof ((v) - (v))) (v)) : \
- __atomic_error_bad_argument_size()))
-
-#define atomic_compare_and_exchange_val_acq(mem, n, o) \
- ({ __insn_mtspr (SPR_CMPEXCH_VALUE, (int64_t) (__typeof ((o) - (o))) (o)); \
- __atomic_update (mem, n, cmpexch); })
-#define atomic_exchange_acq(mem, newvalue) \
- __atomic_update (mem, newvalue, exch)
-#define atomic_exchange_and_add(mem, value) \
- __atomic_update (mem, value, fetchadd)
-#define atomic_and_val(mem, mask) \
- __atomic_update (mem, mask, fetchand)
-#define atomic_or_val(mem, mask) \
- __atomic_update (mem, mask, fetchor)
-#define atomic_decrement_if_positive(mem) \
- __atomic_update (mem, -1, fetchaddgez)
-
-/* Barrier macro. */
-#define atomic_full_barrier() __sync_synchronize()
-
-/* APIs with "release" semantics. */
-#define atomic_compare_and_exchange_val_rel(mem, n, o) \
- ({ \
- atomic_full_barrier (); \
- atomic_compare_and_exchange_val_acq ((mem), (n), (o)); \
- })
-#define atomic_exchange_rel(mem, n) \
- ({ \
- atomic_full_barrier (); \
- atomic_exchange_acq ((mem), (n)); \
- })
-
-/* Various macros that should just be synonyms. */
-#define catomic_exchange_and_add atomic_exchange_and_add
-#define atomic_and(mem, mask) ((void) atomic_and_val ((mem), (mask)))
-#define catomic_and atomic_and
-#define atomic_or(mem, mask) ((void) atomic_or_val ((mem), (mask)))
-#define catomic_or atomic_or
-
-/* atomic_bit_test_set in terms of atomic_or_val. */
-#define atomic_bit_test_set(mem, bit) \
- ({ __typeof (*(mem)) __att0_mask = ((__typeof (*(mem))) 1 << (bit)); \
- atomic_or_val ((mem), __att0_mask) & __att0_mask; })
-
-/*
- * This non-existent symbol is called for unsupporrted sizes,
- * indicating a bug in the caller.
- */
-extern int __atomic_error_bad_argument_size(void)
- __attribute__ ((warning ("bad sizeof atomic argument")));
-
-#endif /* _ATOMIC_MACHINE_H */
diff --git a/sysdeps/tile/bits/endian.h b/sysdeps/tile/bits/endian.h
deleted file mode 100644
index 835042a..0000000
--- a/sysdeps/tile/bits/endian.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Set endianness for tile. */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-#if defined __BIG_ENDIAN__
-# define __BYTE_ORDER __BIG_ENDIAN
-#else
-# define __BYTE_ORDER __LITTLE_ENDIAN
-#endif
diff --git a/sysdeps/tile/bits/fenv.h b/sysdeps/tile/bits/fenv.h
deleted file mode 100644
index 3fe93fe..0000000
--- a/sysdeps/tile/bits/fenv.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-/* The TILE-Gx hardware does not provide floating-point exception
- handling, and TILEPro does not support any floating-point operations. */
-#define FE_ALL_EXCEPT 0
-
-/* TILE-Gx supports only round-to-nearest. The software
- floating-point support also acts this way. */
-enum
- {
- __FE_UNDEFINED = 0,
-
- FE_TONEAREST =
-#define FE_TONEAREST 1
- FE_TONEAREST,
- };
-
-/* Type representing exception flags (if there were any). */
-typedef unsigned int fexcept_t;
-
-/* Type representing floating-point environment. */
-typedef unsigned int fenv_t;
-
-/* If the default argument is used we use this value. */
-#define FE_DFL_ENV ((const fenv_t *) -1l)
-
-#if __GLIBC_USE (IEC_60559_BFP_EXT)
-/* Type representing floating-point control modes. */
-typedef unsigned int femode_t;
-
-/* Default floating-point control modes. */
-# define FE_DFL_MODE ((const femode_t *) -1L)
-#endif
diff --git a/sysdeps/tile/bits/link.h b/sysdeps/tile/bits/link.h
deleted file mode 100644
index e78fd62..0000000
--- a/sysdeps/tile/bits/link.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _LINK_H
-# error "Never include <bits/link.h> directly; use <link.h> instead."
-#endif
-
-#define __need_int_reg_t
-#include <arch/abi.h>
-
-
-/* Registers for entry into PLT. */
-typedef struct La_tile_regs
-{
- __uint_reg_t lr_reg[10];
-} La_tile_regs;
-
-/* Return values for calls from PLT. */
-typedef struct La_tile_retval
-{
- /* Up to ten registers can be used for a return value (e.g. small struct). */
- __uint_reg_t lrv_reg[10];
-} La_tile_retval;
-
-
-__BEGIN_DECLS
-
-extern ElfW(Addr) la_tile_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- La_tile_regs *__regs,
- unsigned int *__flags,
- const char *__symname,
- long int *__framesizep);
-extern unsigned int la_tile_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx,
- uintptr_t *__refcook,
- uintptr_t *__defcook,
- const La_tile_regs *__inregs,
- La_tile_retval *__outregs,
- const char *__symname);
-
-__END_DECLS
diff --git a/sysdeps/tile/bits/setjmp.h b/sysdeps/tile/bits/setjmp.h
deleted file mode 100644
index 22e8043..0000000
--- a/sysdeps/tile/bits/setjmp.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 the machine-dependent type `jmp_buf'. TILE version. */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H 1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#ifndef _ASM
-
-#define __need_int_reg_t
-#include <arch/abi.h>
-
-typedef __uint_reg_t __jmp_buf[32];
-
-#endif
-
-#endif /* bits/setjmp.h */
diff --git a/sysdeps/tile/bits/wordsize.h b/sysdeps/tile/bits/wordsize.h
deleted file mode 100644
index 9dc4da5..0000000
--- a/sysdeps/tile/bits/wordsize.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Determine the wordsize from the preprocessor defines. */
-
-#ifdef __LP64__
-# define __WORDSIZE 64
-# define __WORDSIZE_TIME64_COMPAT32 1
-#else
-# define __WORDSIZE 32
-# define __WORDSIZE_TIME64_COMPAT32 0
-# define __WORDSIZE32_SIZE_ULONG 0
-# define __WORDSIZE32_PTRDIFF_LONG 0
-#endif
diff --git a/sysdeps/tile/bsd-_setjmp.S b/sysdeps/tile/bsd-_setjmp.S
deleted file mode 100644
index 4e6a2da..0000000
--- a/sysdeps/tile/bsd-_setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* _setjmp is in setjmp.S */
diff --git a/sysdeps/tile/bsd-setjmp.S b/sysdeps/tile/bsd-setjmp.S
deleted file mode 100644
index 1da848d..0000000
--- a/sysdeps/tile/bsd-setjmp.S
+++ /dev/null
@@ -1 +0,0 @@
-/* setjmp is in setjmp.S */
diff --git a/sysdeps/tile/bzero.S b/sysdeps/tile/bzero.S
deleted file mode 100644
index c53f363..0000000
--- a/sysdeps/tile/bzero.S
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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
-ENTRY(__bzero)
- FEEDBACK_ENTER(__bzero)
- {
- move r2, r1
- move r1, zero
- }
- j __memset
-END(__bzero)
-weak_alias (__bzero, bzero)
diff --git a/sysdeps/tile/configure b/sysdeps/tile/configure
deleted file mode 100644
index 534c7db..0000000
--- a/sysdeps/tile/configure
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
- # Local configure fragment for sysdeps/tile.
-
-# We can always access static and hidden symbols in a position independent way.
-$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
-
-# work around problem with autoconf and empty lines at the end of files
diff --git a/sysdeps/tile/configure.ac b/sysdeps/tile/configure.ac
deleted file mode 100644
index 6e246a3..0000000
--- a/sysdeps/tile/configure.ac
+++ /dev/null
@@ -1,6 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/tile.
-
-# We can always access static and hidden symbols in a position independent way.
-AC_DEFINE(PI_STATIC_AND_HIDDEN)
-# work around problem with autoconf and empty lines at the end of files
diff --git a/sysdeps/tile/crti.S b/sysdeps/tile/crti.S
deleted file mode 100644
index 4811395..0000000
--- a/sysdeps/tile/crti.S
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Special .init and .fini section support for tile.
- Copyright (C) 2012-2018 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- 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/>. */
-
-/* crti.S puts a function prologue at the beginning of the .init and
- .fini sections and defines global symbols for those addresses, so
- they can be called as functions. The symbols _init and _fini are
- magic and cause the linker to emit DT_INIT and DT_FINI. */
-
-#include <libc-symbols.h>
-#include <sysdep.h>
-
-#ifndef PREINIT_FUNCTION
-# define PREINIT_FUNCTION __gmon_start__
-#endif
-
-#ifndef PREINIT_FUNCTION_WEAK
-# define PREINIT_FUNCTION_WEAK 1
-#endif
-
-#if PREINIT_FUNCTION_WEAK
- weak_extern (PREINIT_FUNCTION)
-#else
- .hidden PREINIT_FUNCTION
-#endif
-
- .section .init,"ax",@progbits
- .align 8
- .globl _init
- .type _init, @function
-_init:
- {
- move r29, sp
- ADDI_PTR r28, sp, -REGSIZE
- st sp, lr
- }
- ADDI_PTR sp, sp, -(2 * REGSIZE)
- st r28, r29
-#if PREINIT_FUNCTION_WEAK
- lnk r2
-0:
- moveli r1, hw2_last(_GLOBAL_OFFSET_TABLE_ - 0b)
- {
- shl16insli r1, r1, hw1(_GLOBAL_OFFSET_TABLE_ - 0b)
- moveli r0, hw1_last_got(PREINIT_FUNCTION)
- }
- {
- shl16insli r1, r1, hw0(_GLOBAL_OFFSET_TABLE_ - 0b)
- shl16insli r0, r0, hw0_got(PREINIT_FUNCTION)
- }
- ADD_PTR r0, r0, r1
- ADD_PTR r0, r0, r2
- LD_PTR r0, r0
- beqz r0, .Lno_weak_fn
- jalr r0
-#elif !defined(NO_PLT_PCREL)
- /* Since we are calling from the start of the object to the PLT,
- call by loading the full address into a register. */
- lnk r2
-0:
- moveli r0, hw2_last_plt(PREINIT_FUNCTION - 0b)
- shl16insli r0, r0, hw1_plt(PREINIT_FUNCTION - 0b)
- shl16insli r0, r0, hw0_plt(PREINIT_FUNCTION - 0b)
- add r0, r0, r2
- jalr r0
-#else
- jal plt(PREINIT_FUNCTION)
-#endif
-.Lno_weak_fn:
-
- .section .fini,"ax",@progbits
- .align 8
- .globl _fini
- .type _fini, @function
-_fini:
- {
- move r29, sp
- ADDI_PTR r28, sp, -REGSIZE
- st sp, lr
- }
- ADDI_PTR sp, sp, -(2 * REGSIZE)
- st r28, r29
diff --git a/sysdeps/tile/crtn.S b/sysdeps/tile/crtn.S
deleted file mode 100644
index 7168418..0000000
--- a/sysdeps/tile/crtn.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Special .init and .fini section support for tile.
- Copyright (C) 2012-2018 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- 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/>. */
-
-/* crtn.S puts function epilogues in the .init and .fini sections
- corresponding to the prologues in crti.S. */
-
-#include <sysdep.h>
-
- .section .init,"ax",@progbits
- ADDI_PTR r29, sp, (2 * REGSIZE)
- {
- ADDI_PTR sp, sp, (2 * REGSIZE)
- ld lr, r29
- }
- jrp lr
-
- .section .fini,"ax",@progbits
- ADDI_PTR r29, sp, (2 * REGSIZE)
- {
- ADDI_PTR sp, sp, (2 * REGSIZE)
- ld lr, r29
- }
- jrp lr
diff --git a/sysdeps/tile/dl-lookupcfg.h b/sysdeps/tile/dl-lookupcfg.h
deleted file mode 100644
index 87a6ebe..0000000
--- a/sysdeps/tile/dl-lookupcfg.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#define DL_UNMAP_IS_SPECIAL
-
-#include_next <dl-lookupcfg.h>
-
-struct link_map;
-
-void _dl_unmap (struct link_map *map);
-
-#define DL_UNMAP(map) _dl_unmap (map)
diff --git a/sysdeps/tile/dl-machine.h b/sysdeps/tile/dl-machine.h
deleted file mode 100644
index d615447..0000000
--- a/sysdeps/tile/dl-machine.h
+++ /dev/null
@@ -1,692 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by by Carl Pederson & Martin Schwidefsky.
-
- 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_machine_h
-#define dl_machine_h
-
-#define ELF_MACHINE_NAME "tilegx"
-
-#include <sys/param.h>
-#include <string.h>
-#include <link.h>
-#include <bits/wordsize.h>
-#include <arch/icache.h>
-#include <arch/opcode.h>
-
-/* Return nonzero iff ELF header is compatible with the running host. */
-static inline int
-elf_machine_matches_host (const ElfW(Ehdr) *ehdr)
-{
- if (ehdr->e_machine != EM_TILEGX)
- return 0;
-#if __WORDSIZE == 32
- return (ehdr->e_ident[EI_CLASS] == ELFCLASS32);
-#else
- return (ehdr->e_ident[EI_CLASS] == ELFCLASS64);
-#endif
-}
-
-
-/* Return the link-time address of _DYNAMIC. Conveniently, this is the
- first element of the GOT. This must be inlined in a function which
- uses global data. */
-
-static inline ElfW(Addr)
-elf_machine_dynamic (void)
-{
- ElfW(Addr) *got;
-
- ElfW(Addr) tmp;
- asm( " { lnk %0; moveli %1, hw2_last(_GLOBAL_OFFSET_TABLE_ - 1f) }\n"
- "1: shl16insli %1, %1, hw1(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " shl16insli %1, %1, hw0(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " add %0, %0, %1"
- : "=r" (got), "=r" (tmp));
-
- return *got;
-}
-
-
-/* Return the run-time load address of the shared object. */
-static inline ElfW(Addr)
-elf_machine_load_address (void)
-{
- ElfW(Addr) *got;
- ElfW(Addr) dynamic;
- ElfW(Addr) tmp;
-
- asm( " lnk %2\n"
- "1: {\n"
- " moveli %0, hw2_last(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " moveli %1, hw2_last(_DYNAMIC - 1b)\n"
- " }\n"
- " {\n"
- " shl16insli %0, %0, hw1(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " shl16insli %1, %1, hw1(_DYNAMIC - 1b)\n"
- " }\n"
- " {\n"
- " shl16insli %0, %0, hw0(_GLOBAL_OFFSET_TABLE_ - 1b)\n"
- " shl16insli %1, %1, hw0(_DYNAMIC - 1b)\n"
- " }\n"
- " {\n"
- " add %0, %0, %2\n"
- " add %1, %1, %2\n"
- " }"
- : "=r" (got), "=r" (dynamic), "=r" (tmp));
-
- return dynamic - *got;
-}
-
-/* Flush some range of the instruction cache. If invoked prior to
- actually setting dl_pagesize, we conservatively use 4KB, which
- is the smallest page size we could plausibly be running with. */
-static inline void
-_dl_flush_icache (const void *addr, unsigned long size)
-{
- invalidate_icache (addr, size, GLRO(dl_pagesize) ? : 4096);
-}
-
-/* Set up the loaded object described by L so its unrelocated PLT
- entries will jump to the on-demand fixup code in dl-runtime.c. */
-
-static inline int __attribute__ ((unused))
-elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
-{
- ElfW(Addr) *gotplt;
- extern void _dl_runtime_resolve (ElfW(Word));
- extern void _dl_runtime_profile (ElfW(Word));
-
- if (l->l_info[DT_JMPREL] && lazy)
- {
- gotplt = (ElfW(Addr) *) D_PTR (l, l_info[DT_PLTGOT]);
-
- /* The GOT entries for functions in the PLT have not yet been filled
- in. Their initial contents will arrange when called to put in
- registers an offset into the .rel.plt section, and gotplt[0], then
- jump to gotplt[1]. */
-
- /* Identify this shared object. */
- gotplt[0] = (ElfW(Addr)) l;
-
- /* The gotplt[1] entry contains the address of a function which gets
- called to get the address of a so far unresolved function and jump
- to it. The profiling extension of the dynamic linker allows to
- intercept the calls to collect information. In this case we don't
- store the address in the GOTPLT so that all future calls also end
- in this function. */
- if (__builtin_expect (profile, 0))
- {
- gotplt[1] = (ElfW(Addr)) &_dl_runtime_profile;
-
- if (GLRO(dl_profile) != NULL
- && _dl_name_match_p (GLRO(dl_profile), l))
- /* This is the object we are looking for. Say that we really
- want profiling and the timers are started. */
- GL(dl_profile_map) = l;
- }
- else
- /* This function will get called to fix up the GOTPLT entry
- indicated by the offset on the stack, and then jump to the
- resolved address. */
- gotplt[1] = (ElfW(Addr)) &_dl_runtime_resolve;
- }
-
- return lazy;
-}
-
-#if __WORDSIZE == 32
-/* Mask identifying addresses reserved for the user program,
- where the dynamic linker should not map anything. */
-#define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL
-#endif
-
-/* Initial entry point code for the dynamic linker.
- The C function `_dl_start' is the real entry point;
- its return value is the user program's entry point. */
-
-#define RTLD_START asm (".globl _dl_start");
-
-#ifndef RTLD_START_SPECIAL_INIT
-#define RTLD_START_SPECIAL_INIT /* nothing */
-#endif
-
-/* Wrap a generic Tilera relocation type. */
-#define R_TILE(x) R_TILEGX_##x
-#define __R_TILE_TLS(x,c) R_TILEGX_TLS_##x##c
-#define _R_TILE_TLS(x,c) __R_TILE_TLS(x,c)
-#define R_TILE_TLS(x) _R_TILE_TLS(x,__ELF_NATIVE_CLASS)
-
-/* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
- TLS variable, so undefined references should not be allowed to
- define the value.
- ELF_RTYPE_CLASS_COPY iff TYPE should not be allowed to resolve to one
- of the main executable's symbols, as for a COPY reloc. */
-#define elf_machine_type_class(type) \
- ((((type) == R_TILE(JMP_SLOT) || (type) == R_TILE_TLS(DTPMOD) \
- || (type) == R_TILE_TLS(DTPOFF) || (type) == R_TILE_TLS(TPOFF)) \
- * ELF_RTYPE_CLASS_PLT) \
- | (((type) == R_TILE(COPY)) * ELF_RTYPE_CLASS_COPY))
-
-/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */
-#define ELF_MACHINE_JMP_SLOT R_TILE(JMP_SLOT)
-
-/* TILE never uses Elf32_Rel relocations. */
-#define ELF_MACHINE_NO_REL 1
-#define ELF_MACHINE_NO_RELA 0
-
-/* We define an initialization functions. This is called very early in
- _dl_sysdep_start. */
-#define DL_PLATFORM_INIT dl_platform_init ()
-
-static inline void __attribute__ ((unused))
-dl_platform_init (void)
-{
- if (GLRO(dl_platform) != NULL && *GLRO(dl_platform) == '\0')
- /* Avoid an empty string which would disturb us. */
- GLRO(dl_platform) = NULL;
-}
-
-static inline ElfW(Addr)
-elf_machine_fixup_plt (struct link_map *map, lookup_t t,
- const ElfW(Sym) *refsym, const ElfW(Sym) *sym,
- const ElfW(Rela) *reloc,
- ElfW(Addr) *reloc_addr, ElfW(Addr) value)
-{
- return *reloc_addr = value;
-}
-
-/* Return the final value of a plt relocation. */
-static inline ElfW(Addr)
-elf_machine_plt_value (struct link_map *map, const ElfW(Rela) *reloc,
- ElfW(Addr) value)
-{
- return value;
-}
-
-/* Support notifying the simulator about new objects. */
-void _dl_after_load (struct link_map *l);
-#define DL_AFTER_LOAD _dl_after_load
-
-/* Names of the architecture-specific auditing callback functions. */
-#define ARCH_LA_PLTENTER tile_gnu_pltenter
-#define ARCH_LA_PLTEXIT tile_gnu_pltexit
-
-#endif /* !dl_machine_h */
-
-
-#ifdef RESOLVE_MAP
-
-struct reloc_howto
-{
- /* Right shift operand by this number of bits. */
- unsigned char right_shift;
-
- /* If nonzero, this is updating a code bundle. */
- unsigned char is_bundle_update;
-
- /* If nonzero, subtract the containing address from the address. */
- unsigned char is_pcrel;
-
- /* Size in bytes, or 0 if this table entry should be ignored. */
- unsigned char byte_size;
-};
-
-/* Relocation information. Cannot contain create_* function pointers
- because then the table would not be position-independent. */
-static const struct reloc_howto howto[] =
-{
-#if __WORDSIZE == 32
- /* The GX -m32 loader only handles 32-bit types, so it will be confused
- by shifts larger than that. We convert them to just sign-extend;
- they usually indicate a program bug or missed optimization, but we
- have to handle them correctly anyway. */
-# define S32 31
-# define S48 31
-#else
-# define S32 32
-# define S48 48
-#endif
-
- /* R_TILEGX_NONE */ { 0, 0, 0, 0 },
- /* R_TILEGX_64 */ { 0, 0, 0, 8 },
- /* R_TILEGX_32 */ { 0, 0, 0, 4 },
- /* R_TILEGX_16 */ { 0, 0, 0, 2 },
- /* R_TILEGX_8 */ { 0, 0, 0, 1 },
- /* R_TILEGX_64_PCREL */ { 0, 0, 1, 8 },
- /* R_TILEGX_32_PCREL */ { 0, 0, 1, 4 },
- /* R_TILEGX_16_PCREL */ { 0, 0, 1, 2 },
- /* R_TILEGX_8_PCREL */ { 0, 0, 1, 1 },
- /* R_TILEGX_HW0 */ { 0, 0, 0, 0 },
- /* R_TILEGX_HW1 */ { 16, 0, 0, 0 },
- /* R_TILEGX_HW2 */ { S32, 0, 0, 0 },
- /* R_TILEGX_HW3 */ { S48, 0, 0, 0 },
- /* R_TILEGX_HW0_LAST */ { 0, 0, 0, 0 },
- /* R_TILEGX_HW1_LAST */ { 16, 0, 0, 0 },
- /* R_TILEGX_HW2_LAST */ { S32, 0, 0, 0 },
- /* R_TILEGX_COPY */ { 0, 0, 0, 0 },
- /* R_TILEGX_GLOB_DAT */ { 0, 0, 0, 8 },
- /* R_TILEGX_JMP_SLOT */ { 0, 0, 0, 0 },
- /* R_TILEGX_RELATIVE */ { 0, 0, 0, 0 },
- /* R_TILEGX_BROFF_X1 */ { 3, 1, 1, 8 },
- /* R_TILEGX_JUMPOFF_X1 */ { 3, 1, 1, 8 },
- /* R_TILEGX_JUMPOFF_X1_PLT */ { 3, 1, 1, 8 },
- /* R_TILEGX_IMM8_X0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM8_Y0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM8_X1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM8_Y1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_DEST_IMM8_X1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_MT_IMM14_X1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_MF_IMM14_X1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_MMSTART_X0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_MMEND_X0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_SHAMT_X0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_SHAMT_X1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_SHAMT_Y0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_SHAMT_Y1 */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW0 */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW1 */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW1 */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW2 */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW2 */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW3 */ { S48, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW3 */ { S48, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW0_LAST */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW0_LAST */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW1_LAST */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW1_LAST */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW2_LAST */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW2_LAST */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW0_PCREL */ { 0, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW0_PCREL */ { 0, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW1_PCREL */ { 16, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW1_PCREL */ { 16, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW2_PCREL */ { S32, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW2_PCREL */ { S32, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW3_PCREL */ { S48, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW3_PCREL */ { S48, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW0_LAST_PCREL */ { 0, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW0_LAST_PCREL */ { 0, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW1_LAST_PCREL */ { 16, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW1_LAST_PCREL */ { 16, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW2_LAST_PCREL */ { S32, 1, 1, 8 },
- /* R_TILEGX_IMM16_X1_HW2_LAST_PCREL */ { S32, 1, 1, 8 },
- /* R_TILEGX_IMM16_X0_HW0_GOT */ { 0, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW0_GOT */ { 0, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW1_GOT */ { 16, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW1_GOT */ { 16, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW2_GOT */ { S32, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW2_GOT */ { S32, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW3_GOT */ { S48, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW3_GOT */ { S48, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW0_LAST_GOT */ { 0, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW0_LAST_GOT */ { 0, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW1_LAST_GOT */ { 16, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW1_LAST_GOT */ { 16, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW2_LAST_GOT */ { S32, 1, 0, 0 },
- /* R_TILEGX_IMM16_X1_HW2_LAST_GOT */ { S32, 1, 0, 0 },
- /* R_TILEGX_IMM16_X0_HW0_TLS_GD */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW0_TLS_GD */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW1_TLS_GD */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW1_TLS_GD */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW2_TLS_GD */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW2_TLS_GD */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW3_TLS_GD */ { S48, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW3_TLS_GD */ { S48, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD */{ 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD */{ 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD */{ 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD */{ 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW2_LAST_TLS_GD */{ S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW2_LAST_TLS_GD */{ S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW0_TLS_IE */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW0_TLS_IE */ { 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW1_TLS_IE */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW1_TLS_IE */ { 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW2_TLS_IE */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW2_TLS_IE */ { S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW3_TLS_IE */ { S48, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW3_TLS_IE */ { S48, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE */{ 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE */{ 0, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE */{ 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE */{ 16, 1, 0, 8 },
- /* R_TILEGX_IMM16_X0_HW2_LAST_TLS_IE */{ S32, 1, 0, 8 },
- /* R_TILEGX_IMM16_X1_HW2_LAST_TLS_IE */{ S32, 1, 0, 8 },
- /* R_TILEGX_TLS_DTPMOD64 */ { 0, 0, 0, 0 },
- /* R_TILEGX_TLS_DTPOFF64 */ { 0, 0, 0, 0 },
- /* R_TILEGX_TLS_TPOFF64 */ { 0, 0, 0, 0 },
- /* R_TILEGX_TLS_DTPMOD32 */ { 0, 0, 0, 0 },
- /* R_TILEGX_TLS_DTPOFF32 */ { 0, 0, 0, 0 },
- /* R_TILEGX_TLS_TPOFF32 */ { 0, 0, 0, 0 }
-};
-
-#if __ELF_NATIVE_CLASS == 32
-#define ELFW_R_TYPE ELF32_R_TYPE
-#define ELFW_ST_TYPE ELF32_ST_TYPE
-#else
-#define ELFW_R_TYPE ELF64_R_TYPE
-#define ELFW_ST_TYPE ELF64_ST_TYPE
-#endif
-
-/* Perform the relocation specified by RELOC and SYM (which is fully resolved).
- MAP is the object containing the reloc. */
-
-auto inline void __attribute__ ((always_inline))
-elf_machine_rela (struct link_map *map, const ElfW(Rela) *reloc,
- const ElfW(Sym) *sym, const struct r_found_version *version,
- void *const reloc_addr_arg, int skip_ifunc)
-{
- ElfW(Addr) *const reloc_addr = reloc_addr_arg;
- const unsigned int r_type = ELFW_R_TYPE (reloc->r_info);
-
-#if !defined RTLD_BOOTSTRAP || !defined HAVE_Z_COMBRELOC
- if (__builtin_expect (r_type == R_TILE(RELATIVE), 0))
- {
-# if !defined RTLD_BOOTSTRAP && !defined HAVE_Z_COMBRELOC
- /* This is defined in rtld.c, but nowhere in the static libc.a;
- make the reference weak so static programs can still link.
- This declaration cannot be done when compiling rtld.c
- (i.e. #ifdef RTLD_BOOTSTRAP) because rtld.c contains the
- common defn for _dl_rtld_map, which is incompatible with a
- weak decl in the same file. */
-# ifndef SHARED
- weak_extern (GL(dl_rtld_map));
-# endif
- if (map != &GL(dl_rtld_map)) /* Already done in rtld itself. */
-# endif
- *reloc_addr = map->l_addr + reloc->r_addend;
- return;
- }
-#endif
-
- if (__builtin_expect (r_type == R_TILE(NONE), 0))
- return;
-
-#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP
- const ElfW(Sym) *const refsym = sym;
-#endif
- struct link_map *sym_map = RESOLVE_MAP (&sym, version, r_type);
- ElfW(Addr) value;
-
- if (sym == NULL)
- value = 0;
- else if (ELFW_ST_TYPE (sym->st_info) == STT_SECTION)
- value = map->l_addr; /* like a RELATIVE reloc */
- else
- value = SYMBOL_ADDRESS (sym_map, sym, true);
-
- if (sym != NULL
- && __builtin_expect (ELFW(ST_TYPE) (sym->st_info) == STT_GNU_IFUNC, 0)
- && __builtin_expect (sym->st_shndx != SHN_UNDEF, 1)
- && __builtin_expect (!skip_ifunc, 1))
- value = ((Elf64_Addr (*) (void)) value) ();
-
- switch (r_type)
- {
- case R_TILE(JMP_SLOT):
- elf_machine_fixup_plt (map, 0, 0, 0, reloc, reloc_addr,
- value + reloc->r_addend);
- return;
-
-#ifndef RESOLVE_CONFLICT_FIND_MAP
- case R_TILE_TLS(DTPMOD):
-# ifdef RTLD_BOOTSTRAP
- /* During startup the dynamic linker is always the module
- with index 1.
- XXX If this relocation is necessary move before RESOLVE
- call. */
- *reloc_addr = 1;
-# else
- /* Get the information from the link map returned by the
- resolv function. */
- if (sym_map != NULL)
- *reloc_addr = sym_map->l_tls_modid;
-# endif
- return;
- case R_TILE_TLS(DTPOFF):
-# ifndef RTLD_BOOTSTRAP
- /* During relocation all TLS symbols are defined and used.
- Therefore the offset is already correct. */
- if (sym != NULL)
- *reloc_addr = sym->st_value + reloc->r_addend;
-# endif
- return;
- case R_TILE_TLS(TPOFF):
-# ifdef RTLD_BOOTSTRAP
- *reloc_addr = sym->st_value + reloc->r_addend + map->l_tls_offset;
-# else
- if (sym != NULL)
- {
- CHECK_STATIC_TLS (map, sym_map);
- *reloc_addr = (sym->st_value + reloc->r_addend
- + sym_map->l_tls_offset);
- }
-#endif
- return;
-#endif /* use TLS */
-
-#if !defined RTLD_BOOTSTRAP && !defined RESOLVE_CONFLICT_FIND_MAP
- /* Not needed in dl-conflict.c. */
- case R_TILE(COPY):
- if (sym == NULL)
- /* This can happen in trace mode if an object could not be found. */
- return;
- if (__builtin_expect (sym->st_size > refsym->st_size, 0)
- || (__builtin_expect (sym->st_size < refsym->st_size, 0)
- && __builtin_expect (GLRO(dl_verbose), 0)))
- {
- const char *strtab;
-
- strtab = (const char *) D_PTR (map,l_info[DT_STRTAB]);
- _dl_error_printf ("%s: Symbol `%s' has different size in shared"
- " object, consider re-linking\n",
- RTLD_PROGNAME, strtab + refsym->st_name);
- }
- memcpy (reloc_addr_arg, (void *) value,
- MIN (sym->st_size, refsym->st_size));
- return;
-#endif
- }
-
- /* All remaining relocations must be in the lookup table. */
- const struct reloc_howto *h = &howto[r_type];
- if ((unsigned int) r_type >= sizeof howto / sizeof howto[0] ||
- h->byte_size == 0)
- {
-#if !defined RTLD_BOOTSTRAP || defined _NDEBUG
- /* We add these checks in the version to relocate ld.so only
- if we are still debugging. */
- _dl_reloc_bad_type (map, r_type, 0);
-#endif
- return;
- }
-
- value += reloc->r_addend;
-
- /* The lookup table entry knows how to perform this reloc. */
- if (h->is_pcrel)
- value -= (ElfW(Addr)) reloc_addr;
-
- value = ((long) value) >> h->right_shift;
-
- switch (h->byte_size)
- {
- case 1:
- *(char *) reloc_addr = value;
- return;
- case 2:
- *(short *) reloc_addr = value;
- return;
- case 4:
- *(int *) reloc_addr = value;
- return;
- case 8:
- if (!h->is_bundle_update)
- {
- *(ElfW(Addr) *) reloc_addr = value;
- return;
- }
- }
-
- /* We are updating a bundle, so use the function pointer that
- swizzles the operand bits into the right location. */
-
- tile_bundle_bits *p = (tile_bundle_bits *) reloc_addr;
- tile_bundle_bits bits = *p;
-
-#define MUNGE_SIGNED(func, length) do { \
- bits = ((bits & ~create_##func (-1)) | create_##func (value)); \
- ElfW(Addr) result = get_##func (bits); \
- int signbits = __WORDSIZE - length; \
- result = (long) (result << signbits) >> signbits; \
- if (result != value) \
- _dl_signal_error (0, map->l_name, NULL, \
- "relocation value too large for " #func); \
- } while (0)
-
-#define MUNGE(func) MUNGE_SIGNED(func, __WORDSIZE)
-
-#define MUNGE_NOCHECK(func) \
- bits = ((bits & ~create_##func (-1)) | create_##func (value))
-
- switch (r_type)
- {
- case R_TILEGX_BROFF_X1:
- MUNGE_SIGNED (BrOff_X1, 17);
- break;
- case R_TILEGX_JUMPOFF_X1:
- case R_TILEGX_JUMPOFF_X1_PLT:
- MUNGE_SIGNED (JumpOff_X1, 27);
- break;
- case R_TILEGX_IMM8_X0:
- MUNGE_SIGNED (Imm8_X0, 8);
- break;
- case R_TILEGX_IMM8_Y0:
- MUNGE_SIGNED (Imm8_Y0, 8);
- break;
- case R_TILEGX_IMM8_X1:
- MUNGE_SIGNED (Imm8_X1, 8);
- break;
- case R_TILEGX_IMM8_Y1:
- MUNGE_SIGNED (Imm8_Y1, 8);
- break;
- case R_TILEGX_MT_IMM14_X1:
- MUNGE (MT_Imm14_X1);
- break;
- case R_TILEGX_MF_IMM14_X1:
- MUNGE (MF_Imm14_X1);
- break;
- case R_TILEGX_IMM16_X0_HW0:
- case R_TILEGX_IMM16_X0_HW1:
- case R_TILEGX_IMM16_X0_HW2:
- case R_TILEGX_IMM16_X0_HW3:
- case R_TILEGX_IMM16_X0_HW0_PCREL:
- case R_TILEGX_IMM16_X0_HW1_PCREL:
- case R_TILEGX_IMM16_X0_HW2_PCREL:
- case R_TILEGX_IMM16_X0_HW3_PCREL:
- case R_TILEGX_IMM16_X0_HW0_TLS_GD:
- case R_TILEGX_IMM16_X0_HW0_TLS_IE:
- MUNGE_NOCHECK (Imm16_X0);
- break;
- case R_TILEGX_IMM16_X0_HW0_LAST:
- case R_TILEGX_IMM16_X0_HW1_LAST:
- case R_TILEGX_IMM16_X0_HW2_LAST:
- case R_TILEGX_IMM16_X0_HW0_LAST_PCREL:
- case R_TILEGX_IMM16_X0_HW1_LAST_PCREL:
- case R_TILEGX_IMM16_X0_HW2_LAST_PCREL:
- case R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD:
- case R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD:
- case R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE:
- case R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE:
- MUNGE_SIGNED (Imm16_X0, 16);
- break;
- case R_TILEGX_IMM16_X1_HW0:
- case R_TILEGX_IMM16_X1_HW1:
- case R_TILEGX_IMM16_X1_HW2:
- case R_TILEGX_IMM16_X1_HW3:
- case R_TILEGX_IMM16_X1_HW0_PCREL:
- case R_TILEGX_IMM16_X1_HW1_PCREL:
- case R_TILEGX_IMM16_X1_HW2_PCREL:
- case R_TILEGX_IMM16_X1_HW3_PCREL:
- case R_TILEGX_IMM16_X1_HW0_TLS_GD:
- case R_TILEGX_IMM16_X1_HW0_TLS_IE:
- MUNGE_NOCHECK (Imm16_X1);
- break;
- case R_TILEGX_IMM16_X1_HW0_LAST:
- case R_TILEGX_IMM16_X1_HW1_LAST:
- case R_TILEGX_IMM16_X1_HW2_LAST:
- case R_TILEGX_IMM16_X1_HW0_LAST_PCREL:
- case R_TILEGX_IMM16_X1_HW1_LAST_PCREL:
- case R_TILEGX_IMM16_X1_HW2_LAST_PCREL:
- case R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD:
- case R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD:
- case R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE:
- case R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE:
- MUNGE_SIGNED (Imm16_X1, 16);
- break;
- case R_TILEGX_MMSTART_X0:
- MUNGE (BFStart_X0);
- break;
- case R_TILEGX_MMEND_X0:
- MUNGE (BFEnd_X0);
- break;
- case R_TILEGX_SHAMT_X0:
- MUNGE (ShAmt_X0);
- break;
- case R_TILEGX_SHAMT_X1:
- MUNGE (ShAmt_X1);
- break;
- case R_TILEGX_SHAMT_Y0:
- MUNGE (ShAmt_Y0);
- break;
- case R_TILEGX_SHAMT_Y1:
- MUNGE (ShAmt_Y1);
- break;
- }
-#undef MUNGE
- *p = bits;
- _dl_flush_icache (p, sizeof (*p));
-}
-
-auto inline void __attribute__ ((always_inline))
-elf_machine_rela_relative (ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
- void *const reloc_addr_arg)
-{
- ElfW(Addr) *const reloc_addr = reloc_addr_arg;
- *reloc_addr = l_addr + reloc->r_addend;
-}
-
-auto inline void __attribute__ ((always_inline))
-elf_machine_lazy_rel (struct link_map *map,
- ElfW(Addr) l_addr, const ElfW(Rela) *reloc,
- int skip_ifunc)
-{
- const unsigned int r_type = ELF32_R_TYPE (reloc->r_info);
-
- /* Check for unexpected PLT reloc type. */
- if (__builtin_expect (r_type == R_TILE(JMP_SLOT), 1))
- {
- *(ElfW(Addr) *) (l_addr + reloc->r_offset) += l_addr;
- }
- else
- _dl_reloc_bad_type (map, r_type, 1);
-}
-
-#endif /* RESOLVE_MAP */
diff --git a/sysdeps/tile/dl-runtime.c b/sysdeps/tile/dl-runtime.c
deleted file mode 100644
index 6ad9769..0000000
--- a/sysdeps/tile/dl-runtime.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-/* Like x86_64, we pass the index of the relocation and not its offset.
- In _dl_profile_fixup and _dl_call_pltexit we also use the index.
- Therefore it is wasteful to compute the offset in the trampoline
- just to reverse the operation immediately afterwards. */
-#define reloc_offset reloc_arg * sizeof (PLTREL)
-#define reloc_index reloc_arg
-
-#include <elf/dl-runtime.c>
-
-#include <sys/mman.h>
-#include <arch/sim.h>
-#include <dl-unmap-segments.h>
-
-/* Like realpath(), but simplified: no dynamic memory use, no lstat(),
- no set_errno(), no valid "rpath" on error, etc. This handles some
- simple cases where the simulator might not have a valid entry for
- a loaded Elf object, in particular dlopen() with a relative path.
- For this relatively rare case, one could also imagine using
- link_map.l_origin to avoid the getcwd() here, but the simpler code
- here seems like a better solution. */
-static char *
-dl_realpath (const char *name, char *rpath)
-{
- char *dest;
- const char *start, *end;
-
- if (name[0] != '/')
- {
- if (!__getcwd (rpath, PATH_MAX))
- return NULL;
- dest = __rawmemchr (rpath, '\0');
- }
- else
- {
- rpath[0] = '/';
- dest = rpath + 1;
- }
-
- for (start = end = name; *start; start = end)
- {
- /* Skip sequence of multiple path-separators. */
- while (*start == '/')
- ++start;
-
- /* Find end of path component. */
- for (end = start; *end && *end != '/'; ++end)
- /* Nothing. */;
-
- if (end - start == 0)
- break;
- else if (end - start == 1 && start[0] == '.')
- /* nothing */;
- else if (end - start == 2 && start[0] == '.' && start[1] == '.')
- {
- /* Back up to previous component, ignore if at root already. */
- if (dest > rpath + 1)
- while ((--dest)[-1] != '/');
- }
- else
- {
- if (dest[-1] != '/')
- *dest++ = '/';
-
- if (dest + (end - start) >= rpath + PATH_MAX)
- return NULL;
-
- dest = __mempcpy (dest, start, end - start);
- *dest = '\0';
- }
- }
- if (dest > rpath + 1 && dest[-1] == '/')
- --dest;
- *dest = '\0';
-
- return rpath;
-}
-
-/* Support notifying the simulator about new objects. */
-void
-_dl_after_load (struct link_map *l)
-{
- int shift;
- char pathbuf[PATH_MAX];
- char *path;
-
- /* Don't bother if not in the simulator. */
- if (__insn_mfspr (SPR_SIM_CONTROL) == 0)
- return;
-
-#define DLPUTC(c) __insn_mtspr (SPR_SIM_CONTROL, \
- (SIM_CONTROL_DLOPEN \
- | ((c) << _SIM_CONTROL_OPERATOR_BITS)))
-
- /* Write the library address in hex. */
- DLPUTC ('0');
- DLPUTC ('x');
- for (shift = (int) sizeof (unsigned long) * 8 - 4; shift >= 0; shift -= 4)
- DLPUTC ("0123456789abcdef"[(l->l_map_start >> shift) & 0xF]);
- DLPUTC (':');
-
- /* Write the library path, including the terminating '\0'. */
- path = dl_realpath (l->l_name, pathbuf) ?: l->l_name;
- for (size_t i = 0;; i++)
- {
- DLPUTC (path[i]);
- if (path[i] == '\0')
- break;
- }
-#undef DLPUTC
-}
-
-/* Support notifying the simulator about removed objects prior to munmap(). */
-static void
-sim_dlclose (ElfW(Addr) map_start)
-{
- int shift;
-
- /* Don't bother if not in the simulator. */
- if (__insn_mfspr (SPR_SIM_CONTROL) == 0)
- return;
-
-#define DLPUTC(c) __insn_mtspr (SPR_SIM_CONTROL, \
- (SIM_CONTROL_DLCLOSE \
- | ((c) << _SIM_CONTROL_OPERATOR_BITS)))
-
- /* Write the library address in hex. */
- DLPUTC ('0');
- DLPUTC ('x');
- for (shift = (int) sizeof (unsigned long) * 8 - 4; shift >= 0; shift -= 4)
- DLPUTC ("0123456789abcdef"[(map_start >> shift) & 0xF]);
- DLPUTC ('\0');
-
-#undef DLPUTC
-}
-
-void
-_dl_unmap (struct link_map *map)
-{
- sim_dlclose (map->l_map_start);
- _dl_unmap_segments (map);
-}
diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S
deleted file mode 100644
index 5820baf..0000000
--- a/sysdeps/tile/dl-start.S
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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>
-
- /* Get address of "sym" in "reg" assuming r51 holds ".Llink". */
- .macro pic_addr reg, sym
- moveli \reg, hw1_last(\sym - .Llink)
- shl16insli \reg, \reg, hw0(\sym - .Llink)
- ADD_PTR \reg, r51, \reg
- .endm
-
- .text
-ENTRY (_start)
- /* Linux starts us with sp pointing at the conventional Elf layout,
- but we need to allow two 'caller' words for our ABI convention. */
- {
- move r52, sp
- andi sp, sp, -8
- }
- cfi_def_cfa_register (r52)
- {
- /* Point sp at base of ABI area; point r4 to the caller-sp word. */
- ADDI_PTR sp, sp, -(2 * REGSIZE)
- ADDI_PTR r4, sp, -REGSIZE
- }
- {
- /* Save zero for caller sp in our 'caller' save area, and make
- sure lr has a zero value, to limit backtraces. */
- move lr, zero
- st r4, zero
- }
- {
- move r0, r52
- jal _dl_start
- }
- /* Save returned start of user program address for later. */
- move r50, r0
-
- /* See if we were invoked explicitly with the dynamic loader,
- in which case we have to adjust the argument vector. */
- lnk r51; .Llink:
- pic_addr r4, _dl_skip_args
- ld4u r4, r4
- beqzt r4, .Lno_skip
-
- /* Load the argc word at the initial sp and adjust it.
- We basically jump "sp" up over the first few argv entries
- and write "argc" a little higher up in memory, to be the
- base of the new kernel-initialized stack area. */
- LD_PTR r0, r52
- {
- sub r0, r0, r4
- SHL_PTR_ADD r52, r4, r52
- }
- {
- ST_PTR r52, r0
- SHL_PTR_ADD sp, r4, sp
- }
- andi sp, sp, -8
-
-.Lno_skip:
- /* Call_dl_init (_dl_loaded, argc, argv, envp). See elf/start.s
- for the layout of memory here; r52 is pointing to "+0". */
- pic_addr r0, _rtld_local
- {
- LD_PTR r1, r52 /* load argc in r1 */
- ADDLI_PTR r2, r52, __SIZEOF_POINTER__ /* point r2 at argv */
- }
- {
- LD_PTR r0, r0 /* yields _rtld_global._ns_loaded */
- addi r3, r1, 1
- move lr, zero
- }
- {
- SHL_PTR_ADD r3, r3, r2 /* point r3 at envp */
- jal _dl_init
- }
-
- /* Call user program whose address we saved in r50.
- We invoke it just like a static binary, but with _dl_fini
- in r0 so we can distinguish. */
-
- pic_addr r0, _dl_fini
- move lr, zero
- {
- move sp, r52
- jr r50
- }
-
- /* Tell backtracer to give up (_start has no caller). */
- info 2 /* INFO_OP_CANNOT_BACKTRACE */
-
-END (_start)
diff --git a/sysdeps/tile/dl-tls.c b/sysdeps/tile/dl-tls.c
deleted file mode 100644
index 81df8f3..0000000
--- a/sysdeps/tile/dl-tls.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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
-/* We provide a fast-path version of __tls_get_addr to allow for
- the normal case to be fast, both by coding the function tightly,
- and more importantly by fixing its register clobber API so the
- compiler can avoid having to set up frames, etc., unnecessarily. */
-#define __tls_get_addr __tls_get_addr_slow
-#endif
-
-#include <elf/dl-tls.c>
diff --git a/sysdeps/tile/dl-tls.h b/sysdeps/tile/dl-tls.h
deleted file mode 100644
index 04c4a82..0000000
--- a/sysdeps/tile/dl-tls.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-
-/* Type used for the representation of TLS information in the GOT. */
-typedef struct
-{
- unsigned long int ti_module;
- unsigned long int ti_offset;
-} tls_index;
-
-/* Fast-path function to get a TLS pointer. */
-extern void *__tls_get_addr (tls_index *ti);
-
-/* The thread pointer points to the first static TLS block. */
-#define TLS_TP_OFFSET 0
-
-/* Dynamic thread vector pointers at the start of each TLS block. */
-#define TLS_DTV_OFFSET 0
-
-/* Compute the value for a GOTTPREL reloc. */
-#define TLS_TPREL_VALUE(sym_map, sym) \
- ((sym_map)->l_tls_offset + (sym)->st_value - TLS_TP_OFFSET)
-
-/* Compute the value for a DTPREL reloc. */
-#define TLS_DTPREL_VALUE(sym) \
- ((sym)->st_value - TLS_DTV_OFFSET)
diff --git a/sysdeps/tile/dl-trampoline.S b/sysdeps/tile/dl-trampoline.S
deleted file mode 100644
index 7669d77..0000000
--- a/sysdeps/tile/dl-trampoline.S
+++ /dev/null
@@ -1,193 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <arch/abi.h>
-
-/* This function is called via the PLT header, which is called
- from an individual PLT entry.
-
- At this point we have several values passed in:
-
- lr: return address to original user code
- r28: the tpnt value to pass to _dl_runtime_resolver
- r29: the PLT index of the invoked jump table entry.
-
- We set up a frame entry that looks like this (in int_reg_t units):
-
- +57: r25 return values from function...
- +56: r24
- [...]
- +33: r1
- +32: r0
- +31: PLT index
- +30: tpnt
- +29: stackframe
- +28: caller lr
- +27: r25 arguments to function...
- +26: r24
- [...]
- +3: r1
- +2: r0
- +1: standard ABI slot (sp)
- +0: standard ABI slot (callee lr)
-
- The entries from "stackframe" up are only used in _dl_profile_resolve.
- We save and restore r0 through r25, rather than the strictly
- architected r0 through r9, to support unusual calling conventions;
- for example, __tls_get_addr takes r0 and returns r0, but promises
- not to clobber r1 through r24 to support its usual fast path. */
-
-#define FRAME_SP (1 * REGSIZE)
-#define FRAME_REGS (2 * REGSIZE)
-#define FRAME_LR (28 * REGSIZE) /* Must follow FRAME_REGS */
-#define FRAME_STACKFRAME (29 * REGSIZE)
-#define FRAME_TPNT (30 * REGSIZE)
-#define FRAME_INDEX (31 * REGSIZE)
-#define FRAME_RETVAL (32 * REGSIZE)
-
-#define FRAME_SIZE_SMALL (30 * REGSIZE)
-#define FRAME_SIZE_LARGE (58 * REGSIZE)
-
-#define FOR_EACH_REG(f) \
- f(r0); f(r1); f(r2); f(r3); \
- f(r4); f(r5); f(r6); f(r7); \
- f(r8); f(r9); f(r10); f(r11); \
- f(r12); f(r13); f(r14); f(r15); \
- f(r16); f(r17); f(r18); f(r19); \
- f(r20); f(r21); f(r22); f(r23); \
- f(r24); f(r25)
-
-#define SAVE(REG) { st r27, REG; ADDI_PTR r27, r27, REGSIZE }
-#define RESTORE(REG) { ld REG, r27; ADDI_PTR r27, r27, REGSIZE }
-
- .macro dl_resolve, name, profile, framesize
-.text
-.global \name
-.hidden \name
-/* Note that cpp expands ENTRY(\name) incorrectly. */
-.type \name,@function
-.align 8
-\name:
- cfi_startproc
- {
- st sp, lr
- move r26, sp
- }
- {
- ADDLI_PTR sp, sp, -\framesize
- ADDLI_PTR r27, sp, FRAME_SP - \framesize
- }
- cfi_def_cfa_offset (\framesize)
- {
- st r27, r26
- ADDI_PTR r27, r27, FRAME_REGS - FRAME_SP
- }
- FOR_EACH_REG(SAVE)
- {
- st r27, lr
- ADDLI_PTR r27, sp, FRAME_TPNT
- }
- cfi_offset (lr, FRAME_LR - \framesize)
- .if \profile
- {
- move r0, r28 /* tpnt value */
- st r27, r28
- ADDI_PTR r27, r27, FRAME_INDEX - FRAME_TPNT
- }
- {
- move r1, r29 /* PLT index */
- st r27, r29
- }
- {
- move r2, lr /* retaddr */
- ADDI_PTR r3, sp, FRAME_REGS /* La_tile_regs pointer */
- }
- {
- ADDLI_PTR r4, sp, FRAME_STACKFRAME /* framesize pointer */
- jal _dl_profile_fixup
- }
- ADDLI_PTR r28, sp, FRAME_STACKFRAME
- LD_PTR r28, r28
- bgtz r28, 1f
- .else
- {
- move r0, r28 /* tpnt value 1 */
- move r1, r29 /* PLT index 2 */
- }
- jal _dl_fixup
- .endif
- {
- /* Copy aside the return value so we can restore r0 below. */
- move r29, r0
- /* Set up r27 to let us start restoring registers. */
- ADDLI_PTR r27, sp, FRAME_REGS
- }
- FOR_EACH_REG(RESTORE)
- .if \profile
- ADDLI_PTR r28, sp, FRAME_STACKFRAME
- ld r28, r28
- bgtz r28, 1f
- .endif
- {
- /* Restore original user return address. */
- ld lr, r27
- /* Pop off our stack frame. */
- ADDLI_PTR sp, sp, \framesize
- }
- cfi_def_cfa_offset (0)
- jr r29 /* Transfer control to freshly loaded code. */
- jrp lr /* Keep backtracer happy. */
-
- .if \profile
-1: jalr r29 /* Call resolved function. */
- {
- ADDLI_PTR r28, sp, FRAME_TPNT
- ADDLI_PTR r27, sp, FRAME_RETVAL
- }
- FOR_EACH_REG(SAVE)
- {
- ld r0, r28
- ADDI_PTR r28, r28, FRAME_INDEX - FRAME_TPNT
- }
- {
- ld r1, r28
- ADDLI_PTR r2, sp, FRAME_REGS
- }
- {
- ADDLI_PTR r3, sp, FRAME_RETVAL
- jal _dl_call_pltexit
- }
- {
- ADDLI_PTR lr, sp, FRAME_LR
- ADDLI_PTR r27, sp, FRAME_RETVAL
- }
- FOR_EACH_REG(RESTORE)
- {
- ld lr, lr
- ADDLI_PTR sp, sp, \framesize
- }
- jrp lr
- .endif
-END (\name)
- .endm
-
- dl_resolve _dl_runtime_resolve, 0, FRAME_SIZE_SMALL
-#ifndef PROF
- dl_resolve _dl_runtime_profile, 1, FRAME_SIZE_LARGE
-#endif
diff --git a/sysdeps/tile/ffs.c b/sysdeps/tile/ffs.c
deleted file mode 100644
index 6c34273..0000000
--- a/sysdeps/tile/ffs.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <limits.h>
-#define ffsl __something_else
-#include <string.h>
-
-#undef ffs
-int
-__ffs (int x)
-{
- return __builtin_ffs (x);
-}
-weak_alias (__ffs, ffs)
-libc_hidden_def (__ffs)
-libc_hidden_builtin_def (ffs)
-
-#if ULONG_MAX == UINT_MAX
-#undef ffsl
-weak_alias (__ffs, ffsl)
-#endif
diff --git a/sysdeps/tile/ffsll.c b/sysdeps/tile/ffsll.c
deleted file mode 100644
index 409ce70..0000000
--- a/sysdeps/tile/ffsll.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2011-2018 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 <limits.h>
-#define ffsl __something_else
-#include <string.h>
-
-#undef ffsll
-int
-ffsll (long long x)
-{
- return __builtin_ffsll (x);
-}
-
-#if ULONG_MAX > UINT_MAX
-#undef ffsl
-weak_alias (ffsll, ffsl)
-#endif
diff --git a/sysdeps/tile/gccframe.h b/sysdeps/tile/gccframe.h
deleted file mode 100644
index b3c351c..0000000
--- a/sysdeps/tile/gccframe.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 FIRST_PSEUDO_REGISTER 64
-
-#include <sysdeps/generic/gccframe.h>
diff --git a/sysdeps/tile/jmpbuf-offsets.h b/sysdeps/tile/jmpbuf-offsets.h
deleted file mode 100644
index 8285826..0000000
--- a/sysdeps/tile/jmpbuf-offsets.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-/* We don't use most of these symbols; they are here for documentation. */
-#define JB_R30 0
-#define JB_R31 1
-#define JB_R32 2
-#define JB_R33 3
-#define JB_R34 4
-#define JB_R35 5
-#define JB_R36 6
-#define JB_R37 7
-#define JB_R38 8
-#define JB_R39 9
-#define JB_R40 10
-#define JB_R41 11
-#define JB_R42 12
-#define JB_R43 13
-#define JB_R44 14
-#define JB_R45 15
-#define JB_R46 16
-#define JB_R47 17
-#define JB_R48 18
-#define JB_R49 19
-#define JB_R50 20
-#define JB_R51 21
-#define JB_FP 22 /* r52 */
-#define JB_TP 23 /* r53 */
-#define JB_SP 24 /* r54 */
-#define JB_PC 25 /* normally LR, r55 */
-#define JB_ICS 26 /* interrupt critical section bit */
-
-/* We save space for some extra state to accommodate future changes. */
-#define JB_LEN 32 /* number of words */
-
-#define JB_SIZE (JB_LEN * REGSIZE)
-
-/* Helper macro used by all the setjmp/longjmp assembly code. */
-#define FOR_EACH_CALLEE_SAVED_REG(f) \
- .no_require_canonical_reg_names; f(r30); f(r31); \
- f(r32); f(r33); f(r34); f(r35); f(r36); f(r37); f(r38); f(r39); \
- f(r40); f(r41); f(r42); f(r43); f(r44); f(r45); f(r46); f(r47); \
- f(r48); f(r49); f(r50); f(r51); f(r52); f(r53); f(r54); f(r55)
-
-/* Helper for generic ____longjmp_chk(). */
-#define JB_FRAME_ADDRESS(buf) \
- ((void *) (unsigned long) (buf[JB_SP]))
diff --git a/sysdeps/tile/jmpbuf-unwind.h b/sysdeps/tile/jmpbuf-unwind.h
deleted file mode 100644
index 906977b..0000000
--- a/sysdeps/tile/jmpbuf-unwind.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <setjmp.h>
-#include <jmpbuf-offsets.h>
-#include <stdint.h>
-#include <unwind.h>
-#include <sysdep.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame
- containing a local variable at ADDRESS. */
-#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \
- ((void *) (address) < (void *) demangle ((jmpbuf)[JB_SP]))
-
-#define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
- _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) (long) _Unwind_GetCFA (_context), _adj)
-
-static inline uintptr_t __attribute__ ((unused))
-_jmpbuf_sp (__jmp_buf regs)
-{
- uintptr_t sp = regs[JB_SP];
-#ifdef PTR_DEMANGLE
- PTR_DEMANGLE (sp);
-#endif
- return sp;
-}
-
-#define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
- ((uintptr_t) (_address) - (_adj) < _jmpbuf_sp (_jmpbuf) - (_adj))
-
-/* We use the normal longjmp for unwinding. */
-#define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)
diff --git a/sysdeps/tile/ldsodefs.h b/sysdeps/tile/ldsodefs.h
deleted file mode 100644
index 6deacb7..0000000
--- a/sysdeps/tile/ldsodefs.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _TILE_LDSODEFS_H
-#define _TILE_LDSODEFS_H 1
-
-#include <elf.h>
-
-struct La_tile_regs;
-struct La_tile_retval;
-
-#define ARCH_PLTENTER_MEMBERS \
- ElfW(Addr) (*tile_gnu_pltenter) (ElfW(Sym) *, unsigned int, uintptr_t *, \
- uintptr_t *, struct La_tile_regs *, \
- unsigned int *, const char *, \
- long int *)
-
-#define ARCH_PLTEXIT_MEMBERS \
- ElfW(Addr) (*tile_gnu_pltexit) (ElfW(Sym) *, unsigned int, uintptr_t *, \
- uintptr_t *, const struct La_tile_regs *, \
- struct La_tile_retval *, const char *)
-
-#include_next <ldsodefs.h>
-
-#endif
diff --git a/sysdeps/tile/libm-test-ulps b/sysdeps/tile/libm-test-ulps
deleted file mode 100644
index a9d2c23..0000000
--- a/sysdeps/tile/libm-test-ulps
+++ /dev/null
@@ -1,394 +0,0 @@
-# Begin of automatic generation
-
-# Maximal error of functions:
-Function: "acos":
-float: 1
-ifloat: 1
-
-Function: "acosh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "asin":
-float: 1
-ifloat: 1
-
-Function: "asinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "atan":
-float: 1
-ifloat: 1
-
-Function: "atan2":
-float: 1
-ifloat: 1
-
-Function: "atanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "cabs":
-double: 1
-idouble: 1
-
-Function: Real part of "cacos":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "cacos":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Real part of "cacosh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "carg":
-float: 1
-ifloat: 1
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "casin":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Real part of "casinh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "casinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "catanh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "cbrt":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cexp":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Imaginary part of "cexp":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Real part of "clog":
-double: 3
-float: 3
-idouble: 3
-ifloat: 3
-
-Function: Imaginary part of "clog":
-float: 1
-ifloat: 1
-
-Function: Real part of "clog10":
-double: 3
-float: 4
-idouble: 3
-ifloat: 4
-
-Function: Imaginary part of "clog10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "cos":
-float: 1
-ifloat: 1
-
-Function: "cosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-
-Function: Imaginary part of "cpow":
-float: 2
-ifloat: 2
-
-Function: Real part of "csin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csqrt":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Imaginary part of "csqrt":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Real part of "ctan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ctan":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Real part of "ctanh":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Imaginary part of "ctanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "erf":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "erfc":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: "exp":
-float: 1
-ifloat: 1
-
-Function: "exp10":
-double: 2
-idouble: 2
-
-Function: "exp2":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "gamma":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "hypot":
-double: 1
-idouble: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "lgamma":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "log":
-float: 1
-ifloat: 1
-
-Function: "log10":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "log1p":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "log2":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow":
-float: 3
-ifloat: 3
-
-Function: "sin":
-float: 1
-ifloat: 1
-
-Function: "sincos":
-float: 1
-ifloat: 1
-
-Function: "sinh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "tan":
-float: 1
-ifloat: 1
-
-Function: "tanh":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "tgamma":
-double: 5
-float: 5
-idouble: 5
-ifloat: 5
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-# end of automatic generation
diff --git a/sysdeps/tile/libm-test-ulps-name b/sysdeps/tile/libm-test-ulps-name
deleted file mode 100644
index 69673dc..0000000
--- a/sysdeps/tile/libm-test-ulps-name
+++ /dev/null
@@ -1 +0,0 @@
-Tile
diff --git a/sysdeps/tile/machine-gmon.h b/sysdeps/tile/machine-gmon.h
deleted file mode 100644
index b129a69..0000000
--- a/sysdeps/tile/machine-gmon.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _MCOUNT_DECL(from, self) \
- void __mcount_internal (u_long from, u_long self)
-
-/* Call __mcount_internal with our the return PC for our caller, and
- the return PC our caller will return to. Empty since we use an
- assembly stub instead. */
-#define MCOUNT
diff --git a/sysdeps/tile/math-tests.h b/sysdeps/tile/math-tests.h
deleted file mode 100644
index 8eeafb8..0000000
--- a/sysdeps/tile/math-tests.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Configuration for math tests. Tile version.
- Copyright (C) 2013-2018 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/>. */
-
-/* Tile hardware/softfloat does not support exceptions and rounding modes. */
-#define ROUNDING_TESTS_float(MODE) ((MODE) == FE_TONEAREST)
-#define ROUNDING_TESTS_double(MODE) ((MODE) == FE_TONEAREST)
-#define ROUNDING_TESTS_long_double(MODE) ((MODE) == FE_TONEAREST)
-#define EXCEPTION_TESTS_float 0
-#define EXCEPTION_TESTS_double 0
-#define EXCEPTION_TESTS_long_double 0
-
-/* Tile hardware/softfloat floating-point ops do not preserve NaN payloads. */
-#define SNAN_TESTS_PRESERVE_PAYLOAD 0
-
-#include_next <math-tests.h>
diff --git a/sysdeps/tile/memchr.c b/sysdeps/tile/memchr.c
deleted file mode 100644
index 96a9f6e..0000000
--- a/sysdeps/tile/memchr.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-void *
-__memchr (const void *s, int c, size_t n)
-{
- const uint64_t *last_word_ptr;
- const uint64_t *p;
- const char *last_byte_ptr;
- uintptr_t s_int;
- uint64_t goal, before_mask, v, bits;
- char *ret;
-
- if (__builtin_expect (n == 0, 0))
- {
- /* Don't dereference any memory if the array is empty. */
- return NULL;
- }
-
- /* Get an aligned pointer. */
- s_int = (uintptr_t) s;
- p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the byte for which we are looking. */
- goal = copy_byte(c);
-
- /* Read the first word, but munge it so that bytes before the array
- will not match goal. */
- before_mask = MASK (s_int);
- v = (*p | before_mask) ^ (goal & before_mask);
-
- /* Compute the address of the last byte. */
- last_byte_ptr = (const char *) s + n - 1;
-
- /* Handle possible addition overflow. */
- if (__glibc_unlikely ((uintptr_t) last_byte_ptr < (uintptr_t) s))
- last_byte_ptr = (const char *) UINTPTR_MAX;
-
- /* Compute the address of the word containing the last byte. */
- last_word_ptr = (const uint64_t *) ((uintptr_t) last_byte_ptr & -8);
-
- while ((bits = v1cmpeq (v, goal)) == 0)
- {
- if (__builtin_expect (p == last_word_ptr, 0))
- {
- /* We already read the last word in the array, so give up. */
- return NULL;
- }
- v = *++p;
- }
-
- /* We found a match, but it might be in a byte past the end
- of the array. */
- ret = ((char *) p) + (CFZ (bits) >> 3);
- return (ret <= last_byte_ptr) ? ret : NULL;
-}
-weak_alias (__memchr, memchr)
-libc_hidden_builtin_def (memchr)
diff --git a/sysdeps/tile/memcmp.c b/sysdeps/tile/memcmp.c
deleted file mode 100644
index b7cf00a..0000000
--- a/sysdeps/tile/memcmp.c
+++ /dev/null
@@ -1,349 +0,0 @@
-/* Copyright (C) 1991-2018 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 HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#endif
-
-#undef memcmp
-
-#ifndef MEMCMP
-# define MEMCMP memcmp
-#endif
-
-#ifdef _LIBC
-
-# include <memcopy.h>
-# include <endian.h>
-
-# if __BYTE_ORDER == __BIG_ENDIAN
-# define WORDS_BIGENDIAN
-# endif
-
-#else /* Not in the GNU C library. */
-
-# include <sys/types.h>
-
-/* Type to use for aligned memory operations.
- This should normally be the biggest type supported by a single load
- and store. Must be an unsigned type. */
-# define op_t unsigned long int
-# define OPSIZ (sizeof(op_t))
-
-/* Threshold value for when to enter the unrolled loops. */
-# define OP_T_THRES 16
-
-/* Type to use for unaligned operations. */
-typedef unsigned char byte;
-
-#endif /* In the GNU C library. */
-
-/* Provide the appropriate builtins to shift two registers based on
- the alignment of a pointer held in a third register, and to reverse
- the bytes in a word. */
-#define DBLALIGN __insn_dblalign
-#define REVBYTES __insn_revbytes
-
-#ifdef WORDS_BIGENDIAN
-# define CMP_LT_OR_GT(a, b) ((a) > (b) ? 1 : -1)
-#else
-# define CMP_LT_OR_GT(a, b) (REVBYTES(a) > REVBYTES(b) ? 1 : -1)
-#endif
-
-/* BE VERY CAREFUL IF YOU CHANGE THIS CODE! */
-
-/* The strategy of this memcmp is:
-
- 1. Compare bytes until one of the block pointers is aligned.
-
- 2. Compare using memcmp_common_alignment or
- memcmp_not_common_alignment, regarding the alignment of the other
- block after the initial byte operations. The maximum number of
- full words (of type op_t) are compared in this way.
-
- 3. Compare the few remaining bytes. */
-
-static int memcmp_common_alignment (long, long, size_t) __THROW;
-
-/* memcmp_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN `op_t'
- objects (not LEN bytes!). Both SRCP1 and SRCP2 should be aligned for
- memory operations on `op_t's. */
-static int
-memcmp_common_alignment (long int srcp1, long int srcp2, size_t len)
-{
- op_t a0, a1;
- op_t b0, b1;
-
- switch (len % 4)
- {
- default: /* Avoid warning about uninitialized local variables. */
- case 2:
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- len += 2;
- goto do1;
- case 3:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- len += 1;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return 0;
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- goto do3;
- case 1:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- /* Fall through. */
- }
-
- do
- {
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (a1 != b1))
- return CMP_LT_OR_GT (a1, b1);
-
- do3:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (a0 != b0))
- return CMP_LT_OR_GT (a0, b0);
-
- do2:
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (a1 != b1))
- return CMP_LT_OR_GT (a1, b1);
-
- do1:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (a0 != b0))
- return CMP_LT_OR_GT (a0, b0);
-
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- if (__glibc_likely (a1 != b1))
- return CMP_LT_OR_GT (a1, b1);
- return 0;
-}
-
-static int memcmp_not_common_alignment (long, long, size_t) __THROW;
-
-/* memcmp_not_common_alignment -- Compare blocks at SRCP1 and SRCP2 with LEN
- `op_t' objects (not LEN bytes!). SRCP2 should be aligned for memory
- operations on `op_t', but SRCP1 *should be unaligned*. */
-static int
-memcmp_not_common_alignment (long int srcp1, long int srcp2, size_t len)
-{
- void * srcp1i;
- op_t a0, a1, a2, a3;
- op_t b0, b1, b2, b3;
- op_t x;
-
- /* Calculate how to shift a word read at the memory operation
- aligned srcp1 to make it aligned for comparison. */
-
- srcp1i = (void *) srcp1;
-
- /* Make SRCP1 aligned by rounding it down to the beginning of the `op_t'
- it points in the middle of. */
- srcp1 &= -OPSIZ;
-
- switch (len % 4)
- {
- default: /* Avoid warning about uninitialized local variables. */
- case 2:
- a1 = ((op_t *) srcp1)[0];
- a2 = ((op_t *) srcp1)[1];
- b2 = ((op_t *) srcp2)[0];
- srcp1 += 2 * OPSIZ;
- srcp2 += 1 * OPSIZ;
- len += 2;
- goto do1;
- case 3:
- a0 = ((op_t *) srcp1)[0];
- a1 = ((op_t *) srcp1)[1];
- b1 = ((op_t *) srcp2)[0];
- srcp1 += 2 * OPSIZ;
- srcp2 += 1 * OPSIZ;
- len += 1;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return 0;
- a3 = ((op_t *) srcp1)[0];
- a0 = ((op_t *) srcp1)[1];
- b0 = ((op_t *) srcp2)[0];
- srcp1 += 2 * OPSIZ;
- srcp2 += 1 * OPSIZ;
- goto do3;
- case 1:
- a2 = ((op_t *) srcp1)[0];
- a3 = ((op_t *) srcp1)[1];
- b3 = ((op_t *) srcp2)[0];
- srcp1 += 2 * OPSIZ;
- srcp2 += 1 * OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- /* Fall through. */
- }
-
- do
- {
- a0 = ((op_t *) srcp1)[0];
- b0 = ((op_t *) srcp2)[0];
- x = DBLALIGN (a2, a3, srcp1i);
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (x != b3))
- return CMP_LT_OR_GT (x, b3);
-
- do3:
- a1 = ((op_t *) srcp1)[0];
- b1 = ((op_t *) srcp2)[0];
- x = DBLALIGN (a3, a0, srcp1i);
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (x != b0))
- return CMP_LT_OR_GT (x, b0);
-
- do2:
- a2 = ((op_t *) srcp1)[0];
- b2 = ((op_t *) srcp2)[0];
- x = DBLALIGN (a0, a1, srcp1i);
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (x != b1))
- return CMP_LT_OR_GT (x, b1);
-
- do1:
- a3 = ((op_t *) srcp1)[0];
- b3 = ((op_t *) srcp2)[0];
- x = DBLALIGN (a1, a2, srcp1i);
- srcp1 += OPSIZ;
- srcp2 += OPSIZ;
- if (__glibc_likely (x != b2))
- return CMP_LT_OR_GT (x, b2);
-
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- x = DBLALIGN (a2, a3, srcp1i);
- if (__glibc_likely (x != b3))
- return CMP_LT_OR_GT (x, b3);
- return 0;
-}
-
-int
-MEMCMP (const void *s1, const void *s2, size_t len)
-{
- op_t a0;
- op_t b0;
- long int srcp1 = (long int) s1;
- long int srcp2 = (long int) s2;
- int res;
-
- if (len >= OP_T_THRES)
- {
- /* There are at least some bytes to compare. No need to test
- for LEN == 0 in this alignment loop. */
- while (srcp2 % OPSIZ != 0)
- {
- a0 = ((byte *) srcp1)[0];
- b0 = ((byte *) srcp2)[0];
- srcp1 += 1;
- srcp2 += 1;
- res = a0 - b0;
- if (__glibc_likely (res != 0))
- return res;
- len -= 1;
- }
-
- /* SRCP2 is now aligned for memory operations on `op_t'.
- SRCP1 alignment determines if we can do a simple,
- aligned compare or need to shuffle bits. */
-
- if (srcp1 % OPSIZ == 0)
- res = memcmp_common_alignment (srcp1, srcp2, len / OPSIZ);
- else
- res = memcmp_not_common_alignment (srcp1, srcp2, len / OPSIZ);
- if (res != 0)
- return res;
-
- /* Number of bytes remaining in the interval [0..OPSIZ-1]. */
- srcp1 += len & -OPSIZ;
- srcp2 += len & -OPSIZ;
- len %= OPSIZ;
- }
-
- /* There are just a few bytes to compare. Use byte memory operations. */
- while (len != 0)
- {
- a0 = ((byte *) srcp1)[0];
- b0 = ((byte *) srcp2)[0];
- srcp1 += 1;
- srcp2 += 1;
- res = a0 - b0;
- if (__glibc_likely (res != 0))
- return res;
- len -= 1;
- }
-
- return 0;
-}
-libc_hidden_builtin_def(memcmp)
-#ifdef weak_alias
-# undef bcmp
-weak_alias (memcmp, bcmp)
-#endif
diff --git a/sysdeps/tile/memcopy.h b/sysdeps/tile/memcopy.h
deleted file mode 100644
index 0c357c1..0000000
--- a/sysdeps/tile/memcopy.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* memcopy.h -- definitions for memory copy functions. Tile version.
- Copyright (C) 2012-2018 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/memcopy.h>
-#include <bits/wordsize.h>
-
-/* The tilegx implementation of memcpy is safe to use for memmove. */
-#undef MEMCPY_OK_FOR_FWD_MEMMOVE
-#define MEMCPY_OK_FOR_FWD_MEMMOVE 1
-
-/* Support more efficient copying on tilegx32, which supports
- long long as a native 64-bit type. */
-#if __WORDSIZE == 32
-# undef op_t
-# define op_t unsigned long long int
-#endif
diff --git a/sysdeps/tile/memcpy.c b/sysdeps/tile/memcpy.c
deleted file mode 100644
index cbf92bc..0000000
--- a/sysdeps/tile/memcpy.c
+++ /dev/null
@@ -1,272 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <memcopy.h>
-#include <arch/chip.h>
-
-/* How many cache lines ahead should we prefetch? */
-#define PREFETCH_LINES_AHEAD 3
-
-void * inhibit_loop_to_libcall
-__memcpy (void *__restrict dstv, const void *__restrict srcv, size_t n)
-{
- char *__restrict dst1 = (char *) dstv;
- const char *__restrict src1 = (const char *) srcv;
- const char *__restrict src1_end;
- const char *__restrict prefetch;
- op_t *__restrict dst8; /* 8-byte pointer to destination memory. */
- op_t final; /* Final bytes to write to trailing word, if any */
- long i;
-
- if (n < 16)
- {
- for (; n; n--)
- *dst1++ = *src1++;
- return dstv;
- }
-
- /* Locate the end of source memory we will copy. Don't prefetch
- past this. */
- src1_end = src1 + n - 1;
-
- /* Prefetch ahead a few cache lines, but not past the end. */
- prefetch = src1;
- for (i = 0; i < PREFETCH_LINES_AHEAD; i++)
- {
- __insn_prefetch (prefetch);
- prefetch += CHIP_L2_LINE_SIZE ();
- prefetch = (prefetch < src1_end) ? prefetch : src1;
- }
-
- /* Copy bytes until dst is word-aligned. */
- for (; (uintptr_t) dst1 & (sizeof (op_t) - 1); n--)
- *dst1++ = *src1++;
-
- /* 8-byte pointer to destination memory. */
- dst8 = (op_t *) dst1;
-
- if (__builtin_expect ((uintptr_t) src1 & (sizeof (op_t) - 1), 0))
- {
- /* Misaligned copy. Use glibc's _wordcopy_fwd_dest_aligned, but
- inline it to avoid prologue/epilogue. TODO: Consider
- prefetching and using wh64 as well. */
- void * srci;
- op_t a0, a1, a2, a3;
- long int dstp = (long int) dst1;
- long int srcp = (long int) src1;
- long int len = n / OPSIZ;
-
- /* Save the initial source pointer so we know the number of
- bytes to shift for merging two unaligned results. */
- srci = (void *) srcp;
-
- /* Make SRCP aligned by rounding it down to the beginning of the
- `op_t' it points in the middle of. */
- srcp &= -OPSIZ;
-
- switch (len % 4)
- {
- case 2:
- a1 = ((op_t *) srcp)[0];
- a2 = ((op_t *) srcp)[1];
- len += 2;
- srcp += 2 * OPSIZ;
- goto do1;
- case 3:
- a0 = ((op_t *) srcp)[0];
- a1 = ((op_t *) srcp)[1];
- len += 1;
- srcp += 2 * OPSIZ;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return dstv;
- a3 = ((op_t *) srcp)[0];
- a0 = ((op_t *) srcp)[1];
- len += 0;
- srcp += 2 * OPSIZ;
- goto do3;
- case 1:
- a2 = ((op_t *) srcp)[0];
- a3 = ((op_t *) srcp)[1];
- srcp += 2 * OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- goto do4; /* No-op. */
- }
-
- do
- {
- do4:
- a0 = ((op_t *) srcp)[0];
- a2 = __insn_dblalign (a2, a3, srci);
- ((op_t *) dstp)[0] = a2;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do3:
- a1 = ((op_t *) srcp)[0];
- a3 = __insn_dblalign (a3, a0, srci);
- ((op_t *) dstp)[0] = a3;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do2:
- a2 = ((op_t *) srcp)[0];
- a0 = __insn_dblalign (a0, a1, srci);
- ((op_t *) dstp)[0] = a0;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do1:
- a3 = ((op_t *) srcp)[0];
- a1 = __insn_dblalign (a1, a2, srci);
- ((op_t *) dstp)[0] = a1;
- srcp += OPSIZ;
- dstp += OPSIZ;
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- ((op_t *) dstp)[0] = __insn_dblalign (a2, a3, srci);
-
- n = n % OPSIZ;
- if (n == 0)
- return dstv;
-
- a0 = ((const char *) srcp <= src1_end) ? ((op_t *) srcp)[0] : 0;
-
- final = __insn_dblalign (a3, a0, srci);
- dst8 = (op_t *)(dstp + OPSIZ);
- }
- else
- {
- /* Aligned copy. */
-
- const op_t *__restrict src8 = (const op_t *) src1;
-
- /* src8 and dst8 are both word-aligned. */
- if (n >= CHIP_L2_LINE_SIZE ())
- {
- /* Copy until 'dst' is cache-line-aligned. */
- for (; (uintptr_t) dst8 & (CHIP_L2_LINE_SIZE () - 1);
- n -= sizeof (op_t))
- *dst8++ = *src8++;
-
- for (; n >= CHIP_L2_LINE_SIZE ();)
- {
- op_t tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
-
- /* Prefetch and advance to next line to prefetch, but
- don't go past the end. */
- __insn_prefetch (prefetch);
- prefetch += CHIP_L2_LINE_SIZE ();
- prefetch = (prefetch < src1_end) ? prefetch :
- (const char *) src8;
-
- /* Do all the loads before wh64. This is necessary if
- [src8, src8+7] and [dst8, dst8+7] share the same
- cache line and dst8 <= src8, as can be the case when
- called from memmove, or with code tested on x86 whose
- memcpy always works with forward copies. */
- tmp0 = *src8++;
- tmp1 = *src8++;
- tmp2 = *src8++;
- tmp3 = *src8++;
- tmp4 = *src8++;
- tmp5 = *src8++;
- tmp6 = *src8++;
- tmp7 = *src8++;
-
- __insn_wh64 (dst8);
-
- *dst8++ = tmp0;
- *dst8++ = tmp1;
- *dst8++ = tmp2;
- *dst8++ = tmp3;
- *dst8++ = tmp4;
- *dst8++ = tmp5;
- *dst8++ = tmp6;
- *dst8++ = tmp7;
-
- n -= 64;
- }
-#if CHIP_L2_LINE_SIZE() != 64
-# error "Fix code that assumes particular L2 cache line size."
-#endif
- }
-
- for (; n >= sizeof (op_t); n -= sizeof (op_t))
- *dst8++ = *src8++;
-
- if (__builtin_expect (n == 0, 1))
- return dstv;
-
- final = *src8;
- }
-
- /* n != 0 if we get here. Write out any trailing bytes. */
- dst1 = (char *) dst8;
-#ifndef __BIG_ENDIAN__
- if (n & 4)
- {
- *(uint32_t *) dst1 = final;
- dst1 += 4;
- final >>= 32;
- n &= 3;
- }
- if (n & 2)
- {
- *(uint16_t *) dst1 = final;
- dst1 += 2;
- final >>= 16;
- n &= 1;
- }
- if (n)
- *(uint8_t *) dst1 = final;
-#else
- if (n & 4)
- {
- *(uint32_t *) dst1 = final >> 32;
- dst1 += 4;
- }
- else
- {
- final >>= 32;
- }
- if (n & 2)
- {
- *(uint16_t *) dst1 = final >> 16;
- dst1 += 2;
- }
- else
- {
- final >>= 16;
- }
- if (n & 1)
- *(uint8_t *) dst1 = final >> 8;
-#endif
-
- return dstv;
-}
-weak_alias (__memcpy, memcpy)
-libc_hidden_builtin_def (memcpy)
diff --git a/sysdeps/tile/memset.c b/sysdeps/tile/memset.c
deleted file mode 100644
index db3769b..0000000
--- a/sysdeps/tile/memset.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <arch/chip.h>
-#include <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-void * inhibit_loop_to_libcall
-__memset (void *s, int c, size_t n)
-{
- uint64_t *out64;
- int n64, to_align64;
- uint64_t v64;
- uint8_t *out8 = s;
-
- /* Experimentation shows that a trivial tight loop is a win up until
- around a size of 20, where writing a word at a time starts to win. */
-#define BYTE_CUTOFF 20
-
-#if BYTE_CUTOFF < 7
- /* This must be at least at least this big, or some code later
- on doesn't work. */
-# error "BYTE_CUTOFF is too small."
-#endif
-
- if (n < BYTE_CUTOFF)
- {
- /* Strangely, this turns out to be the tightest way to write
- this loop. */
- if (n != 0)
- {
- do
- {
- /* Strangely, combining these into one line performs worse. */
- *out8 = c;
- out8++;
- }
- while (--n != 0);
- }
-
- return s;
- }
-
- /* Align 'out8'. We know n >= 7 so this won't write past the end. */
- while (((uintptr_t) out8 & 7) != 0)
- {
- *out8++ = c;
- --n;
- }
-
- /* Align 'n'. */
- while (n & 7)
- out8[--n] = c;
-
- out64 = (uint64_t *) out8;
- n64 = n >> 3;
-
- /* Tile input byte out to 64 bits. */
- v64 = copy_byte(c);
-
- /* This must be at least 8 or the following loop doesn't work. */
-#define CACHE_LINE_SIZE_IN_DOUBLEWORDS (CHIP_L2_LINE_SIZE() / 8)
-
- /* Determine how many words we need to emit before the 'out32'
- pointer becomes aligned modulo the cache line size. */
- to_align64 = (-((uintptr_t) out64 >> 3)) &
- (CACHE_LINE_SIZE_IN_DOUBLEWORDS - 1);
-
- /* Only bother aligning and using wh64 if there is at least
- one full cache line to process. This check also prevents
- overrunning the end of the buffer with alignment words. */
- if (to_align64 <= n64 - CACHE_LINE_SIZE_IN_DOUBLEWORDS)
- {
- int lines_left;
-
- /* Align out64 mod the cache line size so we can use wh64. */
- n64 -= to_align64;
- for (; to_align64 != 0; to_align64--)
- {
- *out64 = v64;
- out64++;
- }
-
- /* Use unsigned divide to turn this into a right shift. */
- lines_left = (unsigned) n64 / CACHE_LINE_SIZE_IN_DOUBLEWORDS;
-
- do
- {
- /* Only wh64 a few lines at a time, so we don't exceed the
- maximum number of victim lines. */
- int x = ((lines_left < CHIP_MAX_OUTSTANDING_VICTIMS ()) ? lines_left
- : CHIP_MAX_OUTSTANDING_VICTIMS ());
- uint64_t *wh = out64;
- int i = x;
- int j;
-
- lines_left -= x;
-
- do
- {
- __insn_wh64 (wh);
- wh += CACHE_LINE_SIZE_IN_DOUBLEWORDS;
- }
- while (--i);
-
- for (j = x * (CACHE_LINE_SIZE_IN_DOUBLEWORDS / 4); j != 0; j--)
- {
- *out64++ = v64;
- *out64++ = v64;
- *out64++ = v64;
- *out64++ = v64;
- }
- }
- while (lines_left != 0);
-
- /* We processed all full lines above, so only this many
- words remain to be processed. */
- n64 &= CACHE_LINE_SIZE_IN_DOUBLEWORDS - 1;
- }
-
- /* Now handle any leftover values. */
- if (n64 != 0)
- {
- do
- {
- *out64 = v64;
- out64++;
- }
- while (--n64 != 0);
- }
-
- return s;
-}
-weak_alias (__memset, memset)
-libc_hidden_builtin_def (memset)
diff --git a/sysdeps/tile/memusage.h b/sysdeps/tile/memusage.h
deleted file mode 100644
index b2343fe..0000000
--- a/sysdeps/tile/memusage.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdint.h>
-#include <arch/spr_def.h>
-
-#define GETSP() ({ register uintptr_t stack_ptr asm ("sp"); stack_ptr; })
-
-#define GETTIME(low,high) \
- { \
- uint64_t cycles = __insn_mfspr (SPR_CYCLE); \
- low = cycles & 0xffffffff; \
- high = cycles >> 32; \
- }
-
-#include <sysdeps/generic/memusage.h>
diff --git a/sysdeps/tile/nptl/Makefile b/sysdeps/tile/nptl/Makefile
deleted file mode 100644
index 60e19c7..0000000
--- a/sysdeps/tile/nptl/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2002-2018 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/>.
-
-ifeq ($(subdir),csu)
-gen-as-const-headers += tcb-offsets.sym
-endif
diff --git a/sysdeps/tile/nptl/bits/pthreadtypes-arch.h b/sysdeps/tile/nptl/bits/pthreadtypes-arch.h
deleted file mode 100644
index 7c0844f..0000000
--- a/sysdeps/tile/nptl/bits/pthreadtypes-arch.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Based on work contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _BITS_PTHREADTYPES_ARCH_H
-#define _BITS_PTHREADTYPES_ARCH_H 1
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __SIZEOF_PTHREAD_MUTEX_T 40
-# define __SIZEOF_PTHREAD_ATTR_T 56
-# define __SIZEOF_PTHREAD_RWLOCK_T 56
-# define __SIZEOF_PTHREAD_BARRIER_T 32
-#else
-# define __SIZEOF_PTHREAD_MUTEX_T 24
-# define __SIZEOF_PTHREAD_ATTR_T 36
-# define __SIZEOF_PTHREAD_RWLOCK_T 32
-# define __SIZEOF_PTHREAD_BARRIER_T 20
-#endif
-#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
-#define __SIZEOF_PTHREAD_COND_T 48
-#define __SIZEOF_PTHREAD_CONDATTR_T 4
-#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
-#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
-
-/* Data structure for mutex handling. */
-#define __PTHREAD_COMPAT_PADDING_MID
-#define __PTHREAD_COMPAT_PADDING_END
-#define __PTHREAD_MUTEX_LOCK_ELISION 0
-#define __PTHREAD_MUTEX_NUSERS_AFTER_KIND (__WORDSIZE != 64)
-#define __PTHREAD_MUTEX_USE_UNION (__WORDSIZE != 64)
-
-#define __LOCK_ALIGNMENT
-#define __ONCE_ALIGNMENT
-
-struct __pthread_rwlock_arch_t
-{
- unsigned int __readers;
- unsigned int __writers;
- unsigned int __wrphase_futex;
- unsigned int __writers_futex;
- unsigned int __pad3;
- unsigned int __pad4;
-#if __WORDSIZE == 64
- int __cur_writer;
- int __shared;
- unsigned long int __pad1;
- unsigned long int __pad2;
- /* FLAGS must stay at this position in the structure to maintain
- binary compatibility. */
- unsigned int __flags;
-#else
- /* FLAGS must stay at this position in the structure to maintain
- binary compatibility. */
- unsigned char __flags;
- unsigned char __shared;
- unsigned char __pad1;
- unsigned char __pad2;
- int __cur_writer;
-#endif
-};
-
-#define __PTHREAD_RWLOCK_ELISION_EXTRA 0
-
-#endif /* bits/pthreadtypes.h */
diff --git a/sysdeps/tile/nptl/bits/semaphore.h b/sysdeps/tile/nptl/bits/semaphore.h
deleted file mode 100644
index 733ba8a..0000000
--- a/sysdeps/tile/nptl/bits/semaphore.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
- Based on work 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 _SEMAPHORE_H
-# error "Never use <bits/semaphore.h> directly; include <semaphore.h> instead."
-#endif
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __SIZEOF_SEM_T 32
-#else
-# define __SIZEOF_SEM_T 16
-#endif
-
-
-/* Value returned if `sem_open' failed. */
-#define SEM_FAILED ((sem_t *) 0)
-
-
-typedef union
-{
- char __size[__SIZEOF_SEM_T];
- long int __align;
-} sem_t;
diff --git a/sysdeps/tile/nptl/pthread-offsets.h b/sysdeps/tile/nptl/pthread-offsets.h
deleted file mode 100644
index bdda1f1..0000000
--- a/sysdeps/tile/nptl/pthread-offsets.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define __PTHREAD_MUTEX_NUSERS_OFFSET 12
-# define __PTHREAD_MUTEX_KIND_OFFSET 16
-# define __PTHREAD_MUTEX_SPINS_OFFSET 20
-# define __PTHREAD_MUTEX_ELISION_OFFSET 22
-# define __PTHREAD_MUTEX_LIST_OFFSET 24
-#else
-# define __PTHREAD_MUTEX_NUSERS_OFFSET 16
-# define __PTHREAD_MUTEX_KIND_OFFSET 12
-# define __PTHREAD_MUTEX_SPINS_OFFSET 20
-# define __PTHREAD_MUTEX_ELISION_OFFSET 22
-# define __PTHREAD_MUTEX_LIST_OFFSET 20
-#endif
diff --git a/sysdeps/tile/nptl/pthread_spin_lock.c b/sysdeps/tile/nptl/pthread_spin_lock.c
deleted file mode 100644
index 94f5f1b..0000000
--- a/sysdeps/tile/nptl/pthread_spin_lock.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 "pthreadP.h"
-#include <arch/spr_def.h>
-#include <atomic.h>
-
-/* Bound point for bounded exponential backoff */
-#define BACKOFF_MAX 2048
-
-/* Initial cycle delay for exponential backoff */
-#define BACKOFF_START 32
-
-/* Use cmpexch() after the initial fast-path exch to avoid
- invalidating the cache line of the lock holder. */
-#define TNS(p) atomic_exchange_acq((p), 1)
-#define CMPTNS(p) atomic_compare_and_exchange_val_acq((p), 1, 0)
-
-int
-pthread_spin_lock (pthread_spinlock_t *lock)
-{
- if (__builtin_expect (TNS (lock) != 0, 0))
- {
- unsigned int backoff = BACKOFF_START;
- while (CMPTNS (lock) != 0)
- {
- unsigned int start = __insn_mfspr (SPR_CYCLE);
- while (__insn_mfspr (SPR_CYCLE) - start < backoff)
- ;
- if (backoff < BACKOFF_MAX)
- backoff *= 2;
- }
- }
- return 0;
-}
diff --git a/sysdeps/tile/nptl/pthread_spin_trylock.c b/sysdeps/tile/nptl/pthread_spin_trylock.c
deleted file mode 100644
index 7e549a5..0000000
--- a/sysdeps/tile/nptl/pthread_spin_trylock.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 "pthreadP.h"
-#include <errno.h>
-
-#define TNS(p) __insn_exch4((p), 1)
-
-int
-pthread_spin_trylock (pthread_spinlock_t *lock)
-{
- return (TNS (lock) == 0) ? 0 : EBUSY;
-}
diff --git a/sysdeps/tile/nptl/pthread_spin_unlock.c b/sysdeps/tile/nptl/pthread_spin_unlock.c
deleted file mode 100644
index f356747..0000000
--- a/sysdeps/tile/nptl/pthread_spin_unlock.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* pthread_spin_unlock -- unlock a spin lock. Tile version.
- Copyright (C) 2012-2018 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 "pthreadP.h"
-#include <atomic.h>
-
-int
-pthread_spin_unlock (pthread_spinlock_t *lock)
-{
- /* Use exchange() to bypass the write buffer. */
- atomic_exchange_rel (lock, 0);
- return 0;
-}
diff --git a/sysdeps/tile/nptl/pthreaddef.h b/sysdeps/tile/nptl/pthreaddef.h
deleted file mode 100644
index a1c0062..0000000
--- a/sysdeps/tile/nptl/pthreaddef.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <stdlib.h>
-#include <string.h>
-
-/* Default stack size. */
-#define ARCH_STACK_DEFAULT_SIZE (2 * 1024 * 1024)
-
-/* Required stack pointer alignment at beginning. */
-#define STACK_ALIGN 16
-
-/* Minimal stack size after allocating thread descriptor and guard size. */
-#define MINIMAL_REST_STACK 2048
-
-/* Alignment requirement for TCB. */
-#define TCB_ALIGNMENT 16
-
-
-/* Location of current stack frame. */
-#define CURRENT_STACK_FRAME __builtin_frame_address (0)
diff --git a/sysdeps/tile/nptl/tcb-offsets.sym b/sysdeps/tile/nptl/tcb-offsets.sym
deleted file mode 100644
index 0147ffa..0000000
--- a/sysdeps/tile/nptl/tcb-offsets.sym
+++ /dev/null
@@ -1,16 +0,0 @@
-#define SHARED /* needed to get struct rtld_global from <ldsodefs.h> */
-#include <sysdep.h>
-#include <tls.h>
-#include <ldsodefs.h>
-
---
-
--- Abuse tls.h macros to derive offsets relative to the thread register.
-#define thread_offsetof(mem) (long)(offsetof(struct pthread, mem) - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)
-
-MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads)
-TID_OFFSET thread_offsetof (tid)
-POINTER_GUARD (offsetof (tcbhead_t, pointer_guard) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
-FEEDBACK_DATA_OFFSET (offsetof (tcbhead_t, feedback_data) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
-DTV_OFFSET (offsetof (tcbhead_t, dtv) - TLS_TCB_OFFSET - sizeof (tcbhead_t))
-TLS_GENERATION_OFFSET offsetof (struct rtld_global, _dl_tls_generation)
diff --git a/sysdeps/tile/nptl/tls.h b/sysdeps/tile/nptl/tls.h
deleted file mode 100644
index 45d6c53..0000000
--- a/sysdeps/tile/nptl/tls.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _TLS_H
-#define _TLS_H 1
-
-# include <dl-sysdep.h>
-
-#ifndef __ASSEMBLER__
-# include <stdbool.h>
-# include <stddef.h>
-# include <stdint.h>
-# include <dl-dtv.h>
-
-#else /* __ASSEMBLER__ */
-# include <tcb-offsets.h>
-#endif /* __ASSEMBLER__ */
-
-
-#ifndef __ASSEMBLER__
-
-/* Get system call information. */
-# include <sysdep.h>
-
-/* The TP points to the start of the thread blocks. */
-# define TLS_DTV_AT_TP 1
-# define TLS_TCB_AT_TP 0
-
-/* We use the multiple_threads field in the pthread struct */
-#define TLS_MULTIPLE_THREADS_IN_TCB 1
-
-/* Get the thread descriptor definition. */
-# include <nptl/descr.h>
-
-/* The stack_guard is accessed directly by GCC -fstack-protector code,
- so it is a part of public ABI. The dtv and pointer_guard fields
- are private. */
-typedef struct
-{
- void *feedback_data;
- uintptr_t pointer_guard;
- uintptr_t stack_guard;
- dtv_t *dtv;
-} tcbhead_t;
-
-/* This is the size of the initial TCB. Because our TCB is before the thread
- pointer, we don't need this. */
-# define TLS_INIT_TCB_SIZE 0
-
-/* Alignment requirements for the initial TCB. */
-# define TLS_INIT_TCB_ALIGN __alignof__ (struct pthread)
-
-/* This is the size of the TCB. Because our TCB is before the thread
- pointer, we don't need this. */
-# define TLS_TCB_SIZE 0
-
-/* Alignment requirements for the TCB. */
-# define TLS_TCB_ALIGN __alignof__ (struct pthread)
-
-/* This is the size we need before TCB - actually, it includes the TCB. */
-# define TLS_PRE_TCB_SIZE \
- (sizeof (struct pthread) \
- + ((sizeof (tcbhead_t) + TLS_TCB_ALIGN - 1) & ~(TLS_TCB_ALIGN - 1)))
-
-/* Return the thread descriptor (tp) for the current thread. */
-register void *__thread_pointer asm ("tp");
-
-/* The thread pointer (in hardware register tp) points to the end of
- the TCB. The pthread_descr structure is immediately in front of the TCB. */
-# define TLS_TCB_OFFSET 0
-
-/* Install the dtv pointer. The pointer passed is to the element with
- index -1 which contain the length. */
-# define INSTALL_DTV(tcbp, dtvp) \
- (((tcbhead_t *) (tcbp))[-1].dtv = (dtvp) + 1)
-
-/* Install new dtv for current thread. */
-# define INSTALL_NEW_DTV(dtv) (THREAD_DTV() = (dtv))
-
-/* Return dtv of given thread descriptor. */
-# define GET_DTV(tcbp) (((tcbhead_t *) (tcbp))[-1].dtv)
-
-/* Code to initially initialize the thread pointer (tp). */
-# define TLS_INIT_TP(tcbp) \
- (__thread_pointer = (char *)(tcbp) + TLS_TCB_OFFSET, NULL)
-
-/* Value passed to 'clone' for initialization of the thread register. */
-# define TLS_DEFINE_INIT_TP(tp, pd) \
- void *tp = (void *) (pd) + TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE
-
-/* Return the address of the dtv for the current thread. */
-# define THREAD_DTV() \
- (((tcbhead_t *) (__thread_pointer - TLS_TCB_OFFSET))[-1].dtv)
-
-/* Return the thread descriptor for the current thread. */
-# define THREAD_SELF \
- ((struct pthread *) (__thread_pointer \
- - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE))
-
-/* Magic for libthread_db to know how to do THREAD_SELF. */
-# define DB_THREAD_SELF \
- REGISTER (64, 64, REG_TP * 8, - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE)
-
-/* Read member of the thread descriptor directly. */
-# define THREAD_GETMEM(descr, member) (descr->member)
-
-/* Same as THREAD_GETMEM, but the member offset can be non-constant. */
-# define THREAD_GETMEM_NC(descr, member, idx) \
- (descr->member[idx])
-
-/* Set member of the thread descriptor directly. */
-# define THREAD_SETMEM(descr, member, value) \
- (descr->member = (value))
-
-/* Same as THREAD_SETMEM, but the member offset can be non-constant. */
-# define THREAD_SETMEM_NC(descr, member, idx, value) \
- (descr->member[idx] = (value))
-
-/* Set the stack guard field in TCB head. */
-# define THREAD_SET_STACK_GUARD(value) \
- (((tcbhead_t *) ((char *) __thread_pointer \
- - TLS_TCB_OFFSET))[-1].stack_guard = (value))
-# define THREAD_COPY_STACK_GUARD(descr) \
- (((tcbhead_t *) ((char *) (descr) \
- + TLS_PRE_TCB_SIZE))[-1].stack_guard \
- = ((tcbhead_t *) ((char *) __thread_pointer \
- - TLS_TCB_OFFSET))[-1].stack_guard)
-
-/* Set the pointer guard field in TCB head. */
-# define THREAD_GET_POINTER_GUARD() \
- (((tcbhead_t *) ((char *) __thread_pointer \
- - TLS_TCB_OFFSET))[-1].pointer_guard)
-# define THREAD_SET_POINTER_GUARD(value) \
- (THREAD_GET_POINTER_GUARD () = (value))
-# define THREAD_COPY_POINTER_GUARD(descr) \
- (((tcbhead_t *) ((char *) (descr) \
- + TLS_PRE_TCB_SIZE))[-1].pointer_guard \
- = THREAD_GET_POINTER_GUARD())
-
-/* l_tls_offset == 0 is perfectly valid on Tile, so we have to use some
- different value to mean unset l_tls_offset. */
-# define NO_TLS_OFFSET -1
-
-/* Get and set the global scope generation counter in struct pthread. */
-#define THREAD_GSCOPE_IN_TCB 1
-#define THREAD_GSCOPE_FLAG_UNUSED 0
-#define THREAD_GSCOPE_FLAG_USED 1
-#define THREAD_GSCOPE_FLAG_WAIT 2
-#define THREAD_GSCOPE_RESET_FLAG() \
- do \
- { int __res \
- = atomic_exchange_rel (&THREAD_SELF->header.gscope_flag, \
- THREAD_GSCOPE_FLAG_UNUSED); \
- if (__res == THREAD_GSCOPE_FLAG_WAIT) \
- lll_futex_wake (&THREAD_SELF->header.gscope_flag, 1, LLL_PRIVATE); \
- } \
- while (0)
-#define THREAD_GSCOPE_SET_FLAG() \
- do \
- { \
- THREAD_SELF->header.gscope_flag = THREAD_GSCOPE_FLAG_USED; \
- atomic_write_barrier (); \
- } \
- while (0)
-#define THREAD_GSCOPE_WAIT() \
- GL(dl_wait_lookup_done) ()
-
-#endif /* __ASSEMBLER__ */
-
-#endif /* tls.h */
diff --git a/sysdeps/tile/preconfigure b/sysdeps/tile/preconfigure
deleted file mode 100644
index 21382df..0000000
--- a/sysdeps/tile/preconfigure
+++ /dev/null
@@ -1,10 +0,0 @@
-# This is a -*- sh -*-
-case "$machine" in
- tilegx*)
- base_machine=tile
- if $CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep -q __LP64__; then
- machine=tile/tilegx64
- else
- machine=tile/tilegx32
- fi ;;
-esac
diff --git a/sysdeps/tile/rawmemchr.c b/sysdeps/tile/rawmemchr.c
deleted file mode 100644
index 26e892a..0000000
--- a/sysdeps/tile/rawmemchr.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-void *
-__rawmemchr (const void *s, int c)
-{
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = copy_byte(c);
-
- /* Read the first word, but munge it so that bytes before the array
- will not match goal. */
- const uint64_t before_mask = MASK (s_int);
- uint64_t v = (*p | before_mask) ^ (goal & before_mask);
-
- uint64_t bits;
- while ((bits = v1cmpeq (v, goal)) == 0)
- v = *++p;
-
- return ((char *) p) + (CFZ (bits) >> 3);
-}
-libc_hidden_def (__rawmemchr)
-weak_alias (__rawmemchr, rawmemchr)
diff --git a/sysdeps/tile/setjmp.S b/sysdeps/tile/setjmp.S
deleted file mode 100644
index 748a6d3..0000000
--- a/sysdeps/tile/setjmp.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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>
-
- .text
-
- /* Keep traditional entry points in with sigsetjmp(). */
-ENTRY(setjmp)
- { movei r1, 1; j 1f }
-END(setjmp)
-
-ENTRY(_setjmp)
- { movei r1, 0; j 1f }
-END(_setjmp)
-libc_hidden_def (_setjmp)
-
-ENTRY(__sigsetjmp)
- FEEDBACK_ENTER(__sigsetjmp)
-1:
- move r2, r0
-
-#define SAVE(r) { st r2, r ; ADDI_PTR r2, r2, REGSIZE }
- FOR_EACH_CALLEE_SAVED_REG(SAVE)
-
- mfspr r3, INTERRUPT_CRITICAL_SECTION
- st r2, r3
- j plt(__sigjmp_save)
- jrp lr /* Keep the backtracer happy. */
-END(__sigsetjmp)
-hidden_def (__sigsetjmp)
diff --git a/sysdeps/tile/sfp-machine.h b/sysdeps/tile/sfp-machine.h
deleted file mode 100644
index 9931214..0000000
--- a/sysdeps/tile/sfp-machine.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Machine-dependent software floating-point definitions, tile version.
- Copyright (C) 2013-2018 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 <bits/wordsize.h>
-
-#define _FP_W_TYPE_SIZE __WORDSIZE
-#define _FP_W_TYPE unsigned long
-#define _FP_WS_TYPE signed long
-#define _FP_I_TYPE long
-
-#if _FP_W_TYPE_SIZE == 64
-
-#define _FP_MUL_MEAT_S(R,X,Y) \
- _FP_MUL_MEAT_1_imm(_FP_WFRACBITS_S,R,X,Y)
-#define _FP_MUL_MEAT_D(R,X,Y) \
- _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y) \
- _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_MUL_MEAT_DW_S(R,X,Y) \
- _FP_MUL_MEAT_DW_1_imm(_FP_WFRACBITS_S,R,X,Y)
-#define _FP_MUL_MEAT_DW_D(R,X,Y) \
- _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_Q(R,X,Y) \
- _FP_MUL_MEAT_DW_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm)
-#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S _FP_QNANBIT_S
-#define _FP_NANFRAC_D _FP_QNANBIT_D
-#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0
-
-#else /* _FP_W_TYPE_SIZE == 32 */
-
-#define _FP_MUL_MEAT_S(R,X,Y) \
- _FP_MUL_MEAT_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_D(R,X,Y) \
- _FP_MUL_MEAT_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_Q(R,X,Y) \
- _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_MUL_MEAT_DW_S(R,X,Y) \
- _FP_MUL_MEAT_DW_1_wide(_FP_WFRACBITS_S,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_D(R,X,Y) \
- _FP_MUL_MEAT_DW_2_wide(_FP_WFRACBITS_D,R,X,Y,umul_ppmm)
-#define _FP_MUL_MEAT_DW_Q(R,X,Y) \
- _FP_MUL_MEAT_DW_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm)
-
-#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_loop(S,R,X,Y)
-#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y)
-#define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y)
-
-#define _FP_NANFRAC_S _FP_QNANBIT_S
-#define _FP_NANFRAC_D _FP_QNANBIT_D, 0
-#define _FP_NANFRAC_Q _FP_QNANBIT_Q, 0, 0, 0
-
-#endif
-
-#define _FP_NANSIGN_S 1
-#define _FP_NANSIGN_D 1
-#define _FP_NANSIGN_Q 1
-
-#define _FP_KEEPNANFRACP 1
-#define _FP_QNANNEGATEDP 0
-
-#define _FP_CHOOSENAN(fs, wc, R, X, Y, OP) \
- do { \
- if ((_FP_FRAC_HIGH_RAW_##fs(X) & _FP_QNANBIT_##fs) \
- && !(_FP_FRAC_HIGH_RAW_##fs(Y) & _FP_QNANBIT_##fs)) \
- { \
- R##_s = Y##_s; \
- _FP_FRAC_COPY_##wc(R,Y); \
- } \
- else \
- { \
- R##_s = X##_s; \
- _FP_FRAC_COPY_##wc(R,X); \
- } \
- R##_c = FP_CLS_NAN; \
- } while (0)
-
-#define _FP_TININESS_AFTER_ROUNDING 0
diff --git a/sysdeps/tile/sotruss-lib.c b/sysdeps/tile/sotruss-lib.c
deleted file mode 100644
index b830c67..0000000
--- a/sysdeps/tile/sotruss-lib.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Override generic sotruss-lib.c to define actual functions for tile.
- Copyright (C) 2012-2018 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 HAVE_ARCH_PLTENTER
-#define HAVE_ARCH_PLTEXIT
-
-#include <elf/sotruss-lib.c>
-
-ElfW(Addr)
-la_tile_gnu_pltenter (ElfW(Sym) *sym __attribute__ ((unused)),
- unsigned int ndx __attribute__ ((unused)),
- uintptr_t *refcook, uintptr_t *defcook,
- La_tile_regs *regs, unsigned int *flags,
- const char *symname, long int *framesizep)
-{
- print_enter (refcook, defcook, symname,
- regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2],
- *flags);
-
- /* No need to copy anything, we will not need the parameters in any case. */
- *framesizep = 0;
-
- return sym->st_value;
-}
-
-unsigned int
-la_tile_gnu_pltexit (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
- uintptr_t *defcook, const struct La_tile_regs *inregs,
- struct La_tile_retval *outregs, const char *symname)
-{
- print_exit (refcook, defcook, symname, outregs->lrv_reg[0]);
-
- return 0;
-}
diff --git a/sysdeps/tile/stackguard-macros.h b/sysdeps/tile/stackguard-macros.h
deleted file mode 100644
index c3ea0ad..0000000
--- a/sysdeps/tile/stackguard-macros.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 64
-# define STACK_CHK_GUARD \
- ({ uintptr_t x; asm ("addi %0, tp, -16; ld %0, %0" : "=r" (x)); x; })
-# define POINTER_CHK_GUARD \
- ({ uintptr_t x; asm ("addi %0, tp, -24; ld %0, %0" : "=r" (x)); x; })
-#else
-# define STACK_CHK_GUARD \
- ({ uintptr_t x; asm ("addi %0, tp, -8; ld4s %0, %0" : "=r" (x)); x; })
-# define POINTER_CHK_GUARD \
- ({ uintptr_t x; asm ("addi %0, tp, -12; ld4s %0, %0" : "=r" (x)); x; })
-#endif
diff --git a/sysdeps/tile/stackinfo.h b/sysdeps/tile/stackinfo.h
deleted file mode 100644
index 91bb0bd..0000000
--- a/sysdeps/tile/stackinfo.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-/* This file contains a bit of information about the stack allocation
- of the processor. */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H 1
-
-#include <elf.h>
-
-/* On tile the stack grows down. */
-#define _STACK_GROWS_DOWN 1
-
-/* Default to a non-executable stack. */
-#define DEFAULT_STACK_PERMS (PF_R|PF_W)
-
-/* Access to the stack pointer. The macros are used in alloca_account
- for which they need to act as barriers as well, hence the additional
- (unnecessary) parameters. */
-#define stackinfo_get_sp() \
- ({ void *p__; asm volatile ("move %0, sp" : "=r" (p__)); p__; })
-#if __WORDSIZE == 32
-#define __stackinfo_sub "subx"
-#else
-#define __stackinfo_sub "sub"
-#endif
-#define stackinfo_sub_sp(ptr) \
- ({ ptrdiff_t d__; \
- asm volatile (__stackinfo_sub " %0, %0, sp" : "=r" (d__) : "0" (ptr)); \
- d__; })
-
-#endif /* stackinfo.h */
diff --git a/sysdeps/tile/start.S b/sysdeps/tile/start.S
deleted file mode 100644
index 6219012..0000000
--- a/sysdeps/tile/start.S
+++ /dev/null
@@ -1,184 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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.
-
- In addition to the permissions in the GNU Lesser General Public
- License, the Free Software Foundation gives you unlimited
- permission to link the compiled version of this file with other
- programs, and to distribute those programs without any restriction
- coming from the use of this file. (The GNU Lesser General Public
- License restrictions do apply in other respects; for example, they
- cover modification of the file, and distribution when not linked
- into another program.)
-
- Note that people who make modified versions of this file are not
- obligated to grant this special exception for their modified
- versions; it is their choice whether to do so. The GNU Lesser
- General Public License gives permission to release a modified
- version without this exception; this exception also makes it
- possible to release a modified version which carries forward this
- exception.
-
- 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/>. */
-
-/* This is the canonical entry point, usually the first thing in the text
- segment. The ELF standard tells us that the stack is set up like this on
- entry (the left side is the offset from "sp"), in units of
- __SIZEOF_POINTER__ entries:
-
- +0 argc
- +1 argv[0]
- ...
- +(argc+1) NULL
- +(argc+2) envp[0]
- ...
- NULL
- ... ElfInfo
-
- The ElfInfo is pairs of key/value long words following the envp
- pointers and terminated by a zero-valued key.
-
- Although not mandated by the standard, it happens to be the case
- that we store the actual argv and envp strings immediately after
- the ElfInfo data on the stack.
-
- On entry r0 points to the shared library termination function, or 0
- if there isn't one.
-*/
-
-#include <features.h>
-#include <sysdep.h>
-#include <arch/abi.h>
-
-/* Just create no-ops if we don't support PC-relative PLT relocations. */
-#ifdef NO_PLT_PCREL
-# define hw2_last_plt(x) 0
-# define hw1_plt(x) 0
-# define hw0_plt(x) 0
-#endif
-
- .text
- .global _start
- .type _start,@function
- .align 8
-_start:
- /* Linux starts us with sp pointing at the conventional Elf layout,
- but we need to allow two "caller" words for our ABI convention. */
- {
- /* Load argc (stored as a "long", equivalent to a pointer type). */
- LD_PTR r1, sp
-
- /* Save incoming 'sp', which points to the Elf argument block. */
- move r52, sp
- }
-
- {
- /* Allocate stack frame callee space for __libc_start_main. */
- ADDI_PTR r12, sp, -(2 * REGSIZE)
- }
-
- {
- /* Get our PC. */
- lnk r13
-
- /* sp is not necessarily properly aligned on startup because
- of the way ld.so pops off leading argv elements. So align it. */
- andi sp, r12, -8
- }
-.Lmy_pc:
-
- {
- /* Pass the address of the shared library termination function. */
- move r5, r0
-
- /* Compute location where __libc_start_main's caller is supposed to
- store its frame pointer. */
- ADDI_PTR r12, sp, REGSIZE
-
- /* Zero out callee space for return address. Unnecessary but free.
- This is just paranoia to help backtracing not go awry. */
- st sp, zero
- }
- {
- /* Zero out our frame pointer for __libc_start_main. */
- st r12, zero
-
- /* Zero out lr to make __libc_start_main the end of backtrace. */
- move lr, zero
-
- /* Compute a pointer to argv. envp will be determined
- later in __libc_start_main. We set up the first argument
- (the address of main) below. */
- ADDI_PTR r2, r52, __SIZEOF_POINTER__
- }
- {
- /* Pass the highest stack address to user code. */
- ADDI_PTR r6, sp, (2 * REGSIZE)
-
- /* Pass address of main() in r0, and of our own entry
- points to .fini and .init in r3 and r4. */
- moveli r0, hw2_last(main - .Lmy_pc)
- }
- {
- shl16insli r0, r0, hw1(main - .Lmy_pc)
- moveli r3, hw2_last(__libc_csu_init - .Lmy_pc)
- }
- {
- shl16insli r0, r0, hw0(main - .Lmy_pc)
- shl16insli r3, r3, hw1(__libc_csu_init - .Lmy_pc)
- }
- {
- ADD_PTR r0, r0, r13
- shl16insli r3, r3, hw0(__libc_csu_init - .Lmy_pc)
- }
- {
- moveli r12, hw2_last_plt(__libc_start_main - .Lmy_pc)
- ADD_PTR r3, r3, r13
- }
- {
- shl16insli r12, r12, hw1_plt(__libc_start_main - .Lmy_pc)
- moveli r4, hw2_last(__libc_csu_fini - .Lmy_pc)
- }
- {
- shl16insli r12, r12, hw0_plt(__libc_start_main - .Lmy_pc)
- shl16insli r4, r4, hw1(__libc_csu_fini - .Lmy_pc)
- }
- {
- ADD_PTR r12, r12, r13
- shl16insli r4, r4, hw0(__libc_csu_fini - .Lmy_pc)
- }
- {
- ADD_PTR r4, r4, r13
-#ifdef NO_PLT_PCREL
- j plt(__libc_start_main)
-#else
- jr r12
-#endif
- }
-
- {
- /* Tell backtracer to give up (_start has no caller). */
- info INFO_OP_CANNOT_BACKTRACE
- }
-.size _start, .-_start
-
-/* Define a symbol for the first piece of initialized data. */
- .data
- .global __data_start
- .align 8
-__data_start:
- .long 0
- .weak data_start
- data_start = __data_start
diff --git a/sysdeps/tile/strcasestr.c b/sysdeps/tile/strcasestr.c
deleted file mode 100644
index e2cc058..0000000
--- a/sysdeps/tile/strcasestr.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Return the offset of one string within another.
- Copyright (C) 1994-2018 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/>. */
-
-#if HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-/* Specification. */
-#include <string.h>
-
-#include <ctype.h>
-#include <stdbool.h>
-#include <strings.h>
-
-#define USE_AS_STRCASESTR
-#define STRSTR __strcasestr
-#define STRSTR2 strcasestr2
-#define STRCHR strcasechr
-#define STRSTR_SCAN strcasestr_scan
-
-#undef strcasestr
-#undef __strcasestr
-
-#ifndef STRCASESTR
-#define STRCASESTR __strcasestr
-#endif
-
-#define TOLOWER(Ch) (isupper (Ch) ? tolower (Ch) : (Ch))
-
-#define CANON_ELEMENT(c) TOLOWER (c)
-#define CMP_FUNC(p1, p2, l) \
- __strncasecmp ((const char *) (p1), (const char *) (p2), l)
-
-#include "strstr.c"
-
-#ifndef NO_ALIAS
-weak_alias (__strcasestr, strcasestr)
-#endif
diff --git a/sysdeps/tile/strchr.c b/sysdeps/tile/strchr.c
deleted file mode 100644
index f2bb833..0000000
--- a/sysdeps/tile/strchr.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-#undef strchr
-
-char *
-strchr (const char *s, int c)
-{
- int z, g;
-
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = copy_byte(c);
-
- /* Read the first aligned word, but force bytes before the string to
- match neither zero nor goal (we make sure the high bit of each byte
- is 1, and the low 7 bits are all the opposite of the goal byte). */
- const uint64_t before_mask = MASK (s_int);
- uint64_t v = (*p | before_mask) ^ (goal & v1shrui (before_mask, 1));
-
- uint64_t zero_matches, goal_matches;
- while (1)
- {
- /* Look for a terminating '\0'. */
- zero_matches = v1cmpeqi (v, 0);
-
- /* Look for the goal byte. */
- goal_matches = v1cmpeq (v, goal);
-
- if (__builtin_expect ((zero_matches | goal_matches) != 0, 0))
- break;
-
- v = *++p;
- }
-
- z = CFZ (zero_matches);
- g = CFZ (goal_matches);
-
- /* If we found c before '\0' we got a match. Note that if c == '\0'
- then g == z, and we correctly return the address of the '\0'
- rather than NULL. */
- return (g <= z) ? ((char *) p) + (g >> 3) : NULL;
-}
-weak_alias (strchr, index)
-libc_hidden_builtin_def (strchr)
diff --git a/sysdeps/tile/strchrnul.c b/sysdeps/tile/strchrnul.c
deleted file mode 100644
index 2f425a2..0000000
--- a/sysdeps/tile/strchrnul.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-char *
-__strchrnul (const char *s, int c)
-{
- int z, g;
-
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = copy_byte(c);
-
- /* Read the first aligned word, but force bytes before the string to
- match neither zero nor goal (we make sure the high bit of each byte
- is 1, and the low 7 bits are all the opposite of the goal byte). */
- const uint64_t before_mask = MASK (s_int);
- uint64_t v = (*p | before_mask) ^ (goal & v1shrui (before_mask, 1));
-
- uint64_t zero_matches, goal_matches;
- while (1)
- {
- /* Look for a terminating '\0'. */
- zero_matches = v1cmpeqi (v, 0);
-
- /* Look for the goal byte. */
- goal_matches = v1cmpeq (v, goal);
-
- if (__builtin_expect ((zero_matches | goal_matches) != 0, 0))
- break;
-
- v = *++p;
- }
-
- z = CFZ (zero_matches);
- g = CFZ (goal_matches);
-
- /* Return a pointer to the NUL or goal, whichever is first. */
- if (z < g)
- g = z;
- return ((char *) p) + (g >> 3);
-}
-weak_alias (__strchrnul, strchrnul)
diff --git a/sysdeps/tile/string-endian.h b/sysdeps/tile/string-endian.h
deleted file mode 100644
index 3a2d495..0000000
--- a/sysdeps/tile/string-endian.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <endian.h>
-#include <stdint.h>
-
-/* Provide a set of macros to help keep endianness #ifdefs out of
- the string functions.
-
- MASK: Provide a mask based on the pointer alignment that
- sets up non-zero bytes before the beginning of the string.
- The MASK expression works because shift counts are taken mod 64.
-
- NULMASK: Clear bytes beyond a given point in the string.
-
- CFZ: Find the first zero bit in the 8 string bytes in a long.
-
- REVCZ: Find the last zero bit in the 8 string bytes in a long.
-
- STRSHIFT: Shift N bits towards the start of the string. */
-
-#if __BYTE_ORDER == __LITTLE_ENDIAN
-#define MASK(x) (__insn_shl(1ULL, (x << 3)) - 1)
-#define NULMASK(x) ((2ULL << x) - 1)
-#define CFZ(x) __insn_ctz(x)
-#define REVCZ(x) __insn_clz(x)
-#define STRSHIFT(x,n) ((x) >> n)
-#else
-#define MASK(x) (__insn_shl(-2LL, ((-x << 3) - 1)))
-#define NULMASK(x) (-2LL << (63 - x))
-#define CFZ(x) __insn_clz(x)
-#define REVCZ(x) __insn_ctz(x)
-#define STRSHIFT(x,n) ((x) << n)
-#endif
-
-/* Create eight copies of the byte in a uint64_t. Byte Shuffle uses
- the bytes of srcB as the index into the dest vector to select a
- byte. With all indices of zero, the first byte is copied into all
- the other bytes. */
-static inline uint64_t copy_byte(uint8_t byte)
-{
- return __insn_shufflebytes(byte, 0, 0);
-}
-
-/* Implement the byte vector instructions using extended assembly.
- The __insn_OP() builtins are buggy in the upstream compiler;
- see gcc bugzilla 78117. */
-
-#define VECOP(OP) \
- static inline uint64_t OP (uint64_t a, uint64_t b) \
- { \
- uint64_t result; \
- asm volatile (#OP " %0, %1, %2" : "=r"(result) : "r"(a), "r"(b)); \
- return result; \
- } \
- \
- static inline uint64_t OP ## i (uint64_t a, uint64_t b) \
- { \
- uint64_t result; \
- asm volatile (#OP "i %0, %1, %2" : "=r"(result) : "r"(a), "I"(b)); \
- return result; \
- }
-
-VECOP(v1cmpeq)
-VECOP(v1cmpltu)
-VECOP(v1cmpne)
-VECOP(v1add)
-VECOP(v1shru)
-VECOP(v1shl)
diff --git a/sysdeps/tile/strlen.c b/sysdeps/tile/strlen.c
deleted file mode 100644
index 62c50b1..0000000
--- a/sysdeps/tile/strlen.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-size_t
-strlen (const char *s)
-{
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Read and MASK the first word. */
- uint64_t v = *p | MASK (s_int);
-
- uint64_t bits;
- while ((bits = v1cmpeqi (v, 0)) == 0)
- v = *++p;
-
- return ((const char *) p) + (CFZ (bits) >> 3) - s;
-}
-libc_hidden_builtin_def (strlen)
diff --git a/sysdeps/tile/strnlen.c b/sysdeps/tile/strnlen.c
deleted file mode 100644
index c7c7281..0000000
--- a/sysdeps/tile/strnlen.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 2013-2018 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-/* Find the length of S, but scan at most MAXLEN characters. If no
- '\0' terminator is found in that many characters, return MAXLEN. */
-size_t
-__strnlen (const char *s, size_t maxlen)
-{
- /* When maxlen is 0, can't read any bytes or it might cause a page fault. */
- if (maxlen == 0)
- return 0;
-
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
- size_t bytes_read = sizeof (*p) - (s_int & (sizeof (*p) - 1));
-
- /* Read and MASK the first word. */
- uint64_t v = *p | MASK (s_int);
-
- uint64_t bits;
- while ((bits = v1cmpeqi (v, 0)) == 0)
- {
- if (bytes_read >= maxlen)
- {
- /* Read maxlen bytes and didn't find the terminator. */
- return maxlen;
- }
- v = *++p;
- bytes_read += sizeof (v);
- }
-
- /* Found '\0', check it is not larger than maxlen */
- size_t len = ((const char *) p) + (CFZ (bits) >> 3) - s;
- return (len < maxlen ? len : maxlen);
-}
-libc_hidden_def (__strnlen)
-weak_alias (__strnlen, strnlen)
-libc_hidden_def (strnlen)
diff --git a/sysdeps/tile/strrchr.c b/sysdeps/tile/strrchr.c
deleted file mode 100644
index 33dcd4b..0000000
--- a/sysdeps/tile/strrchr.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <string.h>
-#include <stdint.h>
-#include "string-endian.h"
-
-char *
-strrchr (const char *s, int c)
-{
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = copy_byte(c);
-
- /* Read the first aligned word, but force bytes before the string to
- match neither zero nor goal (we make sure the high bit of each byte
- is 1, and the low 7 bits are all the opposite of the goal byte). */
- const uint64_t before_mask = MASK (s_int);
- uint64_t v = (*p | before_mask) ^ (goal & v1shrui (before_mask, 1));
- const char *found = NULL;
- uint64_t zero_matches, goal_matches;
- while (1)
- {
- /* Look for a terminating '\0'. */
- zero_matches = v1cmpeqi (v, 0);
-
- /* Look for the goal byte. */
- goal_matches = v1cmpeq (v, goal);
-
- /* If we found the goal, record the last offset. */
- if (__builtin_expect (goal_matches != 0, 0))
- {
- if (__builtin_expect (zero_matches != 0, 0))
- {
- /* Clear any goal after the first zero. */
- int first_nul = CFZ (zero_matches);
- goal_matches &= NULMASK (first_nul);
- }
- if (__builtin_expect (goal_matches != 0, 1))
- found = ((char *) p) + 7 - (REVCZ (goal_matches) >> 3);
- }
-
- if (__builtin_expect (zero_matches != 0, 0))
- return (char *) found;
-
- v = *++p;
- }
-}
-weak_alias (strrchr, rindex)
-libc_hidden_builtin_def (strrchr)
diff --git a/sysdeps/tile/strstr.c b/sysdeps/tile/strstr.c
deleted file mode 100644
index 961e2af..0000000
--- a/sysdeps/tile/strstr.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* Copyright (C) 2013-2018 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, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* Specification of strstr. */
-#include <string.h>
-
-#include <stdbool.h>
-#include "string-endian.h"
-
-#define RETURN_TYPE char *
-#define AVAILABLE(h, h_l, j, n_l) \
- (!memchr ((h) + (h_l), '\0', (j) + (n_l) - (h_l)) \
- && ((h_l) = (j) + (n_l)))
-#include "str-two-way.h"
-typeof(two_way_short_needle) two_way_short_needle __attribute__((unused));
-
-#undef strstr
-
-#ifndef STRSTR
-#define STRSTR strstr
-#endif
-
-#ifndef STRSTR2
-#define STRSTR2 strstr2
-#endif
-
-#ifndef STRCHR
-#define STRCHR strchr
-#endif
-
-#ifndef STRSTR_SCAN
-#define STRSTR_SCAN strstr_scan
-#endif
-
-#ifndef TOLOWER
-# define TOLOWER(Ch) (Ch)
-#endif
-
-#ifdef USE_AS_STRCASESTR
-
-static uint64_t
-vec_tolower (uint64_t cc)
-{
- /* For Uppercases letters, add 32 to convert to lower case. */
- uint64_t less_than_eq_Z = v1cmpltui (cc, 'Z' + 1);
- uint64_t less_than_A = v1cmpltui (cc, 'A');
- uint64_t is_upper = v1cmpne (less_than_eq_Z, less_than_A);
- return v1add (cc, v1shli (is_upper, 5));
-}
-
-/* There is no strcasechr() defined, but needed for 1 byte case
- of strcasestr(), so create it here. */
-
-static char *
-strcasechr (const char *s, int c)
-{
- int z, g;
-
- c = tolower (c);
-
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) s;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the byte for which we are looking. */
- const uint64_t goal = copy_byte(c);
-
- /* Read the first aligned word, but force bytes before the string to
- match neither zero nor goal (we make sure the high bit of each byte
- is 1, and the low 7 bits are all the opposite of the goal byte). */
- const uint64_t before_mask = MASK (s_int);
- uint64_t v =
- (vec_tolower (*p) | before_mask) ^ (goal & v1shrui (before_mask, 1));
-
- uint64_t zero_matches, goal_matches;
- while (1)
- {
- /* Look for a terminating '\0'. */
- zero_matches = v1cmpeqi (v, 0);
-
- /* Look for the goal byte. */
- goal_matches = v1cmpeq (v, goal);
-
- if (__builtin_expect ((zero_matches | goal_matches) != 0, 0))
- break;
-
- v = vec_tolower (*++p);
- }
-
- z = CFZ (zero_matches);
- g = CFZ (goal_matches);
-
- /* If we found c before '\0' we got a match. Note that if c == '\0'
- then g == z, and we correctly return the address of the '\0'
- rather than NULL. */
- return (g <= z) ? ((char *) p) + (g >> 3) : NULL;
-}
-
-# define vec_load(p) vec_tolower (*(p))
-# define STRCHR strcasechr
-# define CMP_FUNC __strncasecmp
-
-#else
-
-# define vec_load(p) (*(p))
-# define STRCHR strchr
-# define CMP_FUNC memcmp
-
-#endif
-
-
-/* Compare 2-character needle using SIMD. */
-static char *
-STRSTR2 (const char *haystack_start, const char *needle)
-{
- int z, g;
-
- __insn_prefetch (haystack_start + 64);
-
- /* Get an aligned pointer. */
- const uintptr_t s_int = (uintptr_t) haystack_start;
- const uint64_t *p = (const uint64_t *) (s_int & -8);
-
- /* Create eight copies of the first byte for which we are looking. */
- const uint64_t byte1 = copy_byte (TOLOWER (*needle));
- /* Create eight copies of the second byte for which we are looking. */
- const uint64_t byte2 = copy_byte (TOLOWER (*(needle + 1)));
-
- /* Read the first aligned word, but force bytes before the string to
- match neither zero nor goal (we make sure the high bit of each byte
- is 1, and the low 7 bits are all the opposite of the goal byte). */
- const uint64_t before_mask = MASK (s_int);
- uint64_t v =
- (vec_load (p) | before_mask) ^ (byte1 & v1shrui (before_mask, 1));
-
- uint64_t zero_matches, goal_matches;
- while (1)
- {
- /* Look for a terminating '\0'. */
- zero_matches = v1cmpeqi (v, 0);
- uint64_t byte1_matches = v1cmpeq (v, byte1);
- if (__builtin_expect (zero_matches != 0, 0))
- {
- /* This is the last vector. Don't worry about matches
- crossing into the next vector. Shift the second byte
- back 1 byte to align it with the first byte, then and to
- check for both matching. Each vector has a 1 in the LSB
- of the byte if there was match. */
- uint64_t byte2_matches = v1cmpeq (v, byte2);
- goal_matches = byte1_matches & STRSHIFT (byte2_matches, 8);
- break;
- }
- else
- {
- /* This is not the last vector, so load the next vector now.
- And compare byte2 to the 8-bytes starting 1 byte shifted from v,
- which goes 1-byte into the next vector. */
- uint64_t v2 = vec_load (p + 1);
- if (byte1_matches)
- {
- /* 8-bytes starting 1 byte into v. */
- v = __insn_dblalign (v, v2, (void*)1);
- uint64_t byte2_matches_shifted = v1cmpeq (v, byte2);
- goal_matches = byte1_matches & byte2_matches_shifted;
- if (__builtin_expect (goal_matches != 0, 0))
- break;
- }
- __insn_prefetch (p + 4);
- /* Move to next vector. */
- v = v2;
- p++;
- }
- }
-
- z = CFZ (zero_matches);
- g = CFZ (goal_matches);
-
- /* If we found the match before '\0' we got a true match. Note that
- if c == '\0' then g == z, and we correctly return the address of
- the '\0' rather than NULL. */
- return (g <= z) ? ((char *) p) + (g >> 3) : NULL;
-}
-
-/* Scan for NEEDLE, using the first two characters as a filter. */
-static char *
-STRSTR_SCAN (const char *haystack, const char *needle,
- unsigned int needle_len)
-{
- char *match;
- while (1)
- {
- match = STRSTR2 (haystack, needle);
- if (match == NULL)
- return NULL;
- /* Found first two characters of needle, check for remainder. */
- if (CMP_FUNC (match + 2, needle + 2, needle_len - 2) == 0)
- return match;
- /* Move past the previous match. Could be +2 instead of +1 if
- first two characters are different, but that tested slower. */
- haystack = match + 1;
- }
-}
-
-/* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK
- if NEEDLE is empty, otherwise NULL if NEEDLE is not found in
- HAYSTACK. */
-char *
-STRSTR (const char *haystack_start, const char *needle_start)
-{
- const char *haystack = haystack_start;
- const char *needle = needle_start;
- __insn_prefetch (haystack);
- size_t needle_len = strlen (needle_start); /* Length of NEEDLE. */
- size_t haystack_len; /* Known minimum length of HAYSTACK. */
-
- if (needle_len <= 2)
- {
- if (needle_len == 1)
- return STRCHR (haystack_start, *needle_start);
- if (needle_len == 0)
- return (char *) haystack_start;
- else
- return STRSTR2 (haystack_start, needle_start);
- }
-
- /* Fail if NEEDLE is longer than HAYSTACK. */
- if (__strnlen (haystack, needle_len) < needle_len)
- return NULL;
-
- /* Perform the search. Abstract memory is considered to be an array
- of 'unsigned char' values, not an array of 'char' values. See
- ISO C 99 section 6.2.6.1. */
- if (needle_len < 40)
- return STRSTR_SCAN (haystack_start, needle_start, needle_len);
- else
- {
- /* Reduce the size of haystack using STRSTR2, since it has a smaller
- linear coefficient than the Two-Way algorithm. */
- haystack = STRSTR2 (haystack_start, needle_start);
- if (haystack == NULL)
- return NULL;
- needle = needle_start;
- haystack_len = (haystack > haystack_start + needle_len ? 1
- : needle_len + haystack_start - haystack);
-
- return two_way_long_needle ((const unsigned char *) haystack,
- haystack_len,
- (const unsigned char *) needle, needle_len);
- }
-}
-#ifndef USE_AS_STRCASESTR
-libc_hidden_builtin_def (STRSTR)
-#endif
-
-#undef LONG_NEEDLE_THRESHOLD
diff --git a/sysdeps/tile/sysdep.h b/sysdeps/tile/sysdep.h
deleted file mode 100644
index bb82d3c..0000000
--- a/sysdeps/tile/sysdep.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/sysdep.h>
-#include <bits/wordsize.h>
-#include <arch/abi.h>
-
-#if defined __ASSEMBLER__ || defined REQUEST_ASSEMBLER_MACROS
-
-#include <feedback.h>
-
-/* Make use of .size directive. */
-#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
-
-/* Define an entry point visible from C. */
-#define ENTRY(name) \
- .globl C_SYMBOL_NAME(name); \
- .type C_SYMBOL_NAME(name),@function; \
- .align 8; \
- C_LABEL(name) \
- cfi_startproc; \
- CALL_MCOUNT
-
-#undef END
-#define END(name) \
- cfi_endproc; \
- ASM_SIZE_DIRECTIVE(name)
-
-/* Since C identifiers are not normally prefixed with an underscore
- on this system, the asm identifier `syscall_error' intrudes on the
- C name space. Make sure we use an innocuous name. */
-#define syscall_error __syscall_error
-#define mcount __mcount
-
-/* If compiled for profiling, call `mcount' at the start of each function.
- The mcount code requires the caller PC in r10. The `mcount' function
- sets lr back to the value r10 had on entry when it returns. */
-#ifdef PROF
-#define CALL_MCOUNT { move r10, lr; jal mcount }
-#else
-#define CALL_MCOUNT /* Do nothing. */
-#endif
-
-/* Local label name for asm code. */
-#define L(name) .L##name
-
-/* Specify the size in bytes of a machine register. */
-#define REGSIZE 8
-
-/* Provide "pointer-oriented" instruction variants. These differ not
- just for tilepro vs tilegx, but also for tilegx -m64 vs -m32. */
-#if __WORDSIZE == 32
-#define ADD_PTR addx
-#define ADDI_PTR addxi
-#define ADDLI_PTR addxli
-#define LD_PTR ld4s
-#define ST_PTR st4
-#define SHL_PTR_ADD shl2add
-#else
-#define ADD_PTR add
-#define ADDI_PTR addi
-#define ADDLI_PTR addli
-#define LD_PTR LD
-#define ST_PTR ST
-#define SHL_PTR_ADD shl3add
-#endif
-
-#endif /* __ASSEMBLER__ */
diff --git a/sysdeps/tile/tilegx32/Implies b/sysdeps/tile/tilegx32/Implies
deleted file mode 100644
index 709e1dc..0000000
--- a/sysdeps/tile/tilegx32/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-tile
-wordsize-32
diff --git a/sysdeps/tile/tilegx64/Implies b/sysdeps/tile/tilegx64/Implies
deleted file mode 100644
index 1e9db8e..0000000
--- a/sysdeps/tile/tilegx64/Implies
+++ /dev/null
@@ -1,2 +0,0 @@
-tile
-wordsize-64
diff --git a/sysdeps/tile/tls-macros.h b/sysdeps/tile/tls-macros.h
deleted file mode 100644
index 162d309..0000000
--- a/sysdeps/tile/tls-macros.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 TLS_GD_OFFSET(x) \
- "moveli r0, hw1_last_tls_gd(" #x ")\n\t" \
- "shl16insli r0, r0, hw0_tls_gd(" #x ")\n\t" \
- "addi r0, %1, tls_add(" #x ")\n\t"
-
-#define TLS_GD(x) \
- ({ \
- int *__retval; \
- extern char _GLOBAL_OFFSET_TABLE_[]; \
- \
- asm (TLS_GD_OFFSET(x) \
- "jal tls_gd_call(" #x ")\n\t" \
- "addi %0, r0, tls_gd_add(" #x ")" : \
- "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_) : \
- "r0", "r25", "r26", "r27", "r28", "r29"); \
- __retval; })
-
-/* No special support for LD mode. */
-#define TLS_LD TLS_GD
-
-#define TLS_IE_OFFSET(x) \
- "moveli %0, hw1_last_tls_ie(" #x ")\n\t" \
- "shl16insli %0, %0, hw0_tls_ie(" #x ")\n\t" \
- "addi %0, %1, tls_add(" #x ")\n\t"
-#define LD_TLS "ld_tls"
-
-#define TLS_IE(x) \
- ({ \
- int *__retval; \
- extern char _GLOBAL_OFFSET_TABLE_[]; \
- \
- asm (TLS_IE_OFFSET(x) \
- LD_TLS " %0, %0, tls_ie_load(" #x ")\n\t" \
- "add %0, %0, tp" : \
- "=&r" (__retval) : "r" (_GLOBAL_OFFSET_TABLE_)); \
- __retval; })
-
-#define _TLS_LE(x) \
- "moveli %0, hw1_last_tls_le(" #x ")\n\t" \
- "shl16insli %0, %0, hw0_tls_le(" #x ")\n\t" \
- "add %0, %0, tp"
-
-#define TLS_LE(x) \
- ({ \
- int *__retval; \
- asm (_TLS_LE(x) : "=r" (__retval)); \
- __retval; })
diff --git a/sysdeps/tile/tst-audit.h b/sysdeps/tile/tst-audit.h
deleted file mode 100644
index 4196c32..0000000
--- a/sysdeps/tile/tst-audit.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 pltenter la_tile_gnu_pltenter
-#define pltexit la_tile_gnu_pltexit
-#define La_regs La_tile_regs
-#define La_retval La_tile_retval
-#define int_retval lrv_reg[0]
diff --git a/sysdeps/tile/wordcopy.c b/sysdeps/tile/wordcopy.c
deleted file mode 100644
index ba73a0b..0000000
--- a/sysdeps/tile/wordcopy.c
+++ /dev/null
@@ -1,433 +0,0 @@
-/* wordcopy.c -- subroutines for memory copy functions. Tile version.
- Copyright (C) 1991-2018 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/>. */
-
-/* To optimize for tile, we make the following changes from the
- default glibc version:
- - Use the double align instruction instead of the MERGE macro.
- - Since we don't have offset addressing mode, make sure the loads /
- stores in the inner loop always have indices of 0.
- - Use post-increment addresses in the inner loops, which yields
- better scheduling. */
-
-/* BE VERY CAREFUL IF YOU CHANGE THIS CODE...! */
-
-#include <stddef.h>
-#include <memcopy.h>
-
-/* Provide the appropriate dblalign builtin to shift two registers
- based on the alignment of a pointer held in a third register. */
-#define DBLALIGN __insn_dblalign
-
-/* _wordcopy_fwd_aligned -- Copy block beginning at SRCP to
- block beginning at DSTP with LEN `op_t' words (not LEN bytes!).
- Both SRCP and DSTP should be aligned for memory operations on `op_t's. */
-
-void
-_wordcopy_fwd_aligned (long int dstp, long int srcp, size_t len)
-{
- op_t a0, a1;
-
- switch (len % 8)
- {
- case 2:
- a0 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len += 6;
- goto do1;
- case 3:
- a1 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len += 5;
- goto do2;
- case 4:
- a0 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len += 4;
- goto do3;
- case 5:
- a1 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len += 3;
- goto do4;
- case 6:
- a0 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len += 2;
- goto do5;
- case 7:
- a1 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len += 1;
- goto do6;
-
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return;
- a0 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- goto do7;
- case 1:
- a1 = ((op_t *) srcp)[0];
- srcp += OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- goto do8; /* No-op. */
- }
-
- do
- {
- do8:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do7:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do6:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do5:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do4:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do3:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do2:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do1:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp += OPSIZ;
- dstp += OPSIZ;
-
- len -= 8;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- ((op_t *) dstp)[0] = a1;
-}
-
-/* _wordcopy_fwd_dest_aligned -- Copy block beginning at SRCP to
- block beginning at DSTP with LEN `op_t' words (not LEN bytes!).
- DSTP should be aligned for memory operations on `op_t's, but SRCP must
- *not* be aligned. */
-
-void
-_wordcopy_fwd_dest_aligned (long int dstp, long int srcp, size_t len)
-{
- void * srci;
- op_t a0, a1, a2, a3;
-
- /* Save the initial source pointer so we know the number of bytes to
- shift for merging two unaligned results. */
- srci = (void *) srcp;
-
- /* Make SRCP aligned by rounding it down to the beginning of the `op_t'
- it points in the middle of. */
- srcp &= -OPSIZ;
-
- switch (len % 4)
- {
- case 2:
- a1 = ((op_t *) srcp)[0];
- a2 = ((op_t *) srcp)[1];
- len += 2;
- srcp += 2 * OPSIZ;
- goto do1;
- case 3:
- a0 = ((op_t *) srcp)[0];
- a1 = ((op_t *) srcp)[1];
- len += 1;
- srcp += 2 * OPSIZ;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return;
- a3 = ((op_t *) srcp)[0];
- a0 = ((op_t *) srcp)[1];
- len += 0;
- srcp += 2 * OPSIZ;
- goto do3;
- case 1:
- a2 = ((op_t *) srcp)[0];
- a3 = ((op_t *) srcp)[1];
- srcp += 2 * OPSIZ;
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- goto do4; /* No-op. */
- }
-
- do
- {
- do4:
- a0 = ((op_t *) srcp)[0];
- a2 = DBLALIGN (a2, a3, srci);
- ((op_t *) dstp)[0] = a2;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do3:
- a1 = ((op_t *) srcp)[0];
- a3 = DBLALIGN (a3, a0, srci);
- ((op_t *) dstp)[0] = a3;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do2:
- a2 = ((op_t *) srcp)[0];
- a0 = DBLALIGN (a0, a1, srci);
- ((op_t *) dstp)[0] = a0;
- srcp += OPSIZ;
- dstp += OPSIZ;
- do1:
- a3 = ((op_t *) srcp)[0];
- a1 = DBLALIGN (a1, a2, srci);
- ((op_t *) dstp)[0] = a1;
- srcp += OPSIZ;
- dstp += OPSIZ;
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- ((op_t *) dstp)[0] = DBLALIGN (a2, a3, srci);
-}
-
-/* _wordcopy_bwd_aligned -- Copy block finishing right before
- SRCP to block finishing right before DSTP with LEN `op_t' words
- (not LEN bytes!). Both SRCP and DSTP should be aligned for memory
- operations on `op_t's. */
-
-void
-_wordcopy_bwd_aligned (long int dstp, long int srcp, size_t len)
-{
- op_t a0, a1;
- long int srcp1;
-
- srcp1 = srcp - 1 * OPSIZ;
- srcp -= 2 * OPSIZ;
- dstp -= 1 * OPSIZ;
-
- switch (len % 8)
- {
- case 2:
- a0 = ((op_t *) srcp1)[0];
- len += 6;
- goto do1;
- case 3:
- a1 = ((op_t *) srcp1)[0];
- len += 5;
- goto do2;
- case 4:
- a0 = ((op_t *) srcp1)[0];
- len += 4;
- goto do3;
- case 5:
- a1 = ((op_t *) srcp1)[0];
- len += 3;
- goto do4;
- case 6:
- a0 = ((op_t *) srcp1)[0];
- len += 2;
- goto do5;
- case 7:
- a1 = ((op_t *) srcp1)[0];
- len += 1;
- goto do6;
-
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return;
- a0 = ((op_t *) srcp1)[0];
- goto do7;
- case 1:
- a1 = ((op_t *) srcp1)[0];
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- goto do8; /* No-op. */
- }
-
- do
- {
- do8:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do7:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do6:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do5:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do4:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do3:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do2:
- a0 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a1;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do1:
- a1 = ((op_t *) srcp)[0];
- ((op_t *) dstp)[0] = a0;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
-
- len -= 8;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- ((op_t *) dstp)[0] = a1;
-}
-
-/* _wordcopy_bwd_dest_aligned -- Copy block finishing right
- before SRCP to block finishing right before DSTP with LEN `op_t'
- words (not LEN bytes!). DSTP should be aligned for memory
- operations on `op_t', but SRCP must *not* be aligned. */
-
-void
-_wordcopy_bwd_dest_aligned (long int dstp, long int srcp, size_t len)
-{
- void * srci;
- op_t a0, a1, a2, a3;
- op_t b0, b1, b2, b3;
-
- /* Save the initial source pointer so we know the number of bytes to
- shift for merging two unaligned results. */
- srci = (void *) srcp;
-
- /* Make SRCP aligned by rounding it down to the beginning of the op_t
- it points in the middle of. */
- srcp &= -OPSIZ;
- srcp += OPSIZ;
-
- switch (len % 4)
- {
- case 2:
- srcp -= 3 * OPSIZ;
- dstp -= 1 * OPSIZ;
- b2 = ((op_t *) srcp)[2];
- b1 = a1 = ((op_t *) srcp)[1];
- len += 2;
- goto do1;
- case 3:
- srcp -= 3 * OPSIZ;
- dstp -= 1 * OPSIZ;
- b3 = ((op_t *) srcp)[2];
- b2 = a2 = ((op_t *) srcp)[1];
- len += 1;
- goto do2;
- case 0:
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- return;
- srcp -= 3 * OPSIZ;
- dstp -= 1 * OPSIZ;
- b0 = ((op_t *) srcp)[2];
- b3 = a3 = ((op_t *) srcp)[1];
- goto do3;
- case 1:
- srcp -= 3 * OPSIZ;
- dstp -= 1 * OPSIZ;
- b1 = ((op_t *) srcp)[2];
- b0 = a0 = ((op_t *) srcp)[1];
- len -= 1;
- if (OP_T_THRES <= 3 * OPSIZ && len == 0)
- goto do0;
- goto do4; /* No-op. */
- }
-
- do
- {
- do4:
- b3 = a3 = ((op_t *) srcp)[0];
- a0 = DBLALIGN (a0, b1, srci);
- ((op_t *) dstp)[0] = a0;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do3:
- b2 = a2 = ((op_t *) srcp)[0];
- a3 = DBLALIGN (a3, b0, srci);
- ((op_t *) dstp)[0] = a3;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do2:
- b1 = a1 = ((op_t *) srcp)[0];
- a2 = DBLALIGN (a2, b3, srci);
- ((op_t *) dstp)[0] = a2;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
- do1:
- b0 = a0 = ((op_t *) srcp)[0];
- a1 = DBLALIGN (a1, b2, srci);
- ((op_t *) dstp)[0] = a1;
- srcp -= OPSIZ;
- dstp -= OPSIZ;
-
- len -= 4;
- }
- while (len != 0);
-
- /* This is the right position for do0. Please don't move
- it into the loop. */
- do0:
- a0 = DBLALIGN (a0, b1, srci);
- ((op_t *) dstp)[0] = a0;
-}
diff --git a/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
index 2f2f973..ff88292 100644
--- a/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
+++ b/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
@@ -1,4 +1,5 @@
-/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile.
+/* Run-time dynamic linker data structures for loaded ELF shared objects.
+ AArch64 version.
Copyright (C) 2001-2018 Free Software Foundation, Inc.
This file is part of the GNU C Library.
diff --git a/sysdeps/unix/sysv/linux/nios2/Makefile b/sysdeps/unix/sysv/linux/nios2/Makefile
index d0af9ec..20910fa 100644
--- a/sysdeps/unix/sysv/linux/nios2/Makefile
+++ b/sysdeps/unix/sysv/linux/nios2/Makefile
@@ -3,7 +3,7 @@ gen-as-const-headers += ucontext_i.sym
endif
ifeq ($(subdir),misc)
-# MIPS/Tile-style cacheflush routine
+# MIPS-style cacheflush routine
sysdep_headers += sys/cachectl.h
sysdep_routines += cacheflush
endif
diff --git a/sysdeps/unix/sysv/linux/posix_fadvise.c b/sysdeps/unix/sysv/linux/posix_fadvise.c
index 08ccc22..d676a68 100644
--- a/sysdeps/unix/sysv/linux/posix_fadvise.c
+++ b/sysdeps/unix/sysv/linux/posix_fadvise.c
@@ -31,9 +31,8 @@
(redefined to __NR_fadvise64_64 in kernel-features.h) that behaves as
__NR_fadvise64_64 (without the aligment argument required for the ABI).
- Third option will be used by both tile 32-bits and mips o32. Tile
- will set __ASSUME_FADVISE64_64_NO_ALIGN to issue a 6 argument syscall,
- while mips will use a 7 argument one with __NR_fadvise64.
+ Third option will be used by mips o32. Mips will use a 7 argument
+ syscall with __NR_fadvise64.
s390 implements fadvice64_64 using a specific struct with arguments
packed inside. This is the only implementation handled in arch-specific
@@ -53,11 +52,6 @@ posix_fadvise (int fd, off_t offset, off_t len, int advise)
SYSCALL_LL (offset), SYSCALL_LL (len));
# else
-# ifdef __ASSUME_FADVISE64_64_NO_ALIGN
-# undef __ALIGNMENT_ARG
-# define __ALIGNMENT_ARG
-# endif
-
# ifndef __NR_fadvise64_64
# define __NR_fadvise64_64 __NR_fadvise64
# endif
diff --git a/sysdeps/unix/sysv/linux/posix_fadvise64.c b/sysdeps/unix/sysv/linux/posix_fadvise64.c
index eebf10c..61dfe89 100644
--- a/sysdeps/unix/sysv/linux/posix_fadvise64.c
+++ b/sysdeps/unix/sysv/linux/posix_fadvise64.c
@@ -26,18 +26,10 @@ libc_hidden_proto (__posix_fadvise64_l64)
just after 'fd' to avoid the requirement of implementing 7-arg syscalls.
ARM also defines __NR_fadvise64_64 as __NR_arm_fadvise64_64.
- tile requires __ASSUME_ALIGNED_REGISTER_PAIRS but implements the 32-bit
- fadvise64_64 without the padding 0 after fd.
-
s390 implements fadvice64_64 using a specific struct with arguments
packed inside. This is the only implementation handled in arch-specific
code. */
-#ifdef __ASSUME_FADVISE64_64_NO_ALIGN
-# undef __ALIGNMENT_ARG
-# define __ALIGNMENT_ARG
-#endif
-
#ifndef __NR_fadvise64_64
# define __NR_fadvise64_64 __NR_fadvise64
#endif
diff --git a/sysdeps/unix/sysv/linux/tile/Implies b/sysdeps/unix/sysv/linux/tile/Implies
deleted file mode 100644
index e050152..0000000
--- a/sysdeps/unix/sysv/linux/tile/Implies
+++ /dev/null
@@ -1 +0,0 @@
-tile/nptl
diff --git a/sysdeps/unix/sysv/linux/tile/Makefile b/sysdeps/unix/sysv/linux/tile/Makefile
deleted file mode 100644
index fddaf18..0000000
--- a/sysdeps/unix/sysv/linux/tile/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Provide biarch definitions.
-abi-variants := 64 32
-abi-64-condition := __WORDSIZE == 64
-abi-32-condition := __WORDSIZE == 32
-
-ifeq ($(subdir),misc)
-
-# <sys/reg.h> provides something like x86 compatibility.
-# New code should probably use <arch/abi.h> instead.
-sysdep_headers += sys/reg.h
-
-# MIPS-style cacheflush routine
-sysdep_headers += sys/cachectl.h
-sysdep_routines += cacheflush
-
-# Control dataplane properties of current thread (compatibility only).
-sysdep_routines += set_dataplane
-
-endif
-
-ifeq ($(subdir),elf)
-sysdep_routines += dl-vdso
-ifeq ($(build-shared),yes)
-# This is needed for DSO loading from static binaries.
-sysdep-dl-routines += dl-static
-endif
-endif
-
-ifeq ($(subdir),nptl)
-# pull in __syscall_error routine
-libpthread-routines += sysdep
-libpthread-shared-only-routines += sysdep
-endif
diff --git a/sysdeps/unix/sysv/linux/tile/Versions b/sysdeps/unix/sysv/linux/tile/Versions
deleted file mode 100644
index 13da68f..0000000
--- a/sysdeps/unix/sysv/linux/tile/Versions
+++ /dev/null
@@ -1,18 +0,0 @@
-ld {
- GLIBC_PRIVATE {
- # used for loading by static libraries
- _dl_var_init;
- }
-}
-libc {
- GLIBC_2.12 {
- _flush_cache;
- cacheflush;
- fallocate64;
- set_dataplane;
- }
- GLIBC_PRIVATE {
- __syscall_error;
- __vdso_clock_gettime;
- }
-}
diff --git a/sysdeps/unix/sysv/linux/tile/bits/environments.h b/sysdeps/unix/sysv/linux/tile/bits/environments.h
deleted file mode 100644
index b672f59..0000000
--- a/sysdeps/unix/sysv/linux/tile/bits/environments.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _UNISTD_H
-# error "Never include this file directly. Use <unistd.h> instead"
-#endif
-
-#include <bits/wordsize.h>
-
-/* This header should define the following symbols under the described
- situations. A value `1' means that the model is always supported,
- `-1' means it is never supported. Undefined means it cannot be
- statically decided.
-
- _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
- _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
-
- _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
- _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
-
- The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
- _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
- _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
- used in previous versions of the Unix standard and are available
- only for compatibility.
-*/
-
-#if __WORDSIZE == 64
-
-/* Environments with 32-bit wide pointers are optionally provided.
- Therefore following macros aren't defined:
- # undef _POSIX_V7_ILP32_OFF32
- # undef _POSIX_V7_ILP32_OFFBIG
- # undef _POSIX_V6_ILP32_OFF32
- # undef _POSIX_V6_ILP32_OFFBIG
- # undef _XBS5_ILP32_OFF32
- # undef _XBS5_ILP32_OFFBIG
- and users need to check at runtime. */
-
-/* We also have no use (for now) for an environment with bigger pointers
- and offsets. */
-# define _POSIX_V7_LPBIG_OFFBIG -1
-# define _POSIX_V6_LPBIG_OFFBIG -1
-# define _XBS5_LPBIG_OFFBIG -1
-
-/* By default we have 64-bit wide `long int', pointers and `off_t'. */
-# define _POSIX_V7_LP64_OFF64 1
-# define _POSIX_V6_LP64_OFF64 1
-# define _XBS5_LP64_OFF64 1
-
-#else /* __WORDSIZE == 32 */
-
-/* By default we have 32-bit wide `int', `long int', pointers and `off_t'
- and all platforms support LFS. */
-# define _POSIX_V7_ILP32_OFF32 1
-# define _POSIX_V7_ILP32_OFFBIG 1
-# define _POSIX_V6_ILP32_OFF32 1
-# define _POSIX_V6_ILP32_OFFBIG 1
-# define _XBS5_ILP32_OFF32 1
-# define _XBS5_ILP32_OFFBIG 1
-
-/* We optionally provide an environment with the above size but an 64-bit
- side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
-
-/* Environments with 64-bit wide pointers can be provided,
- so these macros aren't defined:
- # undef _POSIX_V7_LP64_OFF64
- # undef _POSIX_V7_LPBIG_OFFBIG
- # undef _POSIX_V6_LP64_OFF64
- # undef _POSIX_V6_LPBIG_OFFBIG
- # undef _XBS5_LP64_OFF64
- # undef _XBS5_LPBIG_OFFBIG
- and sysconf tests for it at runtime. */
-
-#endif /* __WORDSIZE == 32 */
-
-/* TILE-Gx has the ability to choose 32- or 64-bit. */
-#define __ILP32_OFF32_CFLAGS "-m32"
-#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-#define __ILP32_OFF32_LDFLAGS "-m32"
-#define __ILP32_OFFBIG_LDFLAGS "-m32"
-#define __LP64_OFF64_CFLAGS "-m64"
-#define __LP64_OFF64_LDFLAGS "-m64"
diff --git a/sysdeps/unix/sysv/linux/tile/bits/local_lim.h b/sysdeps/unix/sysv/linux/tile/bits/local_lim.h
deleted file mode 100644
index ba67237..0000000
--- a/sysdeps/unix/sysv/linux/tile/bits/local_lim.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-/* The kernel header pollutes the namespace with the NR_OPEN symbol
- and defines LINK_MAX although filesystems have different maxima. A
- similar thing is true for OPEN_MAX: the limit can be changed at
- runtime and therefore the macro must not be defined. Remove this
- after including the header if necessary. */
-#ifndef NR_OPEN
-# define __undef_NR_OPEN
-#endif
-#ifndef LINK_MAX
-# define __undef_LINK_MAX
-#endif
-#ifndef OPEN_MAX
-# define __undef_OPEN_MAX
-#endif
-#ifndef ARG_MAX
-# define __undef_ARG_MAX
-#endif
-
-/* The kernel sources contain a file with all the needed information. */
-#include <linux/limits.h>
-
-/* Have to remove NR_OPEN? */
-#ifdef __undef_NR_OPEN
-# undef NR_OPEN
-# undef __undef_NR_OPEN
-#endif
-/* Have to remove LINK_MAX? */
-#ifdef __undef_LINK_MAX
-# undef LINK_MAX
-# undef __undef_LINK_MAX
-#endif
-/* Have to remove OPEN_MAX? */
-#ifdef __undef_OPEN_MAX
-# undef OPEN_MAX
-# undef __undef_OPEN_MAX
-#endif
-/* Have to remove ARG_MAX? */
-#ifdef __undef_ARG_MAX
-# undef ARG_MAX
-# undef __undef_ARG_MAX
-#endif
-
-/* The number of data keys per process. */
-#define _POSIX_THREAD_KEYS_MAX 128
-/* This is the value this implementation supports. */
-#define PTHREAD_KEYS_MAX 1024
-
-/* Controlling the iterations of destructors for thread-specific data. */
-#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
-/* Number of iterations this implementation does. */
-#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
-
-/* The number of threads per process. */
-#define _POSIX_THREAD_THREADS_MAX 64
-/* We have no predefined limit on the number of threads. */
-#undef PTHREAD_THREADS_MAX
-
-/* Maximum amount by which a process can descrease its asynchronous I/O
- priority level. */
-#define AIO_PRIO_DELTA_MAX 20
-
-/* Minimum size for a thread. At least two pages for systems with 64k
- pages. */
-#define PTHREAD_STACK_MIN 131072
-
-/* Maximum number of timer expiration overruns. */
-#define DELAYTIMER_MAX 2147483647
-
-/* Maximum tty name length. */
-#define TTY_NAME_MAX 32
-
-/* Maximum login name length. This is arbitrary. */
-#define LOGIN_NAME_MAX 256
-
-/* Maximum host name length. */
-#define HOST_NAME_MAX 64
-
-/* Maximum message queue priority level. */
-#define MQ_PRIO_MAX 32768
-
-/* Maximum value the semaphore can have. */
-#define SEM_VALUE_MAX (2147483647)
diff --git a/sysdeps/unix/sysv/linux/tile/bits/mman.h b/sysdeps/unix/sysv/linux/tile/bits/mman.h
deleted file mode 100644
index 4b59ce2..0000000
--- a/sysdeps/unix/sysv/linux/tile/bits/mman.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _SYS_MMAN_H
-# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead."
-#endif
-
-/* The following definitions basically come from the kernel headers.
- But the kernel header is not namespace clean. */
-
-#ifdef __USE_MISC
-/* These are Linux-specific. */
-# define MAP_NONBLOCK 0x00080 /* Do not block on IO. */
-# define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */
-# define MAP_STACK MAP_GROWSDOWN /* Provide convenience alias. */
-# define MAP_LOCKED 0x00200 /* Lock the mapping. */
-# define MAP_NORESERVE 0x00400 /* Don't check for reservations. */
-# define MAP_DENYWRITE 0x00800 /* ETXTBSY */
-# define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */
-# define MAP_POPULATE 0x00040 /* Populate (prefault) pagetables. */
-# define MAP_HUGETLB 0x04000 /* Create huge page mapping. */
-#endif
-
-/* Include generic Linux declarations. */
-#include <bits/mman-linux.h>
diff --git a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h b/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
deleted file mode 100644
index d0467bd..0000000
--- a/sysdeps/unix/sysv/linux/tile/bits/sigaction.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _BITS_SIGACTION_H
-#define _BITS_SIGACTION_H 1
-
-#ifndef _SIGNAL_H
-# error "Never include <bits/sigaction.h> directly; use <signal.h> instead."
-#endif
-
-/* Structure describing the action to be taken when a signal arrives. */
-struct sigaction
- {
- /* Signal handler. */
-#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
- union
- {
- /* Used if SA_SIGINFO is not set. */
- __sighandler_t sa_handler;
- /* Used if SA_SIGINFO is set. */
- void (*sa_sigaction) (int, siginfo_t *, void *);
- }
- __sigaction_handler;
-# define sa_handler __sigaction_handler.sa_handler
-# define sa_sigaction __sigaction_handler.sa_sigaction
-#else
- __sighandler_t sa_handler;
-#endif
-
- /* Additional set of signals to be blocked. */
- __sigset_t sa_mask;
-
- /* Special flags. */
- int sa_flags;
-
- /* Restore handler. */
- void (*sa_restorer) (void);
- };
-
-/* Bits in `sa_flags'. */
-#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */
-#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */
-#define SA_SIGINFO 4 /* Invoke signal-catching function with
- three arguments instead of one. */
-#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
-# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
-#endif
-#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
-# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
-# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
- its handler is being executed. */
-# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
-#endif
-#ifdef __USE_MISC
-# define SA_NOPTRACE 0x02000000 /* Don't ptrace this signal. */
-# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
-
-/* Some aliases for the SA_ constants. */
-# define SA_NOMASK SA_NODEFER
-# define SA_ONESHOT SA_RESETHAND
-# define SA_STACK SA_ONSTACK
-#endif
-
-/* Values for the HOW argument to `sigprocmask'. */
-#define SIG_BLOCK 0 /* Block signals. */
-#define SIG_UNBLOCK 1 /* Unblock signals. */
-#define SIG_SETMASK 2 /* Set the set of blocked signals. */
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h b/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
deleted file mode 100644
index 7d0c24c..0000000
--- a/sysdeps/unix/sysv/linux/tile/bits/siginfo-arch.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* Architecture-specific adjustments to siginfo_t. Tile version. */
-#ifndef _BITS_SIGINFO_ARCH_H
-#define _BITS_SIGINFO_ARCH_H 1
-
-#define __SI_SIGFAULT_ADDL \
- int _si_trapno;
-
-#define si_trapno _sifields._sigfault._si_trapno
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h b/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
deleted file mode 100644
index 2e76d20..0000000
--- a/sysdeps/unix/sysv/linux/tile/bits/siginfo-consts-arch.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Architecture-specific additional siginfo constants. Tile version. */
-#ifndef _BITS_SIGINFO_CONSTS_ARCH_H
-#define _BITS_SIGINFO_CONSTS_ARCH_H 1
-
-/* `si_code' values for SIGILL signal. */
-enum
-{
- ILL_DBLFLT = ILL_BADSTK + 1, /* Double fault. */
-#define ILL_DBLFLT ILL_DBLFLT
- ILL_HARDWALL /* User networks hardwall violation. */
-#define ILL_HARDWALL ILL_HARDWALL
-};
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/cacheflush.c b/sysdeps/unix/sysv/linux/tile/cacheflush.c
deleted file mode 100644
index c236da1..0000000
--- a/sysdeps/unix/sysv/linux/tile/cacheflush.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <unistd.h>
-
-/* Flush cache(s). */
-int
-_flush_cache (char *addr, const int nbytes, const int op)
-{
-#ifdef __NR_cacheflush
- return INLINE_SYSCALL (cacheflush, 3, addr, nbytes, op);
-#else
- __set_errno (ENOSYS);
- return -1;
-#endif
-}
-weak_alias (_flush_cache, cacheflush)
diff --git a/sysdeps/unix/sysv/linux/tile/clone.S b/sysdeps/unix/sysv/linux/tile/clone.S
deleted file mode 100644
index a38f65e..0000000
--- a/sysdeps/unix/sysv/linux/tile/clone.S
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 it's all over. */
-
-#include <sysdep.h>
-#define _ERRNO_H 1
-#include <bits/errno.h>
-
-#include <asm/unistd.h>
-#include <arch/abi.h>
-#include <tls.h>
-#include <linux/sched.h>
-
-/* What we save where in the stack frame; must include all callee-saves. */
-#define FRAME_NEXT_LR (0 * REGSIZE) /* reserved by ABI; not used here */
-#define FRAME_SP (1 * REGSIZE)
-#define FRAME_R30 (2 * REGSIZE)
-#define FRAME_R31 (3 * REGSIZE)
-#define FRAME_R32 (4 * REGSIZE)
-#define FRAME_SIZE (5 * REGSIZE)
-
-/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
- pid_t *ptid, struct user_desc *tls, pid_t *ctid); */
-
- .text
-ENTRY (__clone)
- /* Create a stack frame so we can pass callee-saves to new task. */
- {
- move r10, sp
- st sp, lr
- ADDI_PTR sp, sp, -FRAME_SIZE
- }
- cfi_offset (lr, 0)
- cfi_def_cfa_offset (FRAME_SIZE)
- ADDI_PTR r11, sp, FRAME_SP
- {
- st r11, r10
- ADDI_PTR r11, sp, FRAME_R30
- }
- {
- st r11, r30
- ADDI_PTR r11, sp, FRAME_R31
- }
- cfi_offset (r30, FRAME_R30 - FRAME_SIZE)
- {
- st r11, r31
- ADDI_PTR r11, sp, FRAME_R32
- }
- cfi_offset (r31, FRAME_R31 - FRAME_SIZE)
- st r11, r32
- cfi_offset (r32, FRAME_R32 - FRAME_SIZE)
-
- /* sanity check arguments */
- beqz r0, .Linvalid
- beqz r1, .Linvalid
-
- /* Make sure child stack is properly aligned, and set up the
- top frame so that we can call out of it immediately in the
- child. Setting it up here means we fault in the parent if
- it's bogus, which is probably cleaner than faulting first
- thing in the child. */
- ADDI_PTR r1, r1, -C_ABI_SAVE_AREA_SIZE
- andi r1, r1, -C_ABI_SAVE_AREA_SIZE
- ADDI_PTR r9, r1, REGSIZE /* sp of this frame on entry, i.e. zero */
- st r9, zero
-
- /* We need to switch the argument convention around from
- libc to kernel:
-
- libc:
- r0 fn
- r1 child_stack
- r2 flags
- r3 arg
- r4 ptid
- r5 tls
- r6 ctid
-
- kernel:
- r0 flags
- r1 child_stack [same as libc]
- r2 ptid
- r3 ctid
- r4 tls
-
- Plus the callee-saves as described at .Lthread_start, below. */
- {
- move r32, r0
- move r0, r2
- }
- {
- move r31, r3
- move r3, r6
- }
- {
- move r30, r2
- move r2, r4
- }
- {
- move r4, r5
- moveli TREG_SYSCALL_NR_NAME, __NR_clone
- }
- swint1
- beqz r0, .Lthread_start /* If in child task. */
-
-.Ldone:
- /* Restore the callee-saved registers and return. */
- ADDLI_PTR lr, sp, FRAME_SIZE
- {
- ld lr, lr
- ADDLI_PTR r30, sp, FRAME_R30
- }
- {
- ld r30, r30
- ADDLI_PTR r31, sp, FRAME_R31
- }
- {
- ld r31, r31
- ADDLI_PTR r32, sp, FRAME_R32
- }
- {
- ld r32, r32
- ADDI_PTR sp, sp, FRAME_SIZE
- }
- cfi_def_cfa_offset (0)
-
- bnez r1, .Lerror
- jrp lr
-
-.Lerror:
- j SYSCALL_ERROR_NAME
-
-.Linvalid:
- {
- movei r1, EINVAL
- j .Ldone
- }
-
-/* This function expects to receive:
-
- sp: the top of a valid stack area
- r30: clone() flags
- r31: the argument to pass to the user function
- r32: the user function pointer */
-
-.Lthread_start:
- cfi_def_cfa_offset (FRAME_SIZE)
- cfi_undefined (lr)
- {
- /* Invoke user function with specified argument. */
- move r0, r31
- jalr r32
- }
- moveli TREG_SYSCALL_NR_NAME, __NR_exit
- swint1
-PSEUDO_END (__clone)
-
-libc_hidden_def (__clone)
-weak_alias (__clone, clone)
diff --git a/sysdeps/unix/sysv/linux/tile/configure b/sysdeps/unix/sysv/linux/tile/configure
deleted file mode 100644
index 32ce16c..0000000
--- a/sysdeps/unix/sysv/linux/tile/configure
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file is generated from configure.ac by Autoconf. DO NOT EDIT!
- # Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx
-
-ldd_rewrite_script=$dir/ldd-rewrite.sed
-
-case $machine in
-tile/tilegx32)
- test -n "$libc_cv_slibdir" ||
-case "$prefix" in
-/usr | /usr/)
- libc_cv_slibdir='/lib32'
- libc_cv_rtlddir='/lib32'
- if test "$libdir" = '${exec_prefix}/lib'; then
- libdir='${exec_prefix}/lib32';
- # Locale data can be shared between 32-bit and 64-bit libraries.
- libc_cv_complocaledir='${exec_prefix}/lib/locale'
- fi
- ;;
-esac
- ;;
-esac
diff --git a/sysdeps/unix/sysv/linux/tile/configure.ac b/sysdeps/unix/sysv/linux/tile/configure.ac
deleted file mode 100644
index 45ec42c..0000000
--- a/sysdeps/unix/sysv/linux/tile/configure.ac
+++ /dev/null
@@ -1,10 +0,0 @@
-GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
-# Local configure fragment for sysdeps/unix/sysv/linux/tile/tilegx
-
-ldd_rewrite_script=$dir/ldd-rewrite.sed
-
-case $machine in
-tile/tilegx32)
- LIBC_SLIBDIR_RTLDDIR([lib32], [lib32])
- ;;
-esac
diff --git a/sysdeps/unix/sysv/linux/tile/dl-static.c b/sysdeps/unix/sysv/linux/tile/dl-static.c
deleted file mode 100644
index 6c3b004..0000000
--- a/sysdeps/unix/sysv/linux/tile/dl-static.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Variable initialization. Tile version.
- Copyright (C) 2001-2018 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 <ldsodefs.h>
-
-#ifdef SHARED
-
-void
-_dl_var_init (void *array[])
-{
- /* It has to match "variables" below. */
- enum
- {
- DL_PAGESIZE = 0
- };
-
- GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
-}
-
-#else
-
-static void *variables[] =
-{
- &GLRO(dl_pagesize)
-};
-
-static void
-_dl_unprotect_relro (struct link_map *l)
-{
- ElfW(Addr) start = ((l->l_addr + l->l_relro_addr)
- & ~(GLRO(dl_pagesize) - 1));
- ElfW(Addr) end = ((l->l_addr + l->l_relro_addr + l->l_relro_size)
- & ~(GLRO(dl_pagesize) - 1));
-
- if (start != end)
- __mprotect ((void *) start, end - start, PROT_READ | PROT_WRITE);
-}
-
-void
-_dl_static_init (struct link_map *l)
-{
- struct link_map *rtld_map = l;
- struct r_scope_elem **scope;
- const ElfW(Sym) *ref = NULL;
- lookup_t loadbase;
- void (*f) (void *[]);
- size_t i;
-
- loadbase = _dl_lookup_symbol_x ("_dl_var_init", l, &ref, l->l_local_scope,
- NULL, 0, 1, NULL);
-
- for (scope = l->l_local_scope; *scope != NULL; scope++)
- for (i = 0; i < (*scope)->r_nlist; i++)
- if ((*scope)->r_list[i] == loadbase)
- {
- rtld_map = (*scope)->r_list[i];
- break;
- }
-
- if (ref != NULL)
- {
- f = (void (*) (void *[])) DL_SYMBOL_ADDRESS (loadbase, ref);
- _dl_unprotect_relro (rtld_map);
- f (variables);
- _dl_protect_relro (rtld_map);
- }
-}
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/getcontext.S b/sysdeps/unix/sysv/linux/tile/getcontext.S
deleted file mode 100644
index eedd2b7..0000000
--- a/sysdeps/unix/sysv/linux/tile/getcontext.S
+++ /dev/null
@@ -1,95 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <arch/abi.h>
-
-#include "ucontext_i.h"
-
-/* int getcontext (ucontext_t *ucp) */
-
- .text
-ENTRY (__getcontext)
- FEEDBACK_ENTER(__getcontext)
-
- /* Save the callee-saved GPRs. There's no need to save the
- caller-saved GPRs since the eventual setcontext() or
- swapcontext() will assume those registers are all dead.
- Save value "1" to uc_flags to later recognize getcontext(). */
- { movei r11, 1; ADDI_PTR r10, r0, UC_FLAGS_OFFSET }
- { ST_PTR r10, r11; addli r10, r0, UC_REG(30) }
- { st r10, r30; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r31; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r32; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r33; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r34; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r35; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r36; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r37; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r38; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r39; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r40; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r41; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r42; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r43; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r44; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r45; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r46; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r47; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r48; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r49; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r50; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r51; ADDI_PTR r10, r10, REGSIZE }
- { st r10, r52; ADDI_PTR r10, r10, REGSIZE }
- { st r10, tp; ADDI_PTR r10, r10, REGSIZE }
- { st r10, sp; ADDI_PTR r10, r10, REGSIZE }
- { st r10, lr; ADDI_PTR r10, r10, REGSIZE }
- lnk r11 /* Point PC at the "jrp lr" instruction. */
- addli r11, r11, .Lreturn - .
- { st r10, r11; ADDI_PTR r10, r10, REGSIZE }
- mfspr r11, INTERRUPT_CRITICAL_SECTION
- {
- st r10, r11
- movei r1, 0
- }
-
- /* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG / 8) */
- {
- movei r3, _NSIG / 8
- addli r2, r0, UC_SIGMASK_OFFSET
- }
- {
- movei r0, SIG_BLOCK
- moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask
- }
- swint1
- bnez r1, .Lsyscall_error
-
-.Lreturn:
- {
- movei r0, 0
- jrp lr
- }
-
-.Lsyscall_error:
- j SYSCALL_ERROR_NAME
-
-END (__getcontext)
-.hidden __getcontext
-
-weak_alias (__getcontext, getcontext)
diff --git a/sysdeps/unix/sysv/linux/tile/init-first.c b/sysdeps/unix/sysv/linux/tile/init-first.c
deleted file mode 100644
index 0e9454f..0000000
--- a/sysdeps/unix/sysv/linux/tile/init-first.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2012-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifdef SHARED
-#include <dl-vdso.h>
-#include <libc-vdso.h>
-
-struct syscall_return_value (*VDSO_SYMBOL(gettimeofday)) (struct timeval *,
- void *)
- attribute_hidden;
-
-struct syscall_return_value (*VDSO_SYMBOL(clock_gettime)) (clockid_t,
- struct timespec *)
- __attribute__ ((nocommon));
-
-
-static inline void
-_libc_vdso_platform_setup (void)
-{
- PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
-
- void *p = _dl_vdso_vsym ("__vdso_gettimeofday", &linux26);
- PTR_MANGLE (p);
- VDSO_SYMBOL (gettimeofday) = p;
-
- p = _dl_vdso_vsym ("__vdso_clock_gettime", &linux26);
- PTR_MANGLE (p);
- VDSO_SYMBOL (clock_gettime) = p;
-}
-
-#define VDSO_SETUP _libc_vdso_platform_setup
-#endif
-
-#include <csu/init-first.c>
diff --git a/sysdeps/unix/sysv/linux/tile/ioctl.S b/sysdeps/unix/sysv/linux/tile/ioctl.S
deleted file mode 100644
index 461bd53..0000000
--- a/sysdeps/unix/sysv/linux/tile/ioctl.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-
-/* TILE-Gx specifies that "unsigned int" is sign extended in the high
- 32 bits. But since the userspace API claims to be "unsigned long",
- calls into __ioctl() will not be sign extended, but rather pass all
- 64 bits of the argument. Therefore, when we pass the "request"
- value to the kernel, we must explicitly sign-extend it to match the
- kernel's internal use of "unsigned int" as the second argument,
- which we do by casting to "unsigned int". */
-
-#include <sysdep.h>
-
- .text
-ENTRY (__ioctl)
- FEEDBACK_ENTER(__ioctl)
- {
- addxi r1, r1, 0
- moveli TREG_SYSCALL_NR_NAME, __NR_ioctl
- }
- swint1
- bnez r1, 0f
- jrp lr
-PSEUDO_END (__ioctl)
-libc_hidden_def (__ioctl)
-weak_alias (__ioctl, ioctl)
diff --git a/sysdeps/unix/sysv/linux/tile/ipc_priv.h b/sysdeps/unix/sysv/linux/tile/ipc_priv.h
deleted file mode 100644
index 1292856..0000000
--- a/sysdeps/unix/sysv/linux/tile/ipc_priv.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Old SysV permission definition for Linux. Tile version.
- Copyright (C) 2017-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sys/ipc.h> /* For __key_t */
-
-#define __IPC_64 0x0
diff --git a/sysdeps/unix/sysv/linux/tile/kernel-features.h b/sysdeps/unix/sysv/linux/tile/kernel-features.h
deleted file mode 100644
index b47f1a0..0000000
--- a/sysdeps/unix/sysv/linux/tile/kernel-features.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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_next <kernel-features.h>
-
-/* Define this if your 32-bit syscall API requires 64-bit register
- pairs to start with an even-number register. */
-#ifndef _LP64
-# define __ASSUME_ALIGNED_REGISTER_PAIRS 1
-# define __ASSUME_FADVISE64_64_NO_ALIGN 1
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/kernel_sigaction.h b/sysdeps/unix/sysv/linux/tile/kernel_sigaction.h
deleted file mode 100644
index a943d52..0000000
--- a/sysdeps/unix/sysv/linux/tile/kernel_sigaction.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* tile kernel sigaction is similar to generic Linux UAPI one
- and SA_RESTORER is used only for binary compatibility. */
-#define SA_RESTORER 0x04000000
-#include <sysdeps/unix/sysv/linux/kernel_sigaction.h>
-
-#define SET_SA_RESTORER(kact, act) \
- (kact)->sa_restorer = (act)->sa_restorer
-#define RESET_SA_RESTORER(act, kact) \
- (act)->sa_restorer = (kact)->sa_restorer
diff --git a/sysdeps/unix/sysv/linux/tile/ldconfig.h b/sysdeps/unix/sysv/linux/tile/ldconfig.h
deleted file mode 100644
index 3234576..0000000
--- a/sysdeps/unix/sysv/linux/tile/ldconfig.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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.so.1", FLAG_ELF_LIBC6 }, \
- { "/lib32/ld.so.1", FLAG_ELF_LIBC6 },
-#define SYSDEP_KNOWN_LIBRARY_NAMES \
- { "libc.so.6", FLAG_ELF_LIBC6 }, \
- { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed b/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed
deleted file mode 100644
index 8b0bb69..0000000
--- a/sysdeps/unix/sysv/linux/tile/ldd-rewrite.sed
+++ /dev/null
@@ -1 +0,0 @@
-s_^\(RTLDLIST=\)\(.*lib\)\(\|32\)\(/[^/]*\.so\.[0-9.]*\)[ ]*$_\1"\2\4 \232\4"_
diff --git a/sysdeps/unix/sysv/linux/tile/ldsodefs.h b/sysdeps/unix/sysv/linux/tile/ldsodefs.h
deleted file mode 100644
index 2f2f973..0000000
--- a/sysdeps/unix/sysv/linux/tile/ldsodefs.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile.
- Copyright (C) 2001-2018 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 _LDSODEFS_H
-
-/* Get the real definitions. */
-#include_next <ldsodefs.h>
-
-/* Now define our stuff. */
-
-/* We need special support to initialize DSO loaded for statically linked
- binaries. */
-extern void _dl_static_init (struct link_map *map);
-#undef DL_STATIC_INIT
-#define DL_STATIC_INIT(map) _dl_static_init (map)
-
-#endif /* ldsodefs.h */
diff --git a/sysdeps/unix/sysv/linux/tile/libc-vdso.h b/sysdeps/unix/sysv/linux/tile/libc-vdso.h
deleted file mode 100644
index 4a3e6ba..0000000
--- a/sysdeps/unix/sysv/linux/tile/libc-vdso.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Resolve function pointers to VDSO functions.
- Copyright (C) 2012-2018 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 _LIBC_VDSO_H
-#define _LIBC_VDSO_H
-
-#ifdef SHARED
-
-#include <sysdep-vdso.h>
-
-struct syscall_return_value
-{
- long int value;
- long int error;
-};
-
-extern struct syscall_return_value (*VDSO_SYMBOL (gettimeofday)) (struct
- timeval *,
- void *)
- attribute_hidden;
-
-extern struct syscall_return_value (*VDSO_SYMBOL (clock_gettime)) (clockid_t,
- struct
- timespec *);
-#endif
-#endif /* _LIBC_VDSO_H */
diff --git a/sysdeps/unix/sysv/linux/tile/makecontext.c b/sysdeps/unix/sysv/linux/tile/makecontext.c
deleted file mode 100644
index e2e6927..0000000
--- a/sysdeps/unix/sysv/linux/tile/makecontext.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <stdarg.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <stdlib.h>
-#include <ucontext.h>
-#include <arch/abi.h>
-
-void
-__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
-{
- extern void __startcontext (void);
- uint_reg_t *sp, *args;
- va_list ap;
- int i;
-
- /* Initialize the top of stack. */
- sp = (uint_reg_t *) ((((intptr_t) ucp->uc_stack.ss_sp
- + ucp->uc_stack.ss_size) & -16L) - 16);
-
- /* Allow room for memory-passed arguments if necessary. */
- if (argc > 10)
- sp -= 2 + (argc - 10);
-
- sp[0] = sp[1] = 0;
-
- /* Set parameters. */
- va_start (ap, argc);
- args = &ucp->uc_mcontext.gregs[0];
- for (i = 0; i < argc; i++)
- {
- if (i == 10)
- args = &sp[2];
- *args++ = va_arg (ap, long);
- }
- va_end (ap);
-
- /* Start in the trampoline. */
- ucp->uc_mcontext.pc = (long) __startcontext;
-
- /* Set stack pointer. */
- ucp->uc_mcontext.sp = (long) sp;
-
- /* Pass FUNC to __startcontext in r31. */
- ucp->uc_mcontext.gregs[31] = (long) func;
-
- /* Pass ucp->uc_link to __startcontext in r30. */
- ucp->uc_mcontext.gregs[30] = (long) ucp->uc_link;
-}
-weak_alias (__makecontext, makecontext)
diff --git a/sysdeps/unix/sysv/linux/tile/profil-counter.h b/sysdeps/unix/sysv/linux/tile/profil-counter.h
deleted file mode 100644
index 525f64e..0000000
--- a/sysdeps/unix/sysv/linux/tile/profil-counter.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <signal.h>
-#include <sigcontextinfo.h>
-
-static void
-__profil_counter (int signo, SIGCONTEXT scp)
-{
- profil_count ((void *) GET_PC (scp));
-}
diff --git a/sysdeps/unix/sysv/linux/tile/pt-vfork.c b/sysdeps/unix/sysv/linux/tile/pt-vfork.c
deleted file mode 100644
index 5fbc652..0000000
--- a/sysdeps/unix/sysv/linux/tile/pt-vfork.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/aarch64/pt-vfork.c>
diff --git a/sysdeps/unix/sysv/linux/tile/register-dump.h b/sysdeps/unix/sysv/linux/tile/register-dump.h
deleted file mode 100644
index 002c889..0000000
--- a/sysdeps/unix/sysv/linux/tile/register-dump.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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:
-
- R0: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R4: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R8: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R12: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R16: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R20: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R24: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R28: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R32: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R36: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R40: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R44: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R48: XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
- R52: XXXXXXXXXXXXXXXX TP: XXXXXXXXXXXXXXXX
- SP: XXXXXXXXXXXXXXXX LR: XXXXXXXXXXXXXXXX
-
- PC: XXXXXXXXXXXXXXXX ICS: X FAULTNUM: XX
-
- */
-
-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, mcontext_t *ctx)
-{
- char regs[59][16];
- struct iovec iov[132];
- size_t nr = 0;
- unsigned int i;
-
-#define ADD_STRING(str) \
- iov[nr].iov_base = (char *) str; \
- iov[nr].iov_len = strlen (str); \
- ++nr
-#define ADD_MEM(str, len) \
- iov[nr].iov_base = str; \
- iov[nr].iov_len = len; \
- ++nr
-
- /* Generate strings of register contents. */
- for (i = 0; i < 56; ++i)
- hexvalue (ctx->gregs[i], regs[i], 16);
- hexvalue (ctx->pc, regs[56], 16);
- hexvalue (ctx->ics, regs[57], 1);
- hexvalue (ctx->faultnum, regs[58], 2);
-
- /* Generate the output. */
- for (i = 0; i < 56;)
- {
- const char *prefixes[] = {
- "Register dump:\n\n R0: ",
- "\n R4: ",
- "\n R8: ",
- "\n R12: ",
- "\n R16: ",
- "\n R20: ",
- "\n R24: ",
- "\n R28: ",
- "\n R32: ",
- "\n R36: ",
- "\n R40: ",
- "\n R44: ",
- "\n R48: "
- };
- ADD_STRING (prefixes[i / 4]);
- do
- {
- ADD_MEM (regs[i], 16);
- ADD_STRING (" ");
- }
- while (++i % 4);
- }
- ADD_STRING ("\n R52: ");
- ADD_MEM (regs[52], 16);
- ADD_STRING (" TP: ");
- ADD_MEM (regs[53], 16);
- ADD_STRING ("\n SP: ");
- ADD_MEM (regs[54], 16);
- ADD_STRING (" LR: ");
- ADD_MEM (regs[55], 16);
- ADD_STRING ("\n\n PC: ");
- ADD_MEM (regs[56], 16);
- ADD_STRING (" ICS: ");
- ADD_MEM (regs[57], 1);
- ADD_STRING (" FAULTNUM: ");
- ADD_MEM (regs[58], 2);
- ADD_STRING ("\n");
-
- /* Write the stuff out. */
- writev (fd, iov, nr);
-}
-
-
-#define REGISTER_DUMP register_dump (fd, &ctx->uc_mcontext)
diff --git a/sysdeps/unix/sysv/linux/tile/sched_getcpu.c b/sysdeps/unix/sysv/linux/tile/sched_getcpu.c
deleted file mode 100644
index 06b6f60..0000000
--- a/sysdeps/unix/sysv/linux/tile/sched_getcpu.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 2012-2018 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 <fcntl.h>
-#include <unistd.h>
-#include <sched.h>
-#include <sysdep.h>
-#include <arch/spr_def.h>
-
-
-/* The count of cores horizontally (X dimension) on the chip. */
-static int chip_width;
-
-/* Read the chip "width" from the /sys filesystem. */
-static int
-initialize_chip_width (void)
-{
- int w = 0;
- int fd;
-
- fd = __open ("/sys/devices/system/cpu/chip_width", O_RDONLY);
- if (fd >= 0)
- {
- char buf[64];
- ssize_t n;
- int i;
-
- n = __read (fd, buf, sizeof (buf));
- __close (fd);
-
- for (i = 0; i < n; ++i)
- {
- if (buf[i] < '0' || buf[i] > '9')
- break;
- w = (w * 10) + (buf[i] - '0');
- }
- }
-
- /* Store a negative value so we don't try again. */
- if (w == 0)
- w = -1;
-
- /* Using an atomic idempotent write here makes this thread-safe. */
- chip_width = w;
- return w;
-}
-
-int
-sched_getcpu (void)
-{
- unsigned int coord;
- int w = chip_width;
-
- if (__builtin_expect (w <= 0, 0))
- {
- if (w == 0)
- w = initialize_chip_width ();
- if (w < 0)
- {
- unsigned int cpu;
- int r = INLINE_SYSCALL (getcpu, 3, &cpu, NULL, NULL);
- return r == -1 ? r : cpu;
- }
- }
-
- /* Assign 64-bit value to a 32-bit variable to ensure 32-bit multiply. */
- coord = __insn_mfspr (SPR_TILE_COORD);
-
- /* Extract Y coord from bits 7..10 and X coord from bits 18..21. */
- return ((coord >> 7) & 0xf) * w + ((coord >> 18) & 0xf);
-}
diff --git a/sysdeps/unix/sysv/linux/tile/set_dataplane.c b/sysdeps/unix/sysv/linux/tile/set_dataplane.c
deleted file mode 100644
index fccaecd..0000000
--- a/sysdeps/unix/sysv/linux/tile/set_dataplane.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <unistd.h>
-#include <shlib-compat.h>
-
-/* Request dataplane modes from the kernel (compatibility only). */
-#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_25)
-int
-attribute_compat_text_section
-__old_set_dataplane (int flags)
-{
-#ifdef __NR_set_dataplane
- return INLINE_SYSCALL (set_dataplane, 1, flags);
-#else
- __set_errno (ENOSYS);
- return -1;
-#endif
-}
-
-compat_symbol (libc, __old_set_dataplane, set_dataplane, GLIBC_2_12);
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/setcontext.S b/sysdeps/unix/sysv/linux/tile/setcontext.S
deleted file mode 100644
index efd4f5c..0000000
--- a/sysdeps/unix/sysv/linux/tile/setcontext.S
+++ /dev/null
@@ -1,206 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <asm/errno.h>
-#include <arch/spr_def.h>
-#include <arch/abi.h>
-
-#include "ucontext_i.h"
-
-/* PL to return to via iret in setcontext */
-#define RETURN_PL 0
-
-/* int setcontext (const ucontext_t *ucp) */
-
- .text
-ENTRY (__setcontext)
- FEEDBACK_ENTER(__setcontext)
-
- /* See if this is a true signal context (flags == 0).
- If so, restore by invoking rt_sigreturn(). */
-#if UC_FLAGS_OFFSET != 0
-# error "Add offset to r0 prior to load."
-#endif
- LD_PTR r10, r0
- {
- beqz r10, .Lsigreturn
- addi r10, r10, -1 /* Confirm that it has value "1". */
- }
- bnez r10, .Lbadcontext
-
- /* Save lr and r0 briefly on the stack and set the signal mask:
- rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, NULL, _NSIG / 8). */
- {
- st sp, lr
- ADDI_PTR r11, sp, -(2 * REGSIZE)
- move r10, sp
- }
- ADDI_PTR sp, sp, -(3 * REGSIZE)
- cfi_def_cfa_offset (3 * REGSIZE)
- cfi_offset (lr, 0)
- {
- st r11, r10
- ADDI_PTR r10, sp, (2 * REGSIZE)
- }
- {
- st r10, r0
- ADDLI_PTR r1, r0, UC_SIGMASK_OFFSET
- }
- cfi_offset (r0, -REGSIZE)
- {
- movei r3, _NSIG / 8
- movei r2, 0
- }
- {
- movei r0, SIG_SETMASK
- moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigprocmask
- }
- swint1
- ADDI_PTR r11, sp, 2 * REGSIZE /* Restore uc_context to r11. */
- {
- ld r11, r11
- ADDI_PTR sp, sp, 3 * REGSIZE
- }
- cfi_def_cfa_offset (0)
- ld lr, sp
- {
- ADDI_PTR r10, r11, UC_REG(0)
- bnez r1, .Lsyscall_error
- }
-
- /* Restore the argument registers; note they will be random
- unless makecontext() has been called. */
- { ld r0, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r1, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r2, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r3, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r4, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r5, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r6, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r7, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r8, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r9, r10; ADDLI_PTR r10, r10, UC_REG(30) - UC_REG(9) }
-
- /* Restore the callee-saved GPRs. */
- { ld r30, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r31, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r32, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r33, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r34, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r35, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r36, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r37, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r38, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r39, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r40, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r41, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r42, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r43, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r44, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r45, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r46, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r47, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r48, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r49, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r50, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r51, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r52, r10; ADDI_PTR r10, r10, REGSIZE * 2 }
- /* Skip tp since it must not change for a given thread. */
- { ld sp, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld lr, r10; ADDI_PTR r10, r10, REGSIZE }
- { ld r11, r10; ADDI_PTR r10, r10, REGSIZE }
-
- /* Construct an iret context; we set ICS so we can validly load
- EX_CONTEXT for iret without being interrupted halfway through. */
- {
- ld r12, r10
- movei r13, 1
- }
- {
- mtspr INTERRUPT_CRITICAL_SECTION, r13
- shli r12, r12, SPR_EX_CONTEXT_0_1__ICS_SHIFT
- }
- {
- mtspr EX_CONTEXT_0_0, r11
- ori r12, r12, RETURN_PL
- }
- mtspr EX_CONTEXT_0_1, r12
- iret
- jrp lr /* keep the backtracer happy */
-
-.Lsigreturn:
- /* This is a context obtained from a signal handler.
- Perform a full restore by pushing the context
- passed onto a simulated signal frame on the stack
- and call the signal return syscall as if a signal
- handler exited normally. */
- {
- ADDLI_PTR sp, sp, -(C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE)
- ADDLI_PTR r1, sp, -UC_SIZE
- }
- cfi_def_cfa_offset (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE)
- moveli r2, UC_SIZE / REGSIZE
-0: {
- ld r10, r0
- ADDI_PTR r0, r0, REGSIZE
- }
- {
- st r1, r10
- ADDI_PTR r1, r1, REGSIZE
- addi r2, r2, -1
- }
- bnez r2, 0b
- moveli TREG_SYSCALL_NR_NAME, __NR_rt_sigreturn
- swint1
-
- /* Restore the stack and fall through to the error
- path. Successful rt_sigreturn never returns to
- its calling place. */
- ADDLI_PTR sp, sp, (C_ABI_SAVE_AREA_SIZE + SI_MAX_SIZE + UC_SIZE)
- cfi_def_cfa_offset (0)
-
-.Lsyscall_error:
- j SYSCALL_ERROR_NAME
-
-.Lbadcontext:
- {
- movei r1, EINVAL
- j SYSCALL_ERROR_NAME
- }
-
-END (__setcontext)
-
-.hidden __setcontext
-weak_alias (__setcontext, setcontext)
-
-ENTRY (__startcontext)
- cfi_undefined (lr)
- FEEDBACK_ENTER(__startcontext)
- jalr r31
- beqz r30, 1f
- {
- move r0, r30
- jal __setcontext
- }
-1: {
- movei r0, 0
- j HIDDEN_JUMPTARGET(exit)
- }
-END (__startcontext)
-.hidden __startcontext
diff --git a/sysdeps/unix/sysv/linux/tile/shlib-versions b/sysdeps/unix/sysv/linux/tile/shlib-versions
deleted file mode 100644
index b4360d3..0000000
--- a/sysdeps/unix/sysv/linux/tile/shlib-versions
+++ /dev/null
@@ -1,2 +0,0 @@
-# glibc 2.12 was released to customers; 2.15 was the first community version.
-DEFAULT GLIBC_2.12 GLIBC_2.15
diff --git a/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h b/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
deleted file mode 100644
index b23b846..0000000
--- a/sysdeps/unix/sysv/linux/tile/sigcontextinfo.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <arch/abi.h>
-
-#define SIGCONTEXT siginfo_t *_si, ucontext_t *
-#define GET_PC(ctx) ((void *) (long) ctx->uc_mcontext.pc)
diff --git a/sysdeps/unix/sysv/linux/tile/swapcontext.S b/sysdeps/unix/sysv/linux/tile/swapcontext.S
deleted file mode 100644
index 39397ea..0000000
--- a/sysdeps/unix/sysv/linux/tile/swapcontext.S
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-#include "ucontext_i.h"
-
-/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
-
- .text
-ENTRY (__swapcontext)
- FEEDBACK_ENTER(__swapcontext)
- /* Set up a frame and save r0 and r1. */
- {
- st sp, lr
- ADDI_PTR r11, sp, -(3 * REGSIZE)
- move r10, sp
- }
- ADDI_PTR sp, sp, -(4 * REGSIZE)
- cfi_def_cfa_offset (4 * REGSIZE)
- cfi_offset (lr, 0)
- {
- st r11, r10
- ADDI_PTR r10, sp, (2 * REGSIZE)
- }
- {
- st r10, r0
- ADDI_PTR r10, sp, (3 * REGSIZE)
- }
- st r10, r1
-
- /* Save the current context. */
- jal __getcontext
-
- /* Tear down the frame and restore r0, r1, and lr. */
- {
- bnez r0, .Lerror
- ADDI_PTR r1, sp, 3 * REGSIZE
- }
- {
- ld r1, r1
- ADDI_PTR r0, sp, 2 * REGSIZE
- }
- {
- ld r0, r0
- ADDI_PTR sp, sp, 4 * REGSIZE
- }
- cfi_def_cfa_offset (0)
- {
- ld lr, sp
- ADDLI_PTR r10, r0, UC_REG(54)
- }
-
- /* Update the stored sp and lr. */
- {
- st r10, sp
- ADDLI_PTR r10, r0, UC_REG(55)
- }
- st r10, lr
-
- /* Tail-call setcontext to finish up. */
- {
- move r0, r1
- j __setcontext
- }
-
-.Lerror:
- ADDI_PTR sp, sp, 4 * REGSIZE
- cfi_def_cfa_offset (0)
- ld lr, sp
- jrp lr
-END (__swapcontext)
-
-weak_alias (__swapcontext, swapcontext)
diff --git a/sysdeps/unix/sysv/linux/tile/sys/cachectl.h b/sysdeps/unix/sysv/linux/tile/sys/cachectl.h
deleted file mode 100644
index 08de699..0000000
--- a/sysdeps/unix/sysv/linux/tile/sys/cachectl.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _SYS_CACHECTL_H
-#define _SYS_CACHECTL_H 1
-
-#include <features.h>
-
-/* Get the kernel definition for the op bits. */
-#include <asm/cachectl.h>
-
-__BEGIN_DECLS
-
-#ifdef __USE_MISC
-extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
-#endif
-extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
-
-__END_DECLS
-
-#endif /* sys/cachectl.h */
diff --git a/sysdeps/unix/sysv/linux/tile/sys/procfs.h b/sysdeps/unix/sysv/linux/tile/sys/procfs.h
deleted file mode 100644
index cc93f57..0000000
--- a/sysdeps/unix/sysv/linux/tile/sys/procfs.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _SYS_PROCFS_H
-#define _SYS_PROCFS_H 1
-
-/* This is somewhat modelled after the file of the same name on SVR4
- systems. It provides a definition of the core file format for ELF
- used on Linux. It doesn't have anything to do with the /proc file
- system, even though Linux has one.
-
- Anyway, the whole purpose of this file is for GDB and GDB only.
- Don't read too much into it. Don't use it for anything other than
- GDB unless you know what you are doing. */
-
-#include <features.h>
-#include <sys/time.h>
-#include <sys/types.h>
-
-#define __need_int_reg_t
-#include <arch/abi.h>
-
-__BEGIN_DECLS
-
-/* Type for a general-purpose register. */
-typedef __uint_reg_t elf_greg_t;
-
-/* And the whole bunch of them. We could have used `struct pt_regs'
- from <asm/ptrace.h> directly in the typedef, but tradition says that
- the register set is an array, which does have some peculiar
- semantics, so leave it that way. */
-#define ELF_NGREG 64
-#define ELF_NFPREG 0
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-typedef elf_greg_t elf_fpregset_t[ELF_NFPREG];
-
-/* Signal info. */
-struct elf_siginfo
- {
- int si_signo; /* Signal number. */
- int si_code; /* Extra code. */
- int si_errno; /* Errno. */
- };
-
-
-/* Definitions to generate Intel SVR4-like core files. These mostly
- have the same names as the SVR4 types with "elf_" tacked on the
- front to prevent clashes with Linux definitions, and the typedef
- forms have been avoided. This is mostly like the SVR4 structure,
- but more Linuxy, with things that Linux does not support and which
- GDB doesn't really use excluded. */
-
-struct elf_prstatus
- {
- struct elf_siginfo pr_info; /* Info associated with signal. */
- short int pr_cursig; /* Current signal. */
- unsigned long int pr_sigpend; /* Set of pending signals. */
- unsigned long int pr_sighold; /* Set of held signals. */
- __pid_t pr_pid;
- __pid_t pr_ppid;
- __pid_t pr_pgrp;
- __pid_t pr_sid;
- struct timeval pr_utime; /* User time. */
- struct timeval pr_stime; /* System time. */
- struct timeval pr_cutime; /* Cumulative user time. */
- struct timeval pr_cstime; /* Cumulative system time. */
- elf_gregset_t pr_reg; /* GP registers. */
- int pr_fpvalid; /* True if math copro being used. */
- };
-
-
-#define ELF_PRARGSZ (80) /* Number of chars for args. */
-
-struct elf_prpsinfo
- {
- char pr_state; /* Numeric process state. */
- char pr_sname; /* Char for pr_state. */
- char pr_zomb; /* Zombie. */
- char pr_nice; /* Nice val. */
- unsigned long int pr_flag; /* Flags. */
- unsigned int pr_uid;
- unsigned int pr_gid;
- int pr_pid, pr_ppid, pr_pgrp, pr_sid;
- /* Lots missing */
- char pr_fname[16]; /* Filename of executable. */
- char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */
- };
-
-
-/* The rest of this file provides the types for emulation of the
- Solaris <proc_service.h> interfaces that should be implemented by
- users of libthread_db. */
-
-/* Addresses. */
-typedef void *psaddr_t;
-
-/* Register sets. Linux has different names. */
-typedef elf_gregset_t prgregset_t;
-
-/* Provide dummy declaration here; we don't have FP registers. */
-typedef elf_fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
- therefore have only one PID type. */
-typedef __pid_t lwpid_t;
-
-/* Process status and info. In the end we do provide typedefs for them. */
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-
-__END_DECLS
-
-#endif /* sys/procfs.h */
diff --git a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h b/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
deleted file mode 100644
index d391037..0000000
--- a/sysdeps/unix/sysv/linux/tile/sys/ptrace.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* `ptrace' debugger support interface. Linux/Tile version.
- Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _SYS_PTRACE_H
-#define _SYS_PTRACE_H 1
-
-#include <features.h>
-#include <bits/types.h>
-
-__BEGIN_DECLS
-
-/* Type of the REQUEST argument to `ptrace.' */
-enum __ptrace_request
-{
- /* Indicate that the process making this request should be traced.
- All signals received by this process can be intercepted by its
- parent, and its parent can use the other `ptrace' requests. */
- PTRACE_TRACEME = 0,
-#define PT_TRACE_ME PTRACE_TRACEME
-
- /* Return the word in the process's text space at address ADDR. */
- PTRACE_PEEKTEXT = 1,
-#define PT_READ_I PTRACE_PEEKTEXT
-
- /* Return the word in the process's data space at address ADDR. */
- PTRACE_PEEKDATA = 2,
-#define PT_READ_D PTRACE_PEEKDATA
-
- /* Return the word in the process's user area at offset ADDR. */
- PTRACE_PEEKUSER = 3,
-#define PT_READ_U PTRACE_PEEKUSER
-
- /* Write the word DATA into the process's text space at address ADDR. */
- PTRACE_POKETEXT = 4,
-#define PT_WRITE_I PTRACE_POKETEXT
-
- /* Write the word DATA into the process's data space at address ADDR. */
- PTRACE_POKEDATA = 5,
-#define PT_WRITE_D PTRACE_POKEDATA
-
- /* Write the word DATA into the process's user area at offset ADDR. */
- PTRACE_POKEUSER = 6,
-#define PT_WRITE_U PTRACE_POKEUSER
-
- /* Continue the process. */
- PTRACE_CONT = 7,
-#define PT_CONTINUE PTRACE_CONT
-
- /* Kill the process. */
- PTRACE_KILL = 8,
-#define PT_KILL PTRACE_KILL
-
- /* Single step the process. */
- PTRACE_SINGLESTEP = 9,
-#define PT_STEP PTRACE_SINGLESTEP
-
- /* Get all general purpose registers used by a processes. */
- PTRACE_GETREGS = 12,
-#define PT_GETREGS PTRACE_GETREGS
-
- /* Set all general purpose registers used by a processes. */
- PTRACE_SETREGS = 13,
-#define PT_SETREGS PTRACE_SETREGS
-
- /* Attach to a process that is already running. */
- PTRACE_ATTACH = 16,
-#define PT_ATTACH PTRACE_ATTACH
-
- /* Detach from a process attached to with PTRACE_ATTACH. */
- PTRACE_DETACH = 17,
-#define PT_DETACH PTRACE_DETACH
-
- /* Continue and stop at the next entry to or return from syscall. */
- PTRACE_SYSCALL = 24,
-#define PT_SYSCALL PTRACE_SYSCALL
-
- /* Set ptrace filter options. */
- PTRACE_SETOPTIONS = 0x4200,
-#define PT_SETOPTIONS PTRACE_SETOPTIONS
-
- /* Get last ptrace message. */
- PTRACE_GETEVENTMSG = 0x4201,
-#define PT_GETEVENTMSG PTRACE_GETEVENTMSG
-
- /* Get siginfo for process. */
- PTRACE_GETSIGINFO = 0x4202,
-#define PT_GETSIGINFO PTRACE_GETSIGINFO
-
- /* Set new siginfo for process. */
- PTRACE_SETSIGINFO = 0x4203,
-#define PT_SETSIGINFO PTRACE_SETSIGINFO
-
- /* Set register content. */
- PTRACE_SETREGSET = 0x4205,
-#define PTRACE_SETREGSET PTRACE_SETREGSET
-
- /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect
- signal or group stop state. */
- PTRACE_SEIZE = 0x4206,
-#define PTRACE_SEIZE PTRACE_SEIZE
-
- /* Trap seized tracee. */
- PTRACE_INTERRUPT = 0x4207,
-#define PTRACE_INTERRUPT PTRACE_INTERRUPT
-
- /* Wait for next group event. */
- PTRACE_LISTEN = 0x4208,
-#define PTRACE_LISTEN PTRACE_LISTEN
-
- /* Retrieve siginfo_t structures without removing signals from a queue. */
- PTRACE_PEEKSIGINFO = 0x4209,
-#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
-
- /* Get the mask of blocked signals. */
- PTRACE_GETSIGMASK = 0x420a,
-#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
-
- /* Change the mask of blocked signals. */
- PTRACE_SETSIGMASK = 0x420b,
-#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
-
- /* Get seccomp BPF filters. */
- PTRACE_SECCOMP_GET_FILTER = 0x420c,
-#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
-
- /* Get seccomp BPF filter metadata. */
- PTRACE_SECCOMP_GET_METADATA = 0x420d
-#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
-};
-
-
-#include <bits/ptrace-shared.h>
-
-__END_DECLS
-
-#endif /* _SYS_PTRACE_H */
diff --git a/sysdeps/unix/sysv/linux/tile/sys/reg.h b/sysdeps/unix/sysv/linux/tile/sys/reg.h
deleted file mode 100644
index 1ab17ce..0000000
--- a/sysdeps/unix/sysv/linux/tile/sys/reg.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* The traditional purpose of "sys/reg.h" is satisfied by "arch/abi.h". */
-#include <arch/abi.h>
diff --git a/sysdeps/unix/sysv/linux/tile/sys/ucontext.h b/sysdeps/unix/sysv/linux/tile/sys/ucontext.h
deleted file mode 100644
index 06d0888..0000000
--- a/sysdeps/unix/sysv/linux/tile/sys/ucontext.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H 1
-
-#include <features.h>
-
-#include <bits/types/sigset_t.h>
-#include <bits/types/stack_t.h>
-
-#ifdef __USE_MISC
-# define __ctx(fld) fld
-#else
-# define __ctx(fld) __ ## fld
-#endif
-
-#ifdef __USE_MISC
-/* Get register type and register names. */
-# include <arch/abi.h>
-
-
-/* Type for general register. */
-typedef uint_reg_t greg_t;
-
-/* Number of general registers. Must agree with <asm/ptrace.h>. */
-# define NGREG 64
-
-/* Container for all general registers. */
-typedef greg_t gregset_t[NGREG];
-#endif
-
-#ifdef __USE_GNU
-/* Names for interesting registers in the `gregset_t' array. */
-enum
-{
- /* ... r0 through r51 are just 0 through 51 ... */
- REG_FP = TREG_FP,
-# define REG_FP REG_FP
- REG_TP = TREG_TP,
-# define REG_TP REG_TP
- REG_SP = TREG_SP,
-# define REG_SP REG_SP
- REG_LR = TREG_LR,
-# define REG_LR REG_LR
-};
-#endif
-
-#define __need_int_reg_t
-#include <arch/abi.h>
-
-/* A machine context is exactly a sigcontext. */
-typedef struct
- {
- __extension__ union
- {
- __uint_reg_t __ctx(gregs)[56];
- __extension__ struct
- {
- __uint_reg_t __ctx(__gregs)[53];
- __uint_reg_t __ctx(tp);
- __uint_reg_t __ctx(sp);
- __uint_reg_t __ctx(lr);
- };
- };
- __uint_reg_t __ctx(pc);
- __uint_reg_t __ctx(ics);
- __uint_reg_t __ctx(faultnum);
- __uint_reg_t __glibc_reserved1[5];
- } mcontext_t;
-
-/* Userlevel context. */
-typedef struct ucontext_t
- {
- unsigned long int __ctx(uc_flags);
- struct ucontext_t *uc_link;
- stack_t uc_stack;
- mcontext_t uc_mcontext;
- sigset_t uc_sigmask;
- } ucontext_t;
-
-#undef __ctx
-
-#endif /* sys/ucontext.h */
diff --git a/sysdeps/unix/sysv/linux/tile/sys/user.h b/sysdeps/unix/sysv/linux/tile/sys/user.h
deleted file mode 100644
index c871f1a..0000000
--- a/sysdeps/unix/sysv/linux/tile/sys/user.h
+++ /dev/null
@@ -1 +0,0 @@
-/* This file is not needed, but in practice gdb might try to include it. */
diff --git a/sysdeps/unix/sysv/linux/tile/syscall.S b/sysdeps/unix/sysv/linux/tile/syscall.S
deleted file mode 100644
index f6aaf6b..0000000
--- a/sysdeps/unix/sysv/linux/tile/syscall.S
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <arch/abi.h>
-
- .text
-ENTRY (syscall)
- FEEDBACK_ENTER(syscall)
- { move TREG_SYSCALL_NR_NAME, r0; move r0, r1 }
- { move r1, r2; move r2, r3 }
- { move r3, r4; move r4, r5 }
- { move r5, r6; move r6, r7 }
- swint1
- bnez r1, 0f
- jrp lr
-PSEUDO_END (syscall)
diff --git a/sysdeps/unix/sysv/linux/tile/sysconf.c b/sysdeps/unix/sysv/linux/tile/sysconf.c
deleted file mode 100644
index d585ec0..0000000
--- a/sysdeps/unix/sysv/linux/tile/sysconf.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright (C) 2014-2018 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 <unistd.h>
-#include <sys/sysinfo.h>
-#include <arch/chip.h>
-
-static long int linux_sysconf (int name);
-
-/* Get the value of the system variable NAME. */
-long int
-__sysconf (int name)
-{
- /* Currently we support only tilegx, which have statically-known cache
- sizes. */
- switch (name)
- {
- /* Level 1 cache. */
- case _SC_LEVEL1_ICACHE_SIZE:
- return CHIP_L1I_CACHE_SIZE();
- case _SC_LEVEL1_ICACHE_ASSOC:
- return CHIP_L1I_ASSOC();
- case _SC_LEVEL1_ICACHE_LINESIZE:
- return CHIP_L1I_LINE_SIZE();
- case _SC_LEVEL1_DCACHE_SIZE:
- return CHIP_L1D_CACHE_SIZE();
- case _SC_LEVEL1_DCACHE_ASSOC:
- return CHIP_L1D_ASSOC();
- case _SC_LEVEL1_DCACHE_LINESIZE:
- return CHIP_L1D_LINE_SIZE();
-
- /* Level 2 cache. */
- case _SC_LEVEL2_CACHE_SIZE:
- return CHIP_L2_CACHE_SIZE();
- case _SC_LEVEL2_CACHE_ASSOC:
- return CHIP_L2_ASSOC();
- case _SC_LEVEL2_CACHE_LINESIZE:
- return CHIP_L2_LINE_SIZE();
-
- /* Level 3 cache is layered on level 2 cache. */
- case _SC_LEVEL3_CACHE_SIZE:
- return CHIP_L2_CACHE_SIZE() * __get_nprocs();
- case _SC_LEVEL3_CACHE_ASSOC:
- return CHIP_L2_ASSOC();
- case _SC_LEVEL3_CACHE_LINESIZE:
- return CHIP_L2_LINE_SIZE();
-
- /* No level 4 cache. */
- case _SC_LEVEL4_CACHE_SIZE:
- case _SC_LEVEL4_CACHE_ASSOC:
- case _SC_LEVEL4_CACHE_LINESIZE:
- return -1;
- }
-
- return linux_sysconf (name);
-}
-
-/* Now the generic Linux version. */
-#undef __sysconf
-#define __sysconf static linux_sysconf
-#include <sysdeps/unix/sysv/linux/sysconf.c>
diff --git a/sysdeps/unix/sysv/linux/tile/sysdep.c b/sysdeps/unix/sysv/linux/tile/sysdep.c
deleted file mode 100644
index 37c9d96..0000000
--- a/sysdeps/unix/sysv/linux/tile/sysdep.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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>
-
-int __syscall_error (int dummy, int err);
-hidden_proto (__syscall_error)
-
-/* This routine is jumped to by all the syscall handlers, to stash
- an error number into errno. */
-int
-__syscall_error (int dummy, int err)
-{
- __set_errno (err);
- return -1;
-}
-hidden_def (__syscall_error)
diff --git a/sysdeps/unix/sysv/linux/tile/sysdep.h b/sysdeps/unix/sysv/linux/tile/sysdep.h
deleted file mode 100644
index 9827e4b..0000000
--- a/sysdeps/unix/sysv/linux/tile/sysdep.h
+++ /dev/null
@@ -1,243 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 <asm/unistd.h>
-#include <sysdeps/tile/sysdep.h>
-#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
-#include <sys/syscall.h>
-
-#undef SYS_ify
-#define SYS_ify(syscall_name) __NR_##syscall_name
-
-
-#ifdef __ASSEMBLER__
-
-/* The actual implementation of doing a syscall. */
-#define DO_CALL(syscall_name, args) \
- moveli TREG_SYSCALL_NR_NAME, SYS_ify(syscall_name); \
- swint1
-
-/* TILE Linux returns the result in r0 (or a negative errno).
- The kernel "owns" the code to decide if a given value is an error,
- and puts errno in r1 if so, or otherwise zero. */
-#define PSEUDO(name, syscall_name, args) \
- ENTRY (name); \
- DO_CALL(syscall_name, args); \
- BNEZ r1, 0f
-
-#define ret jrp lr
-
-#ifndef SHARED
-/* For static code, on error jump to __syscall_error directly. */
-# define SYSCALL_ERROR_NAME __syscall_error
-#elif IS_IN (libc) || IS_IN (libpthread)
-/* Use the internal name for libc/libpthread shared objects. */
-# define SYSCALL_ERROR_NAME __GI___syscall_error
-#else
-/* Otherwise, on error do a full PLT jump. */
-# define SYSCALL_ERROR_NAME plt(__syscall_error)
-#endif
-
-#undef PSEUDO_END
-#define PSEUDO_END(name) \
-0: \
- j SYSCALL_ERROR_NAME; \
- END (name)
-
-#undef PSEUDO_NOERRNO
-#define PSEUDO_NOERRNO(name, syscall_name, args) \
- ENTRY (name); \
- DO_CALL(syscall_name, args)
-
-#define ret_NOERRNO jrp lr
-
-#undef PSEUDO_END_NOERRNO
-#define PSEUDO_END_NOERRNO(name) \
- END (name)
-
-/* Convenience wrappers. */
-#define SYSCALL__(name, args) PSEUDO (__##name, name, args)
-#define SYSCALL(name, args) PSEUDO (name, name, args)
-
-#else /* not __ASSEMBLER__ */
-
-#include <errno.h>
-
-/* Define a macro which expands inline into the wrapper code for a system
- call. */
-# undef INLINE_SYSCALL
-# define INLINE_SYSCALL(name, nr, args...) \
- ({ \
- INTERNAL_SYSCALL_DECL (_sc_err); \
- unsigned long _sc_val = INTERNAL_SYSCALL (name, _sc_err, nr, args); \
- if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sc_val, _sc_err), 0)) \
- { \
- __set_errno (INTERNAL_SYSCALL_ERRNO (_sc_val, _sc_err)); \
- _sc_val = -1; \
- } \
- (long) _sc_val; \
- })
-
-#undef INTERNAL_SYSCALL
-#define INTERNAL_SYSCALL(name, err, nr, args...) \
- internal_syscall##nr (SYS_ify (name), err, args)
-
-#undef INTERNAL_SYSCALL_NCS
-#define INTERNAL_SYSCALL_NCS(number, err, nr, args...) \
- internal_syscall##nr (number, err, args)
-
-#undef INTERNAL_SYSCALL_DECL
-#define INTERNAL_SYSCALL_DECL(err) int err
-
-#undef INTERNAL_SYSCALL_ERROR_P
-#define INTERNAL_SYSCALL_ERROR_P(val, err) ({ (void) (val); (err) != 0; })
-
-#undef INTERNAL_SYSCALL_ERRNO
-#define INTERNAL_SYSCALL_ERRNO(val, err) ({ (void) (val); (err); })
-
-#define internal_syscall0(num, err, dummy...) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#define internal_syscall1(num, err, arg0) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num), "R00" (arg0) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#define internal_syscall2(num, err, arg0, arg1) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num), "R00" (arg0), "R01" (arg1) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#define internal_syscall3(num, err, arg0, arg1, arg2) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#define internal_syscall4(num, err, arg0, arg1, arg2, arg3) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2), \
- "R03" (arg3) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#define internal_syscall5(num, err, arg0, arg1, arg2, arg3, arg4) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2), \
- "R03" (arg3), "R04" (arg4) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#define internal_syscall6(num, err, arg0, arg1, arg2, arg3, arg4, arg5) \
- ({ \
- long _sys_result, __SYSCALL_CLOBBER_DECLS; \
- __asm__ __volatile__ ( \
- "swint1" \
- : "=R00" (_sys_result), "=R01" (err), __SYSCALL_CLOBBER_OUTPUTS \
- : "R10" (num), "R00" (arg0), "R01" (arg1), "R02" (arg2), \
- "R03" (arg3), "R04" (arg4), "R05" (arg5) \
- : __SYSCALL_CLOBBERS); \
- _sys_result; \
- })
-
-#undef __SYSCALL_CLOBBERS
-#define __SYSCALL_CLOBBERS \
- "r6", "r7", \
- "r8", "r9", "r11", "r12", "r13", "r14", "r15", \
- "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", \
- "r24", "r25", "r26", "r27", "r28", "r29", "memory"
-
-/* gcc doesn't seem to allow an input operand to be clobbered, so we
- fake it with dummy outputs. */
-#define __SYSCALL_CLOBBER_DECLS \
- _clobber_r2, _clobber_r3, _clobber_r4, _clobber_r5, _clobber_r10
-
-#define __SYSCALL_CLOBBER_OUTPUTS \
- "=R02" (_clobber_r2), "=R03" (_clobber_r3), "=R04" (_clobber_r4), \
- "=R05" (_clobber_r5), "=R10" (_clobber_r10)
-
-
-#define INTERNAL_VSYSCALL_CALL(funcptr, err, nr, args...) \
- ({ \
- struct syscall_return_value _sc_rv = funcptr (args); \
- err = _sc_rv.error; \
- _sc_rv.value; \
- })
-
-/* List of system calls which are supported as vsyscalls. */
-#define HAVE_CLOCK_GETTIME_VSYSCALL 1
-#define HAVE_GETTIMEOFDAY_VSYSCALL 1
-
-/* Previously tile used the generic version without the libc_hidden_def
- which lead in a non existent __send symbol in libc.so. */
-#undef HAVE_INTERNAL_SEND_SYMBOL
-
-#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. */
-#else
-# ifdef __ASSEMBLER__
-# define PTR_MANGLE(reg, tmpreg) \
- ADDLI_PTR tmpreg, pt, POINTER_GUARD; \
- LD tmpreg, tmpreg; \
- xor reg, tmpreg, reg
-# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
-# else
-# define PTR_MANGLE(var) \
- (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
-# define PTR_DEMANGLE(var) PTR_MANGLE (var)
-# endif
-#endif
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/Implies b/sysdeps/unix/sysv/linux/tile/tilegx32/Implies
deleted file mode 100644
index 0023bb7..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-unix/sysv/linux/tile
-unix/sysv/linux/generic/wordsize-32
-unix/sysv/linux/generic
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile
deleted file mode 100644
index 1e9d29b..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-default-abi := 32
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data
deleted file mode 100644
index 1a7bcb3..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/c++-types.data
+++ /dev/null
@@ -1,67 +0,0 @@
-blkcnt64_t:x
-blkcnt_t:l
-blksize_t:i
-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:x
-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/tile/tilegx32/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h
deleted file mode 100644
index eb64802..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/jmp_buf-macros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#define JMP_BUF_SIZE 392
-#define SIGJMP_BUF_SIZE 392
-#define JMP_BUF_ALIGN 8
-#define SIGJMP_BUF_ALIGN 8
-#define MASK_WAS_SAVED_OFFSET 256
-#define SAVED_MASK_OFFSET 260
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist
deleted file mode 100644
index f166310..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/ld.abilist
+++ /dev/null
@@ -1,9 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __libc_stack_end D 0x4
-GLIBC_2.12 __tls_get_addr F
-GLIBC_2.12 _dl_mcount F
-GLIBC_2.12 _r_debug D 0x14
-GLIBC_2.12 calloc F
-GLIBC_2.12 free F
-GLIBC_2.12 malloc F
-GLIBC_2.12 realloc F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist
deleted file mode 100644
index 0d64827..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libBrokenLocale.abilist
+++ /dev/null
@@ -1,2 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __ctype_get_mb_cur_max F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist
deleted file mode 100644
index a3b1cc0..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libanl.abilist
+++ /dev/null
@@ -1,5 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 gai_cancel F
-GLIBC_2.12 gai_error F
-GLIBC_2.12 gai_suspend F
-GLIBC_2.12 getaddrinfo_a F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist
deleted file mode 100644
index ab56ece..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libc.abilist
+++ /dev/null
@@ -1,2138 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 _Exit F
-GLIBC_2.12 _IO_2_1_stderr_ D 0xa0
-GLIBC_2.12 _IO_2_1_stdin_ D 0xa0
-GLIBC_2.12 _IO_2_1_stdout_ D 0xa0
-GLIBC_2.12 _IO_adjust_column F
-GLIBC_2.12 _IO_adjust_wcolumn F
-GLIBC_2.12 _IO_default_doallocate F
-GLIBC_2.12 _IO_default_finish F
-GLIBC_2.12 _IO_default_pbackfail F
-GLIBC_2.12 _IO_default_uflow F
-GLIBC_2.12 _IO_default_xsgetn F
-GLIBC_2.12 _IO_default_xsputn F
-GLIBC_2.12 _IO_do_write F
-GLIBC_2.12 _IO_doallocbuf F
-GLIBC_2.12 _IO_fclose F
-GLIBC_2.12 _IO_fdopen F
-GLIBC_2.12 _IO_feof F
-GLIBC_2.12 _IO_ferror F
-GLIBC_2.12 _IO_fflush F
-GLIBC_2.12 _IO_fgetpos F
-GLIBC_2.12 _IO_fgetpos64 F
-GLIBC_2.12 _IO_fgets F
-GLIBC_2.12 _IO_file_attach F
-GLIBC_2.12 _IO_file_close F
-GLIBC_2.12 _IO_file_close_it F
-GLIBC_2.12 _IO_file_doallocate F
-GLIBC_2.12 _IO_file_finish F
-GLIBC_2.12 _IO_file_fopen F
-GLIBC_2.12 _IO_file_init F
-GLIBC_2.12 _IO_file_jumps D 0x54
-GLIBC_2.12 _IO_file_open F
-GLIBC_2.12 _IO_file_overflow F
-GLIBC_2.12 _IO_file_read F
-GLIBC_2.12 _IO_file_seek F
-GLIBC_2.12 _IO_file_seekoff F
-GLIBC_2.12 _IO_file_setbuf F
-GLIBC_2.12 _IO_file_stat F
-GLIBC_2.12 _IO_file_sync F
-GLIBC_2.12 _IO_file_underflow F
-GLIBC_2.12 _IO_file_write F
-GLIBC_2.12 _IO_file_xsputn F
-GLIBC_2.12 _IO_flockfile F
-GLIBC_2.12 _IO_flush_all F
-GLIBC_2.12 _IO_flush_all_linebuffered F
-GLIBC_2.12 _IO_fopen F
-GLIBC_2.12 _IO_fprintf F
-GLIBC_2.12 _IO_fputs F
-GLIBC_2.12 _IO_fread F
-GLIBC_2.12 _IO_free_backup_area F
-GLIBC_2.12 _IO_free_wbackup_area F
-GLIBC_2.12 _IO_fsetpos F
-GLIBC_2.12 _IO_fsetpos64 F
-GLIBC_2.12 _IO_ftell F
-GLIBC_2.12 _IO_ftrylockfile F
-GLIBC_2.12 _IO_funlockfile F
-GLIBC_2.12 _IO_fwrite F
-GLIBC_2.12 _IO_getc F
-GLIBC_2.12 _IO_getline F
-GLIBC_2.12 _IO_getline_info F
-GLIBC_2.12 _IO_gets F
-GLIBC_2.12 _IO_init F
-GLIBC_2.12 _IO_init_marker F
-GLIBC_2.12 _IO_init_wmarker F
-GLIBC_2.12 _IO_iter_begin F
-GLIBC_2.12 _IO_iter_end F
-GLIBC_2.12 _IO_iter_file F
-GLIBC_2.12 _IO_iter_next F
-GLIBC_2.12 _IO_least_wmarker F
-GLIBC_2.12 _IO_link_in F
-GLIBC_2.12 _IO_list_all D 0x4
-GLIBC_2.12 _IO_list_lock F
-GLIBC_2.12 _IO_list_resetlock F
-GLIBC_2.12 _IO_list_unlock F
-GLIBC_2.12 _IO_marker_delta F
-GLIBC_2.12 _IO_marker_difference F
-GLIBC_2.12 _IO_padn F
-GLIBC_2.12 _IO_peekc_locked F
-GLIBC_2.12 _IO_popen F
-GLIBC_2.12 _IO_printf F
-GLIBC_2.12 _IO_proc_close F
-GLIBC_2.12 _IO_proc_open F
-GLIBC_2.12 _IO_putc F
-GLIBC_2.12 _IO_puts F
-GLIBC_2.12 _IO_remove_marker F
-GLIBC_2.12 _IO_seekmark F
-GLIBC_2.12 _IO_seekoff F
-GLIBC_2.12 _IO_seekpos F
-GLIBC_2.12 _IO_seekwmark F
-GLIBC_2.12 _IO_setb F
-GLIBC_2.12 _IO_setbuffer F
-GLIBC_2.12 _IO_setvbuf F
-GLIBC_2.12 _IO_sgetn F
-GLIBC_2.12 _IO_sprintf F
-GLIBC_2.12 _IO_sputbackc F
-GLIBC_2.12 _IO_sputbackwc F
-GLIBC_2.12 _IO_sscanf F
-GLIBC_2.12 _IO_str_init_readonly F
-GLIBC_2.12 _IO_str_init_static F
-GLIBC_2.12 _IO_str_overflow F
-GLIBC_2.12 _IO_str_pbackfail F
-GLIBC_2.12 _IO_str_seekoff F
-GLIBC_2.12 _IO_str_underflow F
-GLIBC_2.12 _IO_sungetc F
-GLIBC_2.12 _IO_sungetwc F
-GLIBC_2.12 _IO_switch_to_get_mode F
-GLIBC_2.12 _IO_switch_to_main_wget_area F
-GLIBC_2.12 _IO_switch_to_wbackup_area F
-GLIBC_2.12 _IO_switch_to_wget_mode F
-GLIBC_2.12 _IO_un_link F
-GLIBC_2.12 _IO_ungetc F
-GLIBC_2.12 _IO_unsave_markers F
-GLIBC_2.12 _IO_unsave_wmarkers F
-GLIBC_2.12 _IO_vfprintf F
-GLIBC_2.12 _IO_vfscanf F
-GLIBC_2.12 _IO_vsprintf F
-GLIBC_2.12 _IO_wdefault_doallocate F
-GLIBC_2.12 _IO_wdefault_finish F
-GLIBC_2.12 _IO_wdefault_pbackfail F
-GLIBC_2.12 _IO_wdefault_uflow F
-GLIBC_2.12 _IO_wdefault_xsgetn F
-GLIBC_2.12 _IO_wdefault_xsputn F
-GLIBC_2.12 _IO_wdo_write F
-GLIBC_2.12 _IO_wdoallocbuf F
-GLIBC_2.12 _IO_wfile_jumps D 0x54
-GLIBC_2.12 _IO_wfile_overflow F
-GLIBC_2.12 _IO_wfile_seekoff F
-GLIBC_2.12 _IO_wfile_sync F
-GLIBC_2.12 _IO_wfile_underflow F
-GLIBC_2.12 _IO_wfile_xsputn F
-GLIBC_2.12 _IO_wmarker_delta F
-GLIBC_2.12 _IO_wsetb F
-GLIBC_2.12 ___brk_addr D 0x4
-GLIBC_2.12 __adjtimex F
-GLIBC_2.12 __after_morecore_hook D 0x4
-GLIBC_2.12 __argz_count F
-GLIBC_2.12 __argz_next F
-GLIBC_2.12 __argz_stringify F
-GLIBC_2.12 __asprintf F
-GLIBC_2.12 __asprintf_chk F
-GLIBC_2.12 __assert F
-GLIBC_2.12 __assert_fail F
-GLIBC_2.12 __assert_perror_fail F
-GLIBC_2.12 __backtrace F
-GLIBC_2.12 __backtrace_symbols F
-GLIBC_2.12 __backtrace_symbols_fd F
-GLIBC_2.12 __bsd_getpgrp F
-GLIBC_2.12 __bzero F
-GLIBC_2.12 __check_rhosts_file D 0x4
-GLIBC_2.12 __chk_fail F
-GLIBC_2.12 __clone F
-GLIBC_2.12 __close F
-GLIBC_2.12 __cmsg_nxthdr F
-GLIBC_2.12 __confstr_chk F
-GLIBC_2.12 __connect F
-GLIBC_2.12 __ctype_b_loc F
-GLIBC_2.12 __ctype_get_mb_cur_max F
-GLIBC_2.12 __ctype_tolower_loc F
-GLIBC_2.12 __ctype_toupper_loc F
-GLIBC_2.12 __curbrk D 0x4
-GLIBC_2.12 __cxa_at_quick_exit F
-GLIBC_2.12 __cxa_atexit F
-GLIBC_2.12 __cxa_finalize F
-GLIBC_2.12 __cyg_profile_func_enter F
-GLIBC_2.12 __cyg_profile_func_exit F
-GLIBC_2.12 __daylight D 0x4
-GLIBC_2.12 __dcgettext F
-GLIBC_2.12 __default_morecore F
-GLIBC_2.12 __dgettext F
-GLIBC_2.12 __dprintf_chk F
-GLIBC_2.12 __dup2 F
-GLIBC_2.12 __duplocale F
-GLIBC_2.12 __endmntent F
-GLIBC_2.12 __environ D 0x4
-GLIBC_2.12 __errno_location F
-GLIBC_2.12 __fbufsize F
-GLIBC_2.12 __fcntl F
-GLIBC_2.12 __ffs F
-GLIBC_2.12 __fgets_chk F
-GLIBC_2.12 __fgets_unlocked_chk F
-GLIBC_2.12 __fgetws_chk F
-GLIBC_2.12 __fgetws_unlocked_chk F
-GLIBC_2.12 __finite F
-GLIBC_2.12 __finitef F
-GLIBC_2.12 __flbf F
-GLIBC_2.12 __fork F
-GLIBC_2.12 __fpending F
-GLIBC_2.12 __fprintf_chk F
-GLIBC_2.12 __fpu_control D 0x4
-GLIBC_2.12 __fpurge F
-GLIBC_2.12 __fread_chk F
-GLIBC_2.12 __fread_unlocked_chk F
-GLIBC_2.12 __freadable F
-GLIBC_2.12 __freading F
-GLIBC_2.12 __free_hook D 0x4
-GLIBC_2.12 __freelocale F
-GLIBC_2.12 __fsetlocking F
-GLIBC_2.12 __fwprintf_chk F
-GLIBC_2.12 __fwritable F
-GLIBC_2.12 __fwriting F
-GLIBC_2.12 __fxstat F
-GLIBC_2.12 __fxstat64 F
-GLIBC_2.12 __fxstatat F
-GLIBC_2.12 __fxstatat64 F
-GLIBC_2.12 __getcwd_chk F
-GLIBC_2.12 __getdelim F
-GLIBC_2.12 __getdomainname_chk F
-GLIBC_2.12 __getgroups_chk F
-GLIBC_2.12 __gethostname_chk F
-GLIBC_2.12 __getlogin_r_chk F
-GLIBC_2.12 __getmntent_r F
-GLIBC_2.12 __getpagesize F
-GLIBC_2.12 __getpgid F
-GLIBC_2.12 __getpid F
-GLIBC_2.12 __gets_chk F
-GLIBC_2.12 __gettimeofday F
-GLIBC_2.12 __getwd_chk F
-GLIBC_2.12 __gmtime_r F
-GLIBC_2.12 __h_errno_location F
-GLIBC_2.12 __isalnum_l F
-GLIBC_2.12 __isalpha_l F
-GLIBC_2.12 __isascii_l F
-GLIBC_2.12 __isblank_l F
-GLIBC_2.12 __iscntrl_l F
-GLIBC_2.12 __isctype F
-GLIBC_2.12 __isdigit_l F
-GLIBC_2.12 __isgraph_l F
-GLIBC_2.12 __isinf F
-GLIBC_2.12 __isinff F
-GLIBC_2.12 __islower_l F
-GLIBC_2.12 __isnan F
-GLIBC_2.12 __isnanf F
-GLIBC_2.12 __isoc99_fscanf F
-GLIBC_2.12 __isoc99_fwscanf F
-GLIBC_2.12 __isoc99_scanf F
-GLIBC_2.12 __isoc99_sscanf F
-GLIBC_2.12 __isoc99_swscanf F
-GLIBC_2.12 __isoc99_vfscanf F
-GLIBC_2.12 __isoc99_vfwscanf F
-GLIBC_2.12 __isoc99_vscanf F
-GLIBC_2.12 __isoc99_vsscanf F
-GLIBC_2.12 __isoc99_vswscanf F
-GLIBC_2.12 __isoc99_vwscanf F
-GLIBC_2.12 __isoc99_wscanf F
-GLIBC_2.12 __isprint_l F
-GLIBC_2.12 __ispunct_l F
-GLIBC_2.12 __isspace_l F
-GLIBC_2.12 __isupper_l F
-GLIBC_2.12 __iswalnum_l F
-GLIBC_2.12 __iswalpha_l F
-GLIBC_2.12 __iswblank_l F
-GLIBC_2.12 __iswcntrl_l F
-GLIBC_2.12 __iswctype F
-GLIBC_2.12 __iswctype_l F
-GLIBC_2.12 __iswdigit_l F
-GLIBC_2.12 __iswgraph_l F
-GLIBC_2.12 __iswlower_l F
-GLIBC_2.12 __iswprint_l F
-GLIBC_2.12 __iswpunct_l F
-GLIBC_2.12 __iswspace_l F
-GLIBC_2.12 __iswupper_l F
-GLIBC_2.12 __iswxdigit_l F
-GLIBC_2.12 __isxdigit_l F
-GLIBC_2.12 __ivaliduser F
-GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x4
-GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x4
-GLIBC_2.12 __key_gendes_LOCAL D 0x4
-GLIBC_2.12 __libc_allocate_rtsig F
-GLIBC_2.12 __libc_calloc F
-GLIBC_2.12 __libc_current_sigrtmax F
-GLIBC_2.12 __libc_current_sigrtmin F
-GLIBC_2.12 __libc_free F
-GLIBC_2.12 __libc_freeres F
-GLIBC_2.12 __libc_init_first F
-GLIBC_2.12 __libc_mallinfo F
-GLIBC_2.12 __libc_malloc F
-GLIBC_2.12 __libc_mallopt F
-GLIBC_2.12 __libc_memalign F
-GLIBC_2.12 __libc_pvalloc F
-GLIBC_2.12 __libc_realloc F
-GLIBC_2.12 __libc_sa_len F
-GLIBC_2.12 __libc_start_main F
-GLIBC_2.12 __libc_valloc F
-GLIBC_2.12 __longjmp_chk F
-GLIBC_2.12 __lseek F
-GLIBC_2.12 __lxstat F
-GLIBC_2.12 __lxstat64 F
-GLIBC_2.12 __malloc_hook D 0x4
-GLIBC_2.12 __malloc_initialize_hook D 0x4
-GLIBC_2.12 __mbrlen F
-GLIBC_2.12 __mbrtowc F
-GLIBC_2.12 __mbsnrtowcs_chk F
-GLIBC_2.12 __mbsrtowcs_chk F
-GLIBC_2.12 __mbstowcs_chk F
-GLIBC_2.12 __mcount F
-GLIBC_2.12 __memalign_hook D 0x4
-GLIBC_2.12 __memcpy_chk F
-GLIBC_2.12 __memmove_chk F
-GLIBC_2.12 __mempcpy F
-GLIBC_2.12 __mempcpy_chk F
-GLIBC_2.12 __mempcpy_small F
-GLIBC_2.12 __memset_chk F
-GLIBC_2.12 __monstartup F
-GLIBC_2.12 __morecore D 0x4
-GLIBC_2.12 __nanosleep F
-GLIBC_2.12 __newlocale F
-GLIBC_2.12 __nl_langinfo_l F
-GLIBC_2.12 __nss_configure_lookup F
-GLIBC_2.12 __nss_database_lookup F
-GLIBC_2.12 __nss_group_lookup F
-GLIBC_2.12 __nss_hostname_digits_dots F
-GLIBC_2.12 __nss_hosts_lookup F
-GLIBC_2.12 __nss_next F
-GLIBC_2.12 __nss_passwd_lookup F
-GLIBC_2.12 __obstack_printf_chk F
-GLIBC_2.12 __obstack_vprintf_chk F
-GLIBC_2.12 __open F
-GLIBC_2.12 __open64 F
-GLIBC_2.12 __open64_2 F
-GLIBC_2.12 __open_2 F
-GLIBC_2.12 __openat64_2 F
-GLIBC_2.12 __openat_2 F
-GLIBC_2.12 __overflow F
-GLIBC_2.12 __pipe F
-GLIBC_2.12 __poll F
-GLIBC_2.12 __posix_getopt F
-GLIBC_2.12 __pread64 F
-GLIBC_2.12 __pread64_chk F
-GLIBC_2.12 __pread_chk F
-GLIBC_2.12 __printf_chk F
-GLIBC_2.12 __printf_fp F
-GLIBC_2.12 __profile_frequency F
-GLIBC_2.12 __progname D 0x4
-GLIBC_2.12 __progname_full D 0x4
-GLIBC_2.12 __ptsname_r_chk F
-GLIBC_2.12 __pwrite64 F
-GLIBC_2.12 __rawmemchr F
-GLIBC_2.12 __rcmd_errstr D 0x4
-GLIBC_2.12 __read F
-GLIBC_2.12 __read_chk F
-GLIBC_2.12 __readlink_chk F
-GLIBC_2.12 __readlinkat_chk F
-GLIBC_2.12 __realloc_hook D 0x4
-GLIBC_2.12 __realpath_chk F
-GLIBC_2.12 __recv_chk F
-GLIBC_2.12 __recvfrom_chk F
-GLIBC_2.12 __register_atfork F
-GLIBC_2.12 __res_init F
-GLIBC_2.12 __res_nclose F
-GLIBC_2.12 __res_ninit F
-GLIBC_2.12 __res_randomid F
-GLIBC_2.12 __res_state F
-GLIBC_2.12 __rpc_thread_createerr F
-GLIBC_2.12 __rpc_thread_svc_fdset F
-GLIBC_2.12 __rpc_thread_svc_max_pollfd F
-GLIBC_2.12 __rpc_thread_svc_pollfd F
-GLIBC_2.12 __sbrk F
-GLIBC_2.12 __sched_cpualloc F
-GLIBC_2.12 __sched_cpucount F
-GLIBC_2.12 __sched_cpufree F
-GLIBC_2.12 __sched_get_priority_max F
-GLIBC_2.12 __sched_get_priority_min F
-GLIBC_2.12 __sched_getparam F
-GLIBC_2.12 __sched_getscheduler F
-GLIBC_2.12 __sched_setscheduler F
-GLIBC_2.12 __sched_yield F
-GLIBC_2.12 __secure_getenv F
-GLIBC_2.12 __select F
-GLIBC_2.12 __setmntent F
-GLIBC_2.12 __setpgid F
-GLIBC_2.12 __sigaction F
-GLIBC_2.12 __sigaddset F
-GLIBC_2.12 __sigdelset F
-GLIBC_2.12 __sigismember F
-GLIBC_2.12 __signbit F
-GLIBC_2.12 __signbitf F
-GLIBC_2.12 __sigpause F
-GLIBC_2.12 __sigsetjmp F
-GLIBC_2.12 __sigsuspend F
-GLIBC_2.12 __snprintf_chk F
-GLIBC_2.12 __sprintf_chk F
-GLIBC_2.12 __stack_chk_fail F
-GLIBC_2.12 __statfs F
-GLIBC_2.12 __stpcpy F
-GLIBC_2.12 __stpcpy_chk F
-GLIBC_2.12 __stpcpy_small F
-GLIBC_2.12 __stpncpy F
-GLIBC_2.12 __stpncpy_chk F
-GLIBC_2.12 __strcasecmp F
-GLIBC_2.12 __strcasecmp_l F
-GLIBC_2.12 __strcasestr F
-GLIBC_2.12 __strcat_chk F
-GLIBC_2.12 __strcoll_l F
-GLIBC_2.12 __strcpy_chk F
-GLIBC_2.12 __strcpy_small F
-GLIBC_2.12 __strcspn_c1 F
-GLIBC_2.12 __strcspn_c2 F
-GLIBC_2.12 __strcspn_c3 F
-GLIBC_2.12 __strdup F
-GLIBC_2.12 __strerror_r F
-GLIBC_2.12 __strfmon_l F
-GLIBC_2.12 __strftime_l F
-GLIBC_2.12 __strncasecmp_l F
-GLIBC_2.12 __strncat_chk F
-GLIBC_2.12 __strncpy_chk F
-GLIBC_2.12 __strndup F
-GLIBC_2.12 __strpbrk_c2 F
-GLIBC_2.12 __strpbrk_c3 F
-GLIBC_2.12 __strsep_1c F
-GLIBC_2.12 __strsep_2c F
-GLIBC_2.12 __strsep_3c F
-GLIBC_2.12 __strsep_g F
-GLIBC_2.12 __strspn_c1 F
-GLIBC_2.12 __strspn_c2 F
-GLIBC_2.12 __strspn_c3 F
-GLIBC_2.12 __strtod_internal F
-GLIBC_2.12 __strtod_l F
-GLIBC_2.12 __strtof_internal F
-GLIBC_2.12 __strtof_l F
-GLIBC_2.12 __strtok_r F
-GLIBC_2.12 __strtok_r_1c F
-GLIBC_2.12 __strtol_internal F
-GLIBC_2.12 __strtol_l F
-GLIBC_2.12 __strtold_internal F
-GLIBC_2.12 __strtold_l F
-GLIBC_2.12 __strtoll_internal F
-GLIBC_2.12 __strtoll_l F
-GLIBC_2.12 __strtoul_internal F
-GLIBC_2.12 __strtoul_l F
-GLIBC_2.12 __strtoull_internal F
-GLIBC_2.12 __strtoull_l F
-GLIBC_2.12 __strverscmp F
-GLIBC_2.12 __strxfrm_l F
-GLIBC_2.12 __swprintf_chk F
-GLIBC_2.12 __sysconf F
-GLIBC_2.12 __syslog_chk F
-GLIBC_2.12 __sysv_signal F
-GLIBC_2.12 __timezone D 0x4
-GLIBC_2.12 __toascii_l F
-GLIBC_2.12 __tolower_l F
-GLIBC_2.12 __toupper_l F
-GLIBC_2.12 __towctrans F
-GLIBC_2.12 __towctrans_l F
-GLIBC_2.12 __towlower_l F
-GLIBC_2.12 __towupper_l F
-GLIBC_2.12 __ttyname_r_chk F
-GLIBC_2.12 __tzname D 0x8
-GLIBC_2.12 __uflow F
-GLIBC_2.12 __underflow F
-GLIBC_2.12 __uselocale F
-GLIBC_2.12 __vasprintf_chk F
-GLIBC_2.12 __vdprintf_chk F
-GLIBC_2.12 __vfork F
-GLIBC_2.12 __vfprintf_chk F
-GLIBC_2.12 __vfscanf F
-GLIBC_2.12 __vfwprintf_chk F
-GLIBC_2.12 __vprintf_chk F
-GLIBC_2.12 __vsnprintf F
-GLIBC_2.12 __vsnprintf_chk F
-GLIBC_2.12 __vsprintf_chk F
-GLIBC_2.12 __vsscanf F
-GLIBC_2.12 __vswprintf_chk F
-GLIBC_2.12 __vsyslog_chk F
-GLIBC_2.12 __vwprintf_chk F
-GLIBC_2.12 __wait F
-GLIBC_2.12 __waitpid F
-GLIBC_2.12 __wcpcpy_chk F
-GLIBC_2.12 __wcpncpy_chk F
-GLIBC_2.12 __wcrtomb_chk F
-GLIBC_2.12 __wcscasecmp_l F
-GLIBC_2.12 __wcscat_chk F
-GLIBC_2.12 __wcscoll_l F
-GLIBC_2.12 __wcscpy_chk F
-GLIBC_2.12 __wcsftime_l F
-GLIBC_2.12 __wcsncasecmp_l F
-GLIBC_2.12 __wcsncat_chk F
-GLIBC_2.12 __wcsncpy_chk F
-GLIBC_2.12 __wcsnrtombs_chk F
-GLIBC_2.12 __wcsrtombs_chk F
-GLIBC_2.12 __wcstod_internal F
-GLIBC_2.12 __wcstod_l F
-GLIBC_2.12 __wcstof_internal F
-GLIBC_2.12 __wcstof_l F
-GLIBC_2.12 __wcstol_internal F
-GLIBC_2.12 __wcstol_l F
-GLIBC_2.12 __wcstold_internal F
-GLIBC_2.12 __wcstold_l F
-GLIBC_2.12 __wcstoll_internal F
-GLIBC_2.12 __wcstoll_l F
-GLIBC_2.12 __wcstombs_chk F
-GLIBC_2.12 __wcstoul_internal F
-GLIBC_2.12 __wcstoul_l F
-GLIBC_2.12 __wcstoull_internal F
-GLIBC_2.12 __wcstoull_l F
-GLIBC_2.12 __wcsxfrm_l F
-GLIBC_2.12 __wctomb_chk F
-GLIBC_2.12 __wctrans_l F
-GLIBC_2.12 __wctype_l F
-GLIBC_2.12 __wmemcpy_chk F
-GLIBC_2.12 __wmemmove_chk F
-GLIBC_2.12 __wmempcpy_chk F
-GLIBC_2.12 __wmemset_chk F
-GLIBC_2.12 __woverflow F
-GLIBC_2.12 __wprintf_chk F
-GLIBC_2.12 __write F
-GLIBC_2.12 __wuflow F
-GLIBC_2.12 __wunderflow F
-GLIBC_2.12 __xmknod F
-GLIBC_2.12 __xmknodat F
-GLIBC_2.12 __xpg_basename F
-GLIBC_2.12 __xpg_sigpause F
-GLIBC_2.12 __xpg_strerror_r F
-GLIBC_2.12 __xstat F
-GLIBC_2.12 __xstat64 F
-GLIBC_2.12 _authenticate F
-GLIBC_2.12 _dl_mcount_wrapper F
-GLIBC_2.12 _dl_mcount_wrapper_check F
-GLIBC_2.12 _environ D 0x4
-GLIBC_2.12 _exit F
-GLIBC_2.12 _flush_cache F
-GLIBC_2.12 _flushlbf F
-GLIBC_2.12 _libc_intl_domainname D 0x5
-GLIBC_2.12 _longjmp F
-GLIBC_2.12 _mcleanup F
-GLIBC_2.12 _mcount F
-GLIBC_2.12 _nl_default_dirname D 0x12
-GLIBC_2.12 _nl_domain_bindings D 0x4
-GLIBC_2.12 _nl_msg_cat_cntr D 0x4
-GLIBC_2.12 _null_auth D 0xc
-GLIBC_2.12 _obstack_allocated_p F
-GLIBC_2.12 _obstack_begin F
-GLIBC_2.12 _obstack_begin_1 F
-GLIBC_2.12 _obstack_free F
-GLIBC_2.12 _obstack_memory_used F
-GLIBC_2.12 _obstack_newchunk F
-GLIBC_2.12 _res D 0x200
-GLIBC_2.12 _res_hconf D 0x30
-GLIBC_2.12 _rpc_dtablesize F
-GLIBC_2.12 _seterr_reply F
-GLIBC_2.12 _setjmp F
-GLIBC_2.12 _sys_errlist D 0x21c
-GLIBC_2.12 _sys_nerr D 0x4
-GLIBC_2.12 _sys_siglist D 0x104
-GLIBC_2.12 _tolower F
-GLIBC_2.12 _toupper F
-GLIBC_2.12 a64l F
-GLIBC_2.12 abort F
-GLIBC_2.12 abs F
-GLIBC_2.12 accept F
-GLIBC_2.12 accept4 F
-GLIBC_2.12 access F
-GLIBC_2.12 acct F
-GLIBC_2.12 addmntent F
-GLIBC_2.12 addseverity F
-GLIBC_2.12 adjtime F
-GLIBC_2.12 adjtimex F
-GLIBC_2.12 advance F
-GLIBC_2.12 alarm F
-GLIBC_2.12 alphasort F
-GLIBC_2.12 alphasort64 F
-GLIBC_2.12 argp_err_exit_status D 0x4
-GLIBC_2.12 argp_error F
-GLIBC_2.12 argp_failure F
-GLIBC_2.12 argp_help F
-GLIBC_2.12 argp_parse F
-GLIBC_2.12 argp_program_bug_address D 0x4
-GLIBC_2.12 argp_program_version D 0x4
-GLIBC_2.12 argp_program_version_hook D 0x4
-GLIBC_2.12 argp_state_help F
-GLIBC_2.12 argp_usage F
-GLIBC_2.12 argz_add F
-GLIBC_2.12 argz_add_sep F
-GLIBC_2.12 argz_append F
-GLIBC_2.12 argz_count F
-GLIBC_2.12 argz_create F
-GLIBC_2.12 argz_create_sep F
-GLIBC_2.12 argz_delete F
-GLIBC_2.12 argz_extract F
-GLIBC_2.12 argz_insert F
-GLIBC_2.12 argz_next F
-GLIBC_2.12 argz_replace F
-GLIBC_2.12 argz_stringify F
-GLIBC_2.12 asctime F
-GLIBC_2.12 asctime_r F
-GLIBC_2.12 asprintf F
-GLIBC_2.12 atof F
-GLIBC_2.12 atoi F
-GLIBC_2.12 atol F
-GLIBC_2.12 atoll F
-GLIBC_2.12 authdes_create F
-GLIBC_2.12 authdes_getucred F
-GLIBC_2.12 authdes_pk_create F
-GLIBC_2.12 authnone_create F
-GLIBC_2.12 authunix_create F
-GLIBC_2.12 authunix_create_default F
-GLIBC_2.12 backtrace F
-GLIBC_2.12 backtrace_symbols F
-GLIBC_2.12 backtrace_symbols_fd F
-GLIBC_2.12 basename F
-GLIBC_2.12 bcmp F
-GLIBC_2.12 bcopy F
-GLIBC_2.12 bdflush F
-GLIBC_2.12 bind F
-GLIBC_2.12 bind_textdomain_codeset F
-GLIBC_2.12 bindresvport F
-GLIBC_2.12 bindtextdomain F
-GLIBC_2.12 brk F
-GLIBC_2.12 bsd_signal F
-GLIBC_2.12 bsearch F
-GLIBC_2.12 btowc F
-GLIBC_2.12 bzero F
-GLIBC_2.12 cacheflush F
-GLIBC_2.12 calloc F
-GLIBC_2.12 callrpc F
-GLIBC_2.12 canonicalize_file_name F
-GLIBC_2.12 capget F
-GLIBC_2.12 capset F
-GLIBC_2.12 catclose F
-GLIBC_2.12 catgets F
-GLIBC_2.12 catopen F
-GLIBC_2.12 cbc_crypt F
-GLIBC_2.12 cfgetispeed F
-GLIBC_2.12 cfgetospeed F
-GLIBC_2.12 cfmakeraw F
-GLIBC_2.12 cfree F
-GLIBC_2.12 cfsetispeed F
-GLIBC_2.12 cfsetospeed F
-GLIBC_2.12 cfsetspeed F
-GLIBC_2.12 chdir F
-GLIBC_2.12 chflags F
-GLIBC_2.12 chmod F
-GLIBC_2.12 chown F
-GLIBC_2.12 chroot F
-GLIBC_2.12 clearenv F
-GLIBC_2.12 clearerr F
-GLIBC_2.12 clearerr_unlocked F
-GLIBC_2.12 clnt_broadcast F
-GLIBC_2.12 clnt_create F
-GLIBC_2.12 clnt_pcreateerror F
-GLIBC_2.12 clnt_perrno F
-GLIBC_2.12 clnt_perror F
-GLIBC_2.12 clnt_spcreateerror F
-GLIBC_2.12 clnt_sperrno F
-GLIBC_2.12 clnt_sperror F
-GLIBC_2.12 clntraw_create F
-GLIBC_2.12 clnttcp_create F
-GLIBC_2.12 clntudp_bufcreate F
-GLIBC_2.12 clntudp_create F
-GLIBC_2.12 clntunix_create F
-GLIBC_2.12 clock F
-GLIBC_2.12 clone F
-GLIBC_2.12 close F
-GLIBC_2.12 closedir F
-GLIBC_2.12 closelog F
-GLIBC_2.12 confstr F
-GLIBC_2.12 connect F
-GLIBC_2.12 copysign F
-GLIBC_2.12 copysignf F
-GLIBC_2.12 copysignl F
-GLIBC_2.12 creat F
-GLIBC_2.12 creat64 F
-GLIBC_2.12 create_module F
-GLIBC_2.12 ctermid F
-GLIBC_2.12 ctime F
-GLIBC_2.12 ctime_r F
-GLIBC_2.12 cuserid F
-GLIBC_2.12 daemon F
-GLIBC_2.12 daylight D 0x4
-GLIBC_2.12 dcgettext F
-GLIBC_2.12 dcngettext F
-GLIBC_2.12 delete_module F
-GLIBC_2.12 des_setparity F
-GLIBC_2.12 dgettext F
-GLIBC_2.12 difftime F
-GLIBC_2.12 dirfd F
-GLIBC_2.12 dirname F
-GLIBC_2.12 div F
-GLIBC_2.12 dl_iterate_phdr F
-GLIBC_2.12 dngettext F
-GLIBC_2.12 dprintf F
-GLIBC_2.12 drand48 F
-GLIBC_2.12 drand48_r F
-GLIBC_2.12 dup F
-GLIBC_2.12 dup2 F
-GLIBC_2.12 dup3 F
-GLIBC_2.12 duplocale F
-GLIBC_2.12 dysize F
-GLIBC_2.12 eaccess F
-GLIBC_2.12 ecb_crypt F
-GLIBC_2.12 ecvt F
-GLIBC_2.12 ecvt_r F
-GLIBC_2.12 endaliasent F
-GLIBC_2.12 endfsent F
-GLIBC_2.12 endgrent F
-GLIBC_2.12 endhostent F
-GLIBC_2.12 endmntent F
-GLIBC_2.12 endnetent F
-GLIBC_2.12 endnetgrent F
-GLIBC_2.12 endprotoent F
-GLIBC_2.12 endpwent F
-GLIBC_2.12 endrpcent F
-GLIBC_2.12 endservent F
-GLIBC_2.12 endsgent F
-GLIBC_2.12 endspent F
-GLIBC_2.12 endttyent F
-GLIBC_2.12 endusershell F
-GLIBC_2.12 endutent F
-GLIBC_2.12 endutxent F
-GLIBC_2.12 environ D 0x4
-GLIBC_2.12 envz_add F
-GLIBC_2.12 envz_entry F
-GLIBC_2.12 envz_get F
-GLIBC_2.12 envz_merge F
-GLIBC_2.12 envz_remove F
-GLIBC_2.12 envz_strip F
-GLIBC_2.12 epoll_create F
-GLIBC_2.12 epoll_create1 F
-GLIBC_2.12 epoll_ctl F
-GLIBC_2.12 epoll_pwait F
-GLIBC_2.12 epoll_wait F
-GLIBC_2.12 erand48 F
-GLIBC_2.12 erand48_r F
-GLIBC_2.12 err F
-GLIBC_2.12 error F
-GLIBC_2.12 error_at_line F
-GLIBC_2.12 error_message_count D 0x4
-GLIBC_2.12 error_one_per_line D 0x4
-GLIBC_2.12 error_print_progname D 0x4
-GLIBC_2.12 errx F
-GLIBC_2.12 ether_aton F
-GLIBC_2.12 ether_aton_r F
-GLIBC_2.12 ether_hostton F
-GLIBC_2.12 ether_line F
-GLIBC_2.12 ether_ntoa F
-GLIBC_2.12 ether_ntoa_r F
-GLIBC_2.12 ether_ntohost F
-GLIBC_2.12 euidaccess F
-GLIBC_2.12 eventfd F
-GLIBC_2.12 eventfd_read F
-GLIBC_2.12 eventfd_write F
-GLIBC_2.12 execl F
-GLIBC_2.12 execle F
-GLIBC_2.12 execlp F
-GLIBC_2.12 execv F
-GLIBC_2.12 execve F
-GLIBC_2.12 execvp F
-GLIBC_2.12 execvpe F
-GLIBC_2.12 exit F
-GLIBC_2.12 faccessat F
-GLIBC_2.12 fallocate F
-GLIBC_2.12 fallocate64 F
-GLIBC_2.12 fattach F
-GLIBC_2.12 fchdir F
-GLIBC_2.12 fchflags F
-GLIBC_2.12 fchmod F
-GLIBC_2.12 fchmodat F
-GLIBC_2.12 fchown F
-GLIBC_2.12 fchownat F
-GLIBC_2.12 fclose F
-GLIBC_2.12 fcloseall F
-GLIBC_2.12 fcntl F
-GLIBC_2.12 fcvt F
-GLIBC_2.12 fcvt_r F
-GLIBC_2.12 fdatasync F
-GLIBC_2.12 fdetach F
-GLIBC_2.12 fdopen F
-GLIBC_2.12 fdopendir F
-GLIBC_2.12 feof F
-GLIBC_2.12 feof_unlocked F
-GLIBC_2.12 ferror F
-GLIBC_2.12 ferror_unlocked F
-GLIBC_2.12 fexecve F
-GLIBC_2.12 fflush F
-GLIBC_2.12 fflush_unlocked F
-GLIBC_2.12 ffs F
-GLIBC_2.12 ffsl F
-GLIBC_2.12 ffsll F
-GLIBC_2.12 fgetc F
-GLIBC_2.12 fgetc_unlocked F
-GLIBC_2.12 fgetgrent F
-GLIBC_2.12 fgetgrent_r F
-GLIBC_2.12 fgetpos F
-GLIBC_2.12 fgetpos64 F
-GLIBC_2.12 fgetpwent F
-GLIBC_2.12 fgetpwent_r F
-GLIBC_2.12 fgets F
-GLIBC_2.12 fgets_unlocked F
-GLIBC_2.12 fgetsgent F
-GLIBC_2.12 fgetsgent_r F
-GLIBC_2.12 fgetspent F
-GLIBC_2.12 fgetspent_r F
-GLIBC_2.12 fgetwc F
-GLIBC_2.12 fgetwc_unlocked F
-GLIBC_2.12 fgetws F
-GLIBC_2.12 fgetws_unlocked F
-GLIBC_2.12 fgetxattr F
-GLIBC_2.12 fileno F
-GLIBC_2.12 fileno_unlocked F
-GLIBC_2.12 finite F
-GLIBC_2.12 finitef F
-GLIBC_2.12 finitel F
-GLIBC_2.12 flistxattr F
-GLIBC_2.12 flock F
-GLIBC_2.12 flockfile F
-GLIBC_2.12 fmemopen F
-GLIBC_2.12 fmtmsg F
-GLIBC_2.12 fnmatch F
-GLIBC_2.12 fopen F
-GLIBC_2.12 fopen64 F
-GLIBC_2.12 fopencookie F
-GLIBC_2.12 fork F
-GLIBC_2.12 fpathconf F
-GLIBC_2.12 fprintf F
-GLIBC_2.12 fputc F
-GLIBC_2.12 fputc_unlocked F
-GLIBC_2.12 fputs F
-GLIBC_2.12 fputs_unlocked F
-GLIBC_2.12 fputwc F
-GLIBC_2.12 fputwc_unlocked F
-GLIBC_2.12 fputws F
-GLIBC_2.12 fputws_unlocked F
-GLIBC_2.12 fread F
-GLIBC_2.12 fread_unlocked F
-GLIBC_2.12 free F
-GLIBC_2.12 freeaddrinfo F
-GLIBC_2.12 freeifaddrs F
-GLIBC_2.12 freelocale F
-GLIBC_2.12 fremovexattr F
-GLIBC_2.12 freopen F
-GLIBC_2.12 freopen64 F
-GLIBC_2.12 frexp F
-GLIBC_2.12 frexpf F
-GLIBC_2.12 frexpl F
-GLIBC_2.12 fscanf F
-GLIBC_2.12 fseek F
-GLIBC_2.12 fseeko F
-GLIBC_2.12 fseeko64 F
-GLIBC_2.12 fsetpos F
-GLIBC_2.12 fsetpos64 F
-GLIBC_2.12 fsetxattr F
-GLIBC_2.12 fstatfs F
-GLIBC_2.12 fstatfs64 F
-GLIBC_2.12 fstatvfs F
-GLIBC_2.12 fstatvfs64 F
-GLIBC_2.12 fsync F
-GLIBC_2.12 ftell F
-GLIBC_2.12 ftello F
-GLIBC_2.12 ftello64 F
-GLIBC_2.12 ftime F
-GLIBC_2.12 ftok F
-GLIBC_2.12 ftruncate F
-GLIBC_2.12 ftruncate64 F
-GLIBC_2.12 ftrylockfile F
-GLIBC_2.12 fts_children F
-GLIBC_2.12 fts_close F
-GLIBC_2.12 fts_open F
-GLIBC_2.12 fts_read F
-GLIBC_2.12 fts_set F
-GLIBC_2.12 ftw F
-GLIBC_2.12 ftw64 F
-GLIBC_2.12 funlockfile F
-GLIBC_2.12 futimens F
-GLIBC_2.12 futimes F
-GLIBC_2.12 futimesat F
-GLIBC_2.12 fwide F
-GLIBC_2.12 fwprintf F
-GLIBC_2.12 fwrite F
-GLIBC_2.12 fwrite_unlocked F
-GLIBC_2.12 fwscanf F
-GLIBC_2.12 gai_strerror F
-GLIBC_2.12 gcvt F
-GLIBC_2.12 get_avphys_pages F
-GLIBC_2.12 get_current_dir_name F
-GLIBC_2.12 get_kernel_syms F
-GLIBC_2.12 get_myaddress F
-GLIBC_2.12 get_nprocs F
-GLIBC_2.12 get_nprocs_conf F
-GLIBC_2.12 get_phys_pages F
-GLIBC_2.12 getaddrinfo F
-GLIBC_2.12 getaliasbyname F
-GLIBC_2.12 getaliasbyname_r F
-GLIBC_2.12 getaliasent F
-GLIBC_2.12 getaliasent_r F
-GLIBC_2.12 getc F
-GLIBC_2.12 getc_unlocked F
-GLIBC_2.12 getchar F
-GLIBC_2.12 getchar_unlocked F
-GLIBC_2.12 getcontext F
-GLIBC_2.12 getcwd F
-GLIBC_2.12 getdate F
-GLIBC_2.12 getdate_err D 0x4
-GLIBC_2.12 getdate_r F
-GLIBC_2.12 getdelim F
-GLIBC_2.12 getdirentries F
-GLIBC_2.12 getdirentries64 F
-GLIBC_2.12 getdomainname F
-GLIBC_2.12 getdtablesize F
-GLIBC_2.12 getegid F
-GLIBC_2.12 getenv F
-GLIBC_2.12 geteuid F
-GLIBC_2.12 getfsent F
-GLIBC_2.12 getfsfile F
-GLIBC_2.12 getfsspec F
-GLIBC_2.12 getgid F
-GLIBC_2.12 getgrent F
-GLIBC_2.12 getgrent_r F
-GLIBC_2.12 getgrgid F
-GLIBC_2.12 getgrgid_r F
-GLIBC_2.12 getgrnam F
-GLIBC_2.12 getgrnam_r F
-GLIBC_2.12 getgrouplist F
-GLIBC_2.12 getgroups F
-GLIBC_2.12 gethostbyaddr F
-GLIBC_2.12 gethostbyaddr_r F
-GLIBC_2.12 gethostbyname F
-GLIBC_2.12 gethostbyname2 F
-GLIBC_2.12 gethostbyname2_r F
-GLIBC_2.12 gethostbyname_r F
-GLIBC_2.12 gethostent F
-GLIBC_2.12 gethostent_r F
-GLIBC_2.12 gethostid F
-GLIBC_2.12 gethostname F
-GLIBC_2.12 getifaddrs F
-GLIBC_2.12 getipv4sourcefilter F
-GLIBC_2.12 getitimer F
-GLIBC_2.12 getline F
-GLIBC_2.12 getloadavg F
-GLIBC_2.12 getlogin F
-GLIBC_2.12 getlogin_r F
-GLIBC_2.12 getmntent F
-GLIBC_2.12 getmntent_r F
-GLIBC_2.12 getmsg F
-GLIBC_2.12 getnameinfo F
-GLIBC_2.12 getnetbyaddr F
-GLIBC_2.12 getnetbyaddr_r F
-GLIBC_2.12 getnetbyname F
-GLIBC_2.12 getnetbyname_r F
-GLIBC_2.12 getnetent F
-GLIBC_2.12 getnetent_r F
-GLIBC_2.12 getnetgrent F
-GLIBC_2.12 getnetgrent_r F
-GLIBC_2.12 getnetname F
-GLIBC_2.12 getopt F
-GLIBC_2.12 getopt_long F
-GLIBC_2.12 getopt_long_only F
-GLIBC_2.12 getpagesize F
-GLIBC_2.12 getpass F
-GLIBC_2.12 getpeername F
-GLIBC_2.12 getpgid F
-GLIBC_2.12 getpgrp F
-GLIBC_2.12 getpid F
-GLIBC_2.12 getpmsg F
-GLIBC_2.12 getppid F
-GLIBC_2.12 getpriority F
-GLIBC_2.12 getprotobyname F
-GLIBC_2.12 getprotobyname_r F
-GLIBC_2.12 getprotobynumber F
-GLIBC_2.12 getprotobynumber_r F
-GLIBC_2.12 getprotoent F
-GLIBC_2.12 getprotoent_r F
-GLIBC_2.12 getpt F
-GLIBC_2.12 getpublickey F
-GLIBC_2.12 getpw F
-GLIBC_2.12 getpwent F
-GLIBC_2.12 getpwent_r F
-GLIBC_2.12 getpwnam F
-GLIBC_2.12 getpwnam_r F
-GLIBC_2.12 getpwuid F
-GLIBC_2.12 getpwuid_r F
-GLIBC_2.12 getresgid F
-GLIBC_2.12 getresuid F
-GLIBC_2.12 getrlimit F
-GLIBC_2.12 getrlimit64 F
-GLIBC_2.12 getrpcbyname F
-GLIBC_2.12 getrpcbyname_r F
-GLIBC_2.12 getrpcbynumber F
-GLIBC_2.12 getrpcbynumber_r F
-GLIBC_2.12 getrpcent F
-GLIBC_2.12 getrpcent_r F
-GLIBC_2.12 getrpcport F
-GLIBC_2.12 getrusage F
-GLIBC_2.12 gets F
-GLIBC_2.12 getsecretkey F
-GLIBC_2.12 getservbyname F
-GLIBC_2.12 getservbyname_r F
-GLIBC_2.12 getservbyport F
-GLIBC_2.12 getservbyport_r F
-GLIBC_2.12 getservent F
-GLIBC_2.12 getservent_r F
-GLIBC_2.12 getsgent F
-GLIBC_2.12 getsgent_r F
-GLIBC_2.12 getsgnam F
-GLIBC_2.12 getsgnam_r F
-GLIBC_2.12 getsid F
-GLIBC_2.12 getsockname F
-GLIBC_2.12 getsockopt F
-GLIBC_2.12 getsourcefilter F
-GLIBC_2.12 getspent F
-GLIBC_2.12 getspent_r F
-GLIBC_2.12 getspnam F
-GLIBC_2.12 getspnam_r F
-GLIBC_2.12 getsubopt F
-GLIBC_2.12 gettext F
-GLIBC_2.12 gettimeofday F
-GLIBC_2.12 getttyent F
-GLIBC_2.12 getttynam F
-GLIBC_2.12 getuid F
-GLIBC_2.12 getusershell F
-GLIBC_2.12 getutent F
-GLIBC_2.12 getutent_r F
-GLIBC_2.12 getutid F
-GLIBC_2.12 getutid_r F
-GLIBC_2.12 getutline F
-GLIBC_2.12 getutline_r F
-GLIBC_2.12 getutmp F
-GLIBC_2.12 getutmpx F
-GLIBC_2.12 getutxent F
-GLIBC_2.12 getutxid F
-GLIBC_2.12 getutxline F
-GLIBC_2.12 getw F
-GLIBC_2.12 getwc F
-GLIBC_2.12 getwc_unlocked F
-GLIBC_2.12 getwchar F
-GLIBC_2.12 getwchar_unlocked F
-GLIBC_2.12 getwd F
-GLIBC_2.12 getxattr F
-GLIBC_2.12 glob F
-GLIBC_2.12 glob64 F
-GLIBC_2.12 glob_pattern_p F
-GLIBC_2.12 globfree F
-GLIBC_2.12 globfree64 F
-GLIBC_2.12 gmtime F
-GLIBC_2.12 gmtime_r F
-GLIBC_2.12 gnu_dev_major F
-GLIBC_2.12 gnu_dev_makedev F
-GLIBC_2.12 gnu_dev_minor F
-GLIBC_2.12 gnu_get_libc_release F
-GLIBC_2.12 gnu_get_libc_version F
-GLIBC_2.12 grantpt F
-GLIBC_2.12 group_member F
-GLIBC_2.12 gsignal F
-GLIBC_2.12 gtty F
-GLIBC_2.12 h_errlist D 0x14
-GLIBC_2.12 h_nerr D 0x4
-GLIBC_2.12 hasmntopt F
-GLIBC_2.12 hcreate F
-GLIBC_2.12 hcreate_r F
-GLIBC_2.12 hdestroy F
-GLIBC_2.12 hdestroy_r F
-GLIBC_2.12 herror F
-GLIBC_2.12 host2netname F
-GLIBC_2.12 hsearch F
-GLIBC_2.12 hsearch_r F
-GLIBC_2.12 hstrerror F
-GLIBC_2.12 htonl F
-GLIBC_2.12 htons F
-GLIBC_2.12 iconv F
-GLIBC_2.12 iconv_close F
-GLIBC_2.12 iconv_open F
-GLIBC_2.12 if_freenameindex F
-GLIBC_2.12 if_indextoname F
-GLIBC_2.12 if_nameindex F
-GLIBC_2.12 if_nametoindex F
-GLIBC_2.12 imaxabs F
-GLIBC_2.12 imaxdiv F
-GLIBC_2.12 in6addr_any D 0x10
-GLIBC_2.12 in6addr_loopback D 0x10
-GLIBC_2.12 index F
-GLIBC_2.12 inet6_opt_append F
-GLIBC_2.12 inet6_opt_find F
-GLIBC_2.12 inet6_opt_finish F
-GLIBC_2.12 inet6_opt_get_val F
-GLIBC_2.12 inet6_opt_init F
-GLIBC_2.12 inet6_opt_next F
-GLIBC_2.12 inet6_opt_set_val F
-GLIBC_2.12 inet6_option_alloc F
-GLIBC_2.12 inet6_option_append F
-GLIBC_2.12 inet6_option_find F
-GLIBC_2.12 inet6_option_init F
-GLIBC_2.12 inet6_option_next F
-GLIBC_2.12 inet6_option_space F
-GLIBC_2.12 inet6_rth_add F
-GLIBC_2.12 inet6_rth_getaddr F
-GLIBC_2.12 inet6_rth_init F
-GLIBC_2.12 inet6_rth_reverse F
-GLIBC_2.12 inet6_rth_segments F
-GLIBC_2.12 inet6_rth_space F
-GLIBC_2.12 inet_addr F
-GLIBC_2.12 inet_aton F
-GLIBC_2.12 inet_lnaof F
-GLIBC_2.12 inet_makeaddr F
-GLIBC_2.12 inet_netof F
-GLIBC_2.12 inet_network F
-GLIBC_2.12 inet_nsap_addr F
-GLIBC_2.12 inet_nsap_ntoa F
-GLIBC_2.12 inet_ntoa F
-GLIBC_2.12 inet_ntop F
-GLIBC_2.12 inet_pton F
-GLIBC_2.12 init_module F
-GLIBC_2.12 initgroups F
-GLIBC_2.12 initstate F
-GLIBC_2.12 initstate_r F
-GLIBC_2.12 innetgr F
-GLIBC_2.12 inotify_add_watch F
-GLIBC_2.12 inotify_init F
-GLIBC_2.12 inotify_init1 F
-GLIBC_2.12 inotify_rm_watch F
-GLIBC_2.12 insque F
-GLIBC_2.12 ioctl F
-GLIBC_2.12 iruserok F
-GLIBC_2.12 iruserok_af F
-GLIBC_2.12 isalnum F
-GLIBC_2.12 isalnum_l F
-GLIBC_2.12 isalpha F
-GLIBC_2.12 isalpha_l F
-GLIBC_2.12 isascii F
-GLIBC_2.12 isastream F
-GLIBC_2.12 isatty F
-GLIBC_2.12 isblank F
-GLIBC_2.12 isblank_l F
-GLIBC_2.12 iscntrl F
-GLIBC_2.12 iscntrl_l F
-GLIBC_2.12 isctype F
-GLIBC_2.12 isdigit F
-GLIBC_2.12 isdigit_l F
-GLIBC_2.12 isfdtype F
-GLIBC_2.12 isgraph F
-GLIBC_2.12 isgraph_l F
-GLIBC_2.12 isinf F
-GLIBC_2.12 isinff F
-GLIBC_2.12 isinfl F
-GLIBC_2.12 islower F
-GLIBC_2.12 islower_l F
-GLIBC_2.12 isnan F
-GLIBC_2.12 isnanf F
-GLIBC_2.12 isnanl F
-GLIBC_2.12 isprint F
-GLIBC_2.12 isprint_l F
-GLIBC_2.12 ispunct F
-GLIBC_2.12 ispunct_l F
-GLIBC_2.12 isspace F
-GLIBC_2.12 isspace_l F
-GLIBC_2.12 isupper F
-GLIBC_2.12 isupper_l F
-GLIBC_2.12 iswalnum F
-GLIBC_2.12 iswalnum_l F
-GLIBC_2.12 iswalpha F
-GLIBC_2.12 iswalpha_l F
-GLIBC_2.12 iswblank F
-GLIBC_2.12 iswblank_l F
-GLIBC_2.12 iswcntrl F
-GLIBC_2.12 iswcntrl_l F
-GLIBC_2.12 iswctype F
-GLIBC_2.12 iswctype_l F
-GLIBC_2.12 iswdigit F
-GLIBC_2.12 iswdigit_l F
-GLIBC_2.12 iswgraph F
-GLIBC_2.12 iswgraph_l F
-GLIBC_2.12 iswlower F
-GLIBC_2.12 iswlower_l F
-GLIBC_2.12 iswprint F
-GLIBC_2.12 iswprint_l F
-GLIBC_2.12 iswpunct F
-GLIBC_2.12 iswpunct_l F
-GLIBC_2.12 iswspace F
-GLIBC_2.12 iswspace_l F
-GLIBC_2.12 iswupper F
-GLIBC_2.12 iswupper_l F
-GLIBC_2.12 iswxdigit F
-GLIBC_2.12 iswxdigit_l F
-GLIBC_2.12 isxdigit F
-GLIBC_2.12 isxdigit_l F
-GLIBC_2.12 jrand48 F
-GLIBC_2.12 jrand48_r F
-GLIBC_2.12 key_decryptsession F
-GLIBC_2.12 key_decryptsession_pk F
-GLIBC_2.12 key_encryptsession F
-GLIBC_2.12 key_encryptsession_pk F
-GLIBC_2.12 key_gendes F
-GLIBC_2.12 key_get_conv F
-GLIBC_2.12 key_secretkey_is_set F
-GLIBC_2.12 key_setnet F
-GLIBC_2.12 key_setsecret F
-GLIBC_2.12 kill F
-GLIBC_2.12 killpg F
-GLIBC_2.12 klogctl F
-GLIBC_2.12 l64a F
-GLIBC_2.12 labs F
-GLIBC_2.12 lchmod F
-GLIBC_2.12 lchown F
-GLIBC_2.12 lckpwdf F
-GLIBC_2.12 lcong48 F
-GLIBC_2.12 lcong48_r F
-GLIBC_2.12 ldexp F
-GLIBC_2.12 ldexpf F
-GLIBC_2.12 ldexpl F
-GLIBC_2.12 ldiv F
-GLIBC_2.12 lfind F
-GLIBC_2.12 lgetxattr F
-GLIBC_2.12 link F
-GLIBC_2.12 linkat F
-GLIBC_2.12 listen F
-GLIBC_2.12 listxattr F
-GLIBC_2.12 llabs F
-GLIBC_2.12 lldiv F
-GLIBC_2.12 llistxattr F
-GLIBC_2.12 llseek F
-GLIBC_2.12 loc1 D 0x4
-GLIBC_2.12 loc2 D 0x4
-GLIBC_2.12 localeconv F
-GLIBC_2.12 localtime F
-GLIBC_2.12 localtime_r F
-GLIBC_2.12 lockf F
-GLIBC_2.12 lockf64 F
-GLIBC_2.12 locs D 0x4
-GLIBC_2.12 longjmp F
-GLIBC_2.12 lrand48 F
-GLIBC_2.12 lrand48_r F
-GLIBC_2.12 lremovexattr F
-GLIBC_2.12 lsearch F
-GLIBC_2.12 lseek F
-GLIBC_2.12 lseek64 F
-GLIBC_2.12 lsetxattr F
-GLIBC_2.12 lutimes F
-GLIBC_2.12 madvise F
-GLIBC_2.12 makecontext F
-GLIBC_2.12 mallinfo F
-GLIBC_2.12 malloc F
-GLIBC_2.12 malloc_get_state F
-GLIBC_2.12 malloc_info F
-GLIBC_2.12 malloc_set_state F
-GLIBC_2.12 malloc_stats F
-GLIBC_2.12 malloc_trim F
-GLIBC_2.12 malloc_usable_size F
-GLIBC_2.12 mallopt F
-GLIBC_2.12 mallwatch D 0x4
-GLIBC_2.12 mblen F
-GLIBC_2.12 mbrlen F
-GLIBC_2.12 mbrtowc F
-GLIBC_2.12 mbsinit F
-GLIBC_2.12 mbsnrtowcs F
-GLIBC_2.12 mbsrtowcs F
-GLIBC_2.12 mbstowcs F
-GLIBC_2.12 mbtowc F
-GLIBC_2.12 mcheck F
-GLIBC_2.12 mcheck_check_all F
-GLIBC_2.12 mcheck_pedantic F
-GLIBC_2.12 mcount F
-GLIBC_2.12 memalign F
-GLIBC_2.12 memccpy F
-GLIBC_2.12 memchr F
-GLIBC_2.12 memcmp F
-GLIBC_2.12 memcpy F
-GLIBC_2.12 memfrob F
-GLIBC_2.12 memmem F
-GLIBC_2.12 memmove F
-GLIBC_2.12 mempcpy F
-GLIBC_2.12 memrchr F
-GLIBC_2.12 memset F
-GLIBC_2.12 mincore F
-GLIBC_2.12 mkdir F
-GLIBC_2.12 mkdirat F
-GLIBC_2.12 mkdtemp F
-GLIBC_2.12 mkfifo F
-GLIBC_2.12 mkfifoat F
-GLIBC_2.12 mkostemp F
-GLIBC_2.12 mkostemp64 F
-GLIBC_2.12 mkostemps F
-GLIBC_2.12 mkostemps64 F
-GLIBC_2.12 mkstemp F
-GLIBC_2.12 mkstemp64 F
-GLIBC_2.12 mkstemps F
-GLIBC_2.12 mkstemps64 F
-GLIBC_2.12 mktemp F
-GLIBC_2.12 mktime F
-GLIBC_2.12 mlock F
-GLIBC_2.12 mlockall F
-GLIBC_2.12 mmap F
-GLIBC_2.12 mmap64 F
-GLIBC_2.12 modf F
-GLIBC_2.12 modff F
-GLIBC_2.12 modfl F
-GLIBC_2.12 moncontrol F
-GLIBC_2.12 monstartup F
-GLIBC_2.12 mount F
-GLIBC_2.12 mprobe F
-GLIBC_2.12 mprotect F
-GLIBC_2.12 mrand48 F
-GLIBC_2.12 mrand48_r F
-GLIBC_2.12 mremap F
-GLIBC_2.12 msgctl F
-GLIBC_2.12 msgget F
-GLIBC_2.12 msgrcv F
-GLIBC_2.12 msgsnd F
-GLIBC_2.12 msync F
-GLIBC_2.12 mtrace F
-GLIBC_2.12 munlock F
-GLIBC_2.12 munlockall F
-GLIBC_2.12 munmap F
-GLIBC_2.12 muntrace F
-GLIBC_2.12 nanosleep F
-GLIBC_2.12 netname2host F
-GLIBC_2.12 netname2user F
-GLIBC_2.12 newlocale F
-GLIBC_2.12 nfsservctl F
-GLIBC_2.12 nftw F
-GLIBC_2.12 nftw64 F
-GLIBC_2.12 ngettext F
-GLIBC_2.12 nice F
-GLIBC_2.12 nl_langinfo F
-GLIBC_2.12 nl_langinfo_l F
-GLIBC_2.12 nrand48 F
-GLIBC_2.12 nrand48_r F
-GLIBC_2.12 ntohl F
-GLIBC_2.12 ntohs F
-GLIBC_2.12 ntp_adjtime F
-GLIBC_2.12 ntp_gettime F
-GLIBC_2.12 ntp_gettimex F
-GLIBC_2.12 obstack_alloc_failed_handler D 0x4
-GLIBC_2.12 obstack_exit_failure D 0x4
-GLIBC_2.12 obstack_free F
-GLIBC_2.12 obstack_printf F
-GLIBC_2.12 obstack_vprintf F
-GLIBC_2.12 on_exit F
-GLIBC_2.12 open F
-GLIBC_2.12 open64 F
-GLIBC_2.12 open_memstream F
-GLIBC_2.12 open_wmemstream F
-GLIBC_2.12 openat F
-GLIBC_2.12 openat64 F
-GLIBC_2.12 opendir F
-GLIBC_2.12 openlog F
-GLIBC_2.12 optarg D 0x4
-GLIBC_2.12 opterr D 0x4
-GLIBC_2.12 optind D 0x4
-GLIBC_2.12 optopt D 0x4
-GLIBC_2.12 parse_printf_format F
-GLIBC_2.12 passwd2des F
-GLIBC_2.12 pathconf F
-GLIBC_2.12 pause F
-GLIBC_2.12 pclose F
-GLIBC_2.12 perror F
-GLIBC_2.12 personality F
-GLIBC_2.12 pipe F
-GLIBC_2.12 pipe2 F
-GLIBC_2.12 pivot_root F
-GLIBC_2.12 pmap_getmaps F
-GLIBC_2.12 pmap_getport F
-GLIBC_2.12 pmap_rmtcall F
-GLIBC_2.12 pmap_set F
-GLIBC_2.12 pmap_unset F
-GLIBC_2.12 poll F
-GLIBC_2.12 popen F
-GLIBC_2.12 posix_fadvise F
-GLIBC_2.12 posix_fadvise64 F
-GLIBC_2.12 posix_fallocate F
-GLIBC_2.12 posix_fallocate64 F
-GLIBC_2.12 posix_madvise F
-GLIBC_2.12 posix_memalign F
-GLIBC_2.12 posix_openpt F
-GLIBC_2.12 posix_spawn F
-GLIBC_2.12 posix_spawn_file_actions_addclose F
-GLIBC_2.12 posix_spawn_file_actions_adddup2 F
-GLIBC_2.12 posix_spawn_file_actions_addopen F
-GLIBC_2.12 posix_spawn_file_actions_destroy F
-GLIBC_2.12 posix_spawn_file_actions_init F
-GLIBC_2.12 posix_spawnattr_destroy F
-GLIBC_2.12 posix_spawnattr_getflags F
-GLIBC_2.12 posix_spawnattr_getpgroup F
-GLIBC_2.12 posix_spawnattr_getschedparam F
-GLIBC_2.12 posix_spawnattr_getschedpolicy F
-GLIBC_2.12 posix_spawnattr_getsigdefault F
-GLIBC_2.12 posix_spawnattr_getsigmask F
-GLIBC_2.12 posix_spawnattr_init F
-GLIBC_2.12 posix_spawnattr_setflags F
-GLIBC_2.12 posix_spawnattr_setpgroup F
-GLIBC_2.12 posix_spawnattr_setschedparam F
-GLIBC_2.12 posix_spawnattr_setschedpolicy F
-GLIBC_2.12 posix_spawnattr_setsigdefault F
-GLIBC_2.12 posix_spawnattr_setsigmask F
-GLIBC_2.12 posix_spawnp F
-GLIBC_2.12 ppoll F
-GLIBC_2.12 prctl F
-GLIBC_2.12 pread F
-GLIBC_2.12 pread64 F
-GLIBC_2.12 preadv F
-GLIBC_2.12 preadv64 F
-GLIBC_2.12 printf F
-GLIBC_2.12 printf_size F
-GLIBC_2.12 printf_size_info F
-GLIBC_2.12 profil F
-GLIBC_2.12 program_invocation_name D 0x4
-GLIBC_2.12 program_invocation_short_name D 0x4
-GLIBC_2.12 pselect F
-GLIBC_2.12 psiginfo F
-GLIBC_2.12 psignal F
-GLIBC_2.12 pthread_attr_destroy F
-GLIBC_2.12 pthread_attr_getdetachstate F
-GLIBC_2.12 pthread_attr_getinheritsched F
-GLIBC_2.12 pthread_attr_getschedparam F
-GLIBC_2.12 pthread_attr_getschedpolicy F
-GLIBC_2.12 pthread_attr_getscope F
-GLIBC_2.12 pthread_attr_init F
-GLIBC_2.12 pthread_attr_setdetachstate F
-GLIBC_2.12 pthread_attr_setinheritsched F
-GLIBC_2.12 pthread_attr_setschedparam F
-GLIBC_2.12 pthread_attr_setschedpolicy F
-GLIBC_2.12 pthread_attr_setscope F
-GLIBC_2.12 pthread_cond_broadcast F
-GLIBC_2.12 pthread_cond_destroy F
-GLIBC_2.12 pthread_cond_init F
-GLIBC_2.12 pthread_cond_signal F
-GLIBC_2.12 pthread_cond_timedwait F
-GLIBC_2.12 pthread_cond_wait F
-GLIBC_2.12 pthread_condattr_destroy F
-GLIBC_2.12 pthread_condattr_init F
-GLIBC_2.12 pthread_equal F
-GLIBC_2.12 pthread_exit F
-GLIBC_2.12 pthread_getschedparam F
-GLIBC_2.12 pthread_mutex_destroy F
-GLIBC_2.12 pthread_mutex_init F
-GLIBC_2.12 pthread_mutex_lock F
-GLIBC_2.12 pthread_mutex_unlock F
-GLIBC_2.12 pthread_self F
-GLIBC_2.12 pthread_setcancelstate F
-GLIBC_2.12 pthread_setcanceltype F
-GLIBC_2.12 pthread_setschedparam F
-GLIBC_2.12 ptrace F
-GLIBC_2.12 ptsname F
-GLIBC_2.12 ptsname_r F
-GLIBC_2.12 putc F
-GLIBC_2.12 putc_unlocked F
-GLIBC_2.12 putchar F
-GLIBC_2.12 putchar_unlocked F
-GLIBC_2.12 putenv F
-GLIBC_2.12 putgrent F
-GLIBC_2.12 putmsg F
-GLIBC_2.12 putpmsg F
-GLIBC_2.12 putpwent F
-GLIBC_2.12 puts F
-GLIBC_2.12 putsgent F
-GLIBC_2.12 putspent F
-GLIBC_2.12 pututline F
-GLIBC_2.12 pututxline F
-GLIBC_2.12 putw F
-GLIBC_2.12 putwc F
-GLIBC_2.12 putwc_unlocked F
-GLIBC_2.12 putwchar F
-GLIBC_2.12 putwchar_unlocked F
-GLIBC_2.12 pvalloc F
-GLIBC_2.12 pwrite F
-GLIBC_2.12 pwrite64 F
-GLIBC_2.12 pwritev F
-GLIBC_2.12 pwritev64 F
-GLIBC_2.12 qecvt F
-GLIBC_2.12 qecvt_r F
-GLIBC_2.12 qfcvt F
-GLIBC_2.12 qfcvt_r F
-GLIBC_2.12 qgcvt F
-GLIBC_2.12 qsort F
-GLIBC_2.12 qsort_r F
-GLIBC_2.12 query_module F
-GLIBC_2.12 quick_exit F
-GLIBC_2.12 quotactl F
-GLIBC_2.12 raise F
-GLIBC_2.12 rand F
-GLIBC_2.12 rand_r F
-GLIBC_2.12 random F
-GLIBC_2.12 random_r F
-GLIBC_2.12 rawmemchr F
-GLIBC_2.12 rcmd F
-GLIBC_2.12 rcmd_af F
-GLIBC_2.12 re_comp F
-GLIBC_2.12 re_compile_fastmap F
-GLIBC_2.12 re_compile_pattern F
-GLIBC_2.12 re_exec F
-GLIBC_2.12 re_match F
-GLIBC_2.12 re_match_2 F
-GLIBC_2.12 re_search F
-GLIBC_2.12 re_search_2 F
-GLIBC_2.12 re_set_registers F
-GLIBC_2.12 re_set_syntax F
-GLIBC_2.12 re_syntax_options D 0x4
-GLIBC_2.12 read F
-GLIBC_2.12 readahead F
-GLIBC_2.12 readdir F
-GLIBC_2.12 readdir64 F
-GLIBC_2.12 readdir64_r F
-GLIBC_2.12 readdir_r F
-GLIBC_2.12 readlink F
-GLIBC_2.12 readlinkat F
-GLIBC_2.12 readv F
-GLIBC_2.12 realloc F
-GLIBC_2.12 realpath F
-GLIBC_2.12 reboot F
-GLIBC_2.12 recv F
-GLIBC_2.12 recvfrom F
-GLIBC_2.12 recvmmsg F
-GLIBC_2.12 recvmsg F
-GLIBC_2.12 regcomp F
-GLIBC_2.12 regerror F
-GLIBC_2.12 regexec F
-GLIBC_2.12 regfree F
-GLIBC_2.12 register_printf_function F
-GLIBC_2.12 register_printf_modifier F
-GLIBC_2.12 register_printf_specifier F
-GLIBC_2.12 register_printf_type F
-GLIBC_2.12 registerrpc F
-GLIBC_2.12 remap_file_pages F
-GLIBC_2.12 remove F
-GLIBC_2.12 removexattr F
-GLIBC_2.12 remque F
-GLIBC_2.12 rename F
-GLIBC_2.12 renameat F
-GLIBC_2.12 revoke F
-GLIBC_2.12 rewind F
-GLIBC_2.12 rewinddir F
-GLIBC_2.12 rexec F
-GLIBC_2.12 rexec_af F
-GLIBC_2.12 rexecoptions D 0x4
-GLIBC_2.12 rindex F
-GLIBC_2.12 rmdir F
-GLIBC_2.12 rpc_createerr D 0x10
-GLIBC_2.12 rpmatch F
-GLIBC_2.12 rresvport F
-GLIBC_2.12 rresvport_af F
-GLIBC_2.12 rtime F
-GLIBC_2.12 ruserok F
-GLIBC_2.12 ruserok_af F
-GLIBC_2.12 ruserpass F
-GLIBC_2.12 sbrk F
-GLIBC_2.12 scalbn F
-GLIBC_2.12 scalbnf F
-GLIBC_2.12 scalbnl F
-GLIBC_2.12 scandir F
-GLIBC_2.12 scandir64 F
-GLIBC_2.12 scanf F
-GLIBC_2.12 sched_get_priority_max F
-GLIBC_2.12 sched_get_priority_min F
-GLIBC_2.12 sched_getaffinity F
-GLIBC_2.12 sched_getcpu F
-GLIBC_2.12 sched_getparam F
-GLIBC_2.12 sched_getscheduler F
-GLIBC_2.12 sched_rr_get_interval F
-GLIBC_2.12 sched_setaffinity F
-GLIBC_2.12 sched_setparam F
-GLIBC_2.12 sched_setscheduler F
-GLIBC_2.12 sched_yield F
-GLIBC_2.12 seed48 F
-GLIBC_2.12 seed48_r F
-GLIBC_2.12 seekdir F
-GLIBC_2.12 select F
-GLIBC_2.12 semctl F
-GLIBC_2.12 semget F
-GLIBC_2.12 semop F
-GLIBC_2.12 semtimedop F
-GLIBC_2.12 send F
-GLIBC_2.12 sendfile F
-GLIBC_2.12 sendfile64 F
-GLIBC_2.12 sendmsg F
-GLIBC_2.12 sendto F
-GLIBC_2.12 set_dataplane F
-GLIBC_2.12 setaliasent F
-GLIBC_2.12 setbuf F
-GLIBC_2.12 setbuffer F
-GLIBC_2.12 setcontext F
-GLIBC_2.12 setdomainname F
-GLIBC_2.12 setegid F
-GLIBC_2.12 setenv F
-GLIBC_2.12 seteuid F
-GLIBC_2.12 setfsent F
-GLIBC_2.12 setfsgid F
-GLIBC_2.12 setfsuid F
-GLIBC_2.12 setgid F
-GLIBC_2.12 setgrent F
-GLIBC_2.12 setgroups F
-GLIBC_2.12 sethostent F
-GLIBC_2.12 sethostid F
-GLIBC_2.12 sethostname F
-GLIBC_2.12 setipv4sourcefilter F
-GLIBC_2.12 setitimer F
-GLIBC_2.12 setjmp F
-GLIBC_2.12 setlinebuf F
-GLIBC_2.12 setlocale F
-GLIBC_2.12 setlogin F
-GLIBC_2.12 setlogmask F
-GLIBC_2.12 setmntent F
-GLIBC_2.12 setnetent F
-GLIBC_2.12 setnetgrent F
-GLIBC_2.12 setpgid F
-GLIBC_2.12 setpgrp F
-GLIBC_2.12 setpriority F
-GLIBC_2.12 setprotoent F
-GLIBC_2.12 setpwent F
-GLIBC_2.12 setregid F
-GLIBC_2.12 setresgid F
-GLIBC_2.12 setresuid F
-GLIBC_2.12 setreuid F
-GLIBC_2.12 setrlimit F
-GLIBC_2.12 setrlimit64 F
-GLIBC_2.12 setrpcent F
-GLIBC_2.12 setservent F
-GLIBC_2.12 setsgent F
-GLIBC_2.12 setsid F
-GLIBC_2.12 setsockopt F
-GLIBC_2.12 setsourcefilter F
-GLIBC_2.12 setspent F
-GLIBC_2.12 setstate F
-GLIBC_2.12 setstate_r F
-GLIBC_2.12 settimeofday F
-GLIBC_2.12 setttyent F
-GLIBC_2.12 setuid F
-GLIBC_2.12 setusershell F
-GLIBC_2.12 setutent F
-GLIBC_2.12 setutxent F
-GLIBC_2.12 setvbuf F
-GLIBC_2.12 setxattr F
-GLIBC_2.12 sgetsgent F
-GLIBC_2.12 sgetsgent_r F
-GLIBC_2.12 sgetspent F
-GLIBC_2.12 sgetspent_r F
-GLIBC_2.12 shmat F
-GLIBC_2.12 shmctl F
-GLIBC_2.12 shmdt F
-GLIBC_2.12 shmget F
-GLIBC_2.12 shutdown F
-GLIBC_2.12 sigaction F
-GLIBC_2.12 sigaddset F
-GLIBC_2.12 sigaltstack F
-GLIBC_2.12 sigandset F
-GLIBC_2.12 sigblock F
-GLIBC_2.12 sigdelset F
-GLIBC_2.12 sigemptyset F
-GLIBC_2.12 sigfillset F
-GLIBC_2.12 siggetmask F
-GLIBC_2.12 sighold F
-GLIBC_2.12 sigignore F
-GLIBC_2.12 siginterrupt F
-GLIBC_2.12 sigisemptyset F
-GLIBC_2.12 sigismember F
-GLIBC_2.12 siglongjmp F
-GLIBC_2.12 signal F
-GLIBC_2.12 signalfd F
-GLIBC_2.12 sigorset F
-GLIBC_2.12 sigpause F
-GLIBC_2.12 sigpending F
-GLIBC_2.12 sigprocmask F
-GLIBC_2.12 sigqueue F
-GLIBC_2.12 sigrelse F
-GLIBC_2.12 sigreturn F
-GLIBC_2.12 sigset F
-GLIBC_2.12 sigsetmask F
-GLIBC_2.12 sigstack F
-GLIBC_2.12 sigsuspend F
-GLIBC_2.12 sigtimedwait F
-GLIBC_2.12 sigvec F
-GLIBC_2.12 sigwait F
-GLIBC_2.12 sigwaitinfo F
-GLIBC_2.12 sleep F
-GLIBC_2.12 snprintf F
-GLIBC_2.12 sockatmark F
-GLIBC_2.12 socket F
-GLIBC_2.12 socketpair F
-GLIBC_2.12 splice F
-GLIBC_2.12 sprintf F
-GLIBC_2.12 sprofil F
-GLIBC_2.12 srand F
-GLIBC_2.12 srand48 F
-GLIBC_2.12 srand48_r F
-GLIBC_2.12 srandom F
-GLIBC_2.12 srandom_r F
-GLIBC_2.12 sscanf F
-GLIBC_2.12 ssignal F
-GLIBC_2.12 sstk F
-GLIBC_2.12 statfs F
-GLIBC_2.12 statfs64 F
-GLIBC_2.12 statvfs F
-GLIBC_2.12 statvfs64 F
-GLIBC_2.12 stderr D 0x4
-GLIBC_2.12 stdin D 0x4
-GLIBC_2.12 stdout D 0x4
-GLIBC_2.12 step F
-GLIBC_2.12 stime F
-GLIBC_2.12 stpcpy F
-GLIBC_2.12 stpncpy F
-GLIBC_2.12 strcasecmp F
-GLIBC_2.12 strcasecmp_l F
-GLIBC_2.12 strcasestr F
-GLIBC_2.12 strcat F
-GLIBC_2.12 strchr F
-GLIBC_2.12 strchrnul F
-GLIBC_2.12 strcmp F
-GLIBC_2.12 strcoll F
-GLIBC_2.12 strcoll_l F
-GLIBC_2.12 strcpy F
-GLIBC_2.12 strcspn F
-GLIBC_2.12 strdup F
-GLIBC_2.12 strerror F
-GLIBC_2.12 strerror_l F
-GLIBC_2.12 strerror_r F
-GLIBC_2.12 strfmon F
-GLIBC_2.12 strfmon_l F
-GLIBC_2.12 strfry F
-GLIBC_2.12 strftime F
-GLIBC_2.12 strftime_l F
-GLIBC_2.12 strlen F
-GLIBC_2.12 strncasecmp F
-GLIBC_2.12 strncasecmp_l F
-GLIBC_2.12 strncat F
-GLIBC_2.12 strncmp F
-GLIBC_2.12 strncpy F
-GLIBC_2.12 strndup F
-GLIBC_2.12 strnlen F
-GLIBC_2.12 strpbrk F
-GLIBC_2.12 strptime F
-GLIBC_2.12 strptime_l F
-GLIBC_2.12 strrchr F
-GLIBC_2.12 strsep F
-GLIBC_2.12 strsignal F
-GLIBC_2.12 strspn F
-GLIBC_2.12 strstr F
-GLIBC_2.12 strtod F
-GLIBC_2.12 strtod_l F
-GLIBC_2.12 strtof F
-GLIBC_2.12 strtof_l F
-GLIBC_2.12 strtoimax F
-GLIBC_2.12 strtok F
-GLIBC_2.12 strtok_r F
-GLIBC_2.12 strtol F
-GLIBC_2.12 strtol_l F
-GLIBC_2.12 strtold F
-GLIBC_2.12 strtold_l F
-GLIBC_2.12 strtoll F
-GLIBC_2.12 strtoll_l F
-GLIBC_2.12 strtoq F
-GLIBC_2.12 strtoul F
-GLIBC_2.12 strtoul_l F
-GLIBC_2.12 strtoull F
-GLIBC_2.12 strtoull_l F
-GLIBC_2.12 strtoumax F
-GLIBC_2.12 strtouq F
-GLIBC_2.12 strverscmp F
-GLIBC_2.12 strxfrm F
-GLIBC_2.12 strxfrm_l F
-GLIBC_2.12 stty F
-GLIBC_2.12 svc_exit F
-GLIBC_2.12 svc_fdset D 0x80
-GLIBC_2.12 svc_getreq F
-GLIBC_2.12 svc_getreq_common F
-GLIBC_2.12 svc_getreq_poll F
-GLIBC_2.12 svc_getreqset F
-GLIBC_2.12 svc_max_pollfd D 0x4
-GLIBC_2.12 svc_pollfd D 0x4
-GLIBC_2.12 svc_register F
-GLIBC_2.12 svc_run F
-GLIBC_2.12 svc_sendreply F
-GLIBC_2.12 svc_unregister F
-GLIBC_2.12 svcauthdes_stats D 0xc
-GLIBC_2.12 svcerr_auth F
-GLIBC_2.12 svcerr_decode F
-GLIBC_2.12 svcerr_noproc F
-GLIBC_2.12 svcerr_noprog F
-GLIBC_2.12 svcerr_progvers F
-GLIBC_2.12 svcerr_systemerr F
-GLIBC_2.12 svcerr_weakauth F
-GLIBC_2.12 svcfd_create F
-GLIBC_2.12 svcraw_create F
-GLIBC_2.12 svctcp_create F
-GLIBC_2.12 svcudp_bufcreate F
-GLIBC_2.12 svcudp_create F
-GLIBC_2.12 svcudp_enablecache F
-GLIBC_2.12 svcunix_create F
-GLIBC_2.12 svcunixfd_create F
-GLIBC_2.12 swab F
-GLIBC_2.12 swapcontext F
-GLIBC_2.12 swapoff F
-GLIBC_2.12 swapon F
-GLIBC_2.12 swprintf F
-GLIBC_2.12 swscanf F
-GLIBC_2.12 symlink F
-GLIBC_2.12 symlinkat F
-GLIBC_2.12 sync F
-GLIBC_2.12 sync_file_range F
-GLIBC_2.12 sys_errlist D 0x21c
-GLIBC_2.12 sys_nerr D 0x4
-GLIBC_2.12 sys_sigabbrev D 0x104
-GLIBC_2.12 sys_siglist D 0x104
-GLIBC_2.12 syscall F
-GLIBC_2.12 sysconf F
-GLIBC_2.12 sysctl F
-GLIBC_2.12 sysinfo F
-GLIBC_2.12 syslog F
-GLIBC_2.12 system F
-GLIBC_2.12 sysv_signal F
-GLIBC_2.12 tcdrain F
-GLIBC_2.12 tcflow F
-GLIBC_2.12 tcflush F
-GLIBC_2.12 tcgetattr F
-GLIBC_2.12 tcgetpgrp F
-GLIBC_2.12 tcgetsid F
-GLIBC_2.12 tcsendbreak F
-GLIBC_2.12 tcsetattr F
-GLIBC_2.12 tcsetpgrp F
-GLIBC_2.12 tdelete F
-GLIBC_2.12 tdestroy F
-GLIBC_2.12 tee F
-GLIBC_2.12 telldir F
-GLIBC_2.12 tempnam F
-GLIBC_2.12 textdomain F
-GLIBC_2.12 tfind F
-GLIBC_2.12 time F
-GLIBC_2.12 timegm F
-GLIBC_2.12 timelocal F
-GLIBC_2.12 timerfd_create F
-GLIBC_2.12 timerfd_gettime F
-GLIBC_2.12 timerfd_settime F
-GLIBC_2.12 times F
-GLIBC_2.12 timezone D 0x4
-GLIBC_2.12 tmpfile F
-GLIBC_2.12 tmpfile64 F
-GLIBC_2.12 tmpnam F
-GLIBC_2.12 tmpnam_r F
-GLIBC_2.12 toascii F
-GLIBC_2.12 tolower F
-GLIBC_2.12 tolower_l F
-GLIBC_2.12 toupper F
-GLIBC_2.12 toupper_l F
-GLIBC_2.12 towctrans F
-GLIBC_2.12 towctrans_l F
-GLIBC_2.12 towlower F
-GLIBC_2.12 towlower_l F
-GLIBC_2.12 towupper F
-GLIBC_2.12 towupper_l F
-GLIBC_2.12 tr_break F
-GLIBC_2.12 truncate F
-GLIBC_2.12 truncate64 F
-GLIBC_2.12 tsearch F
-GLIBC_2.12 ttyname F
-GLIBC_2.12 ttyname_r F
-GLIBC_2.12 ttyslot F
-GLIBC_2.12 twalk F
-GLIBC_2.12 tzname D 0x8
-GLIBC_2.12 tzset F
-GLIBC_2.12 ualarm F
-GLIBC_2.12 ulckpwdf F
-GLIBC_2.12 ulimit F
-GLIBC_2.12 umask F
-GLIBC_2.12 umount F
-GLIBC_2.12 umount2 F
-GLIBC_2.12 uname F
-GLIBC_2.12 ungetc F
-GLIBC_2.12 ungetwc F
-GLIBC_2.12 unlink F
-GLIBC_2.12 unlinkat F
-GLIBC_2.12 unlockpt F
-GLIBC_2.12 unsetenv F
-GLIBC_2.12 unshare F
-GLIBC_2.12 updwtmp F
-GLIBC_2.12 updwtmpx F
-GLIBC_2.12 uselib F
-GLIBC_2.12 uselocale F
-GLIBC_2.12 user2netname F
-GLIBC_2.12 usleep F
-GLIBC_2.12 ustat F
-GLIBC_2.12 utime F
-GLIBC_2.12 utimensat F
-GLIBC_2.12 utimes F
-GLIBC_2.12 utmpname F
-GLIBC_2.12 utmpxname F
-GLIBC_2.12 valloc F
-GLIBC_2.12 vasprintf F
-GLIBC_2.12 vdprintf F
-GLIBC_2.12 verr F
-GLIBC_2.12 verrx F
-GLIBC_2.12 versionsort F
-GLIBC_2.12 versionsort64 F
-GLIBC_2.12 vfork F
-GLIBC_2.12 vfprintf F
-GLIBC_2.12 vfscanf F
-GLIBC_2.12 vfwprintf F
-GLIBC_2.12 vfwscanf F
-GLIBC_2.12 vhangup F
-GLIBC_2.12 vlimit F
-GLIBC_2.12 vmsplice F
-GLIBC_2.12 vprintf F
-GLIBC_2.12 vscanf F
-GLIBC_2.12 vsnprintf F
-GLIBC_2.12 vsprintf F
-GLIBC_2.12 vsscanf F
-GLIBC_2.12 vswprintf F
-GLIBC_2.12 vswscanf F
-GLIBC_2.12 vsyslog F
-GLIBC_2.12 vtimes F
-GLIBC_2.12 vwarn F
-GLIBC_2.12 vwarnx F
-GLIBC_2.12 vwprintf F
-GLIBC_2.12 vwscanf F
-GLIBC_2.12 wait F
-GLIBC_2.12 wait3 F
-GLIBC_2.12 wait4 F
-GLIBC_2.12 waitid F
-GLIBC_2.12 waitpid F
-GLIBC_2.12 warn F
-GLIBC_2.12 warnx F
-GLIBC_2.12 wcpcpy F
-GLIBC_2.12 wcpncpy F
-GLIBC_2.12 wcrtomb F
-GLIBC_2.12 wcscasecmp F
-GLIBC_2.12 wcscasecmp_l F
-GLIBC_2.12 wcscat F
-GLIBC_2.12 wcschr F
-GLIBC_2.12 wcschrnul F
-GLIBC_2.12 wcscmp F
-GLIBC_2.12 wcscoll F
-GLIBC_2.12 wcscoll_l F
-GLIBC_2.12 wcscpy F
-GLIBC_2.12 wcscspn F
-GLIBC_2.12 wcsdup F
-GLIBC_2.12 wcsftime F
-GLIBC_2.12 wcsftime_l F
-GLIBC_2.12 wcslen F
-GLIBC_2.12 wcsncasecmp F
-GLIBC_2.12 wcsncasecmp_l F
-GLIBC_2.12 wcsncat F
-GLIBC_2.12 wcsncmp F
-GLIBC_2.12 wcsncpy F
-GLIBC_2.12 wcsnlen F
-GLIBC_2.12 wcsnrtombs F
-GLIBC_2.12 wcspbrk F
-GLIBC_2.12 wcsrchr F
-GLIBC_2.12 wcsrtombs F
-GLIBC_2.12 wcsspn F
-GLIBC_2.12 wcsstr F
-GLIBC_2.12 wcstod F
-GLIBC_2.12 wcstod_l F
-GLIBC_2.12 wcstof F
-GLIBC_2.12 wcstof_l F
-GLIBC_2.12 wcstoimax F
-GLIBC_2.12 wcstok F
-GLIBC_2.12 wcstol F
-GLIBC_2.12 wcstol_l F
-GLIBC_2.12 wcstold F
-GLIBC_2.12 wcstold_l F
-GLIBC_2.12 wcstoll F
-GLIBC_2.12 wcstoll_l F
-GLIBC_2.12 wcstombs F
-GLIBC_2.12 wcstoq F
-GLIBC_2.12 wcstoul F
-GLIBC_2.12 wcstoul_l F
-GLIBC_2.12 wcstoull F
-GLIBC_2.12 wcstoull_l F
-GLIBC_2.12 wcstoumax F
-GLIBC_2.12 wcstouq F
-GLIBC_2.12 wcswcs F
-GLIBC_2.12 wcswidth F
-GLIBC_2.12 wcsxfrm F
-GLIBC_2.12 wcsxfrm_l F
-GLIBC_2.12 wctob F
-GLIBC_2.12 wctomb F
-GLIBC_2.12 wctrans F
-GLIBC_2.12 wctrans_l F
-GLIBC_2.12 wctype F
-GLIBC_2.12 wctype_l F
-GLIBC_2.12 wcwidth F
-GLIBC_2.12 wmemchr F
-GLIBC_2.12 wmemcmp F
-GLIBC_2.12 wmemcpy F
-GLIBC_2.12 wmemmove F
-GLIBC_2.12 wmempcpy F
-GLIBC_2.12 wmemset F
-GLIBC_2.12 wordexp F
-GLIBC_2.12 wordfree F
-GLIBC_2.12 wprintf F
-GLIBC_2.12 write F
-GLIBC_2.12 writev F
-GLIBC_2.12 wscanf F
-GLIBC_2.12 xdecrypt F
-GLIBC_2.12 xdr_accepted_reply F
-GLIBC_2.12 xdr_array F
-GLIBC_2.12 xdr_authdes_cred F
-GLIBC_2.12 xdr_authdes_verf F
-GLIBC_2.12 xdr_authunix_parms F
-GLIBC_2.12 xdr_bool F
-GLIBC_2.12 xdr_bytes F
-GLIBC_2.12 xdr_callhdr F
-GLIBC_2.12 xdr_callmsg F
-GLIBC_2.12 xdr_char F
-GLIBC_2.12 xdr_cryptkeyarg F
-GLIBC_2.12 xdr_cryptkeyarg2 F
-GLIBC_2.12 xdr_cryptkeyres F
-GLIBC_2.12 xdr_des_block F
-GLIBC_2.12 xdr_double F
-GLIBC_2.12 xdr_enum F
-GLIBC_2.12 xdr_float F
-GLIBC_2.12 xdr_free F
-GLIBC_2.12 xdr_getcredres F
-GLIBC_2.12 xdr_hyper F
-GLIBC_2.12 xdr_int F
-GLIBC_2.12 xdr_int16_t F
-GLIBC_2.12 xdr_int32_t F
-GLIBC_2.12 xdr_int64_t F
-GLIBC_2.12 xdr_int8_t F
-GLIBC_2.12 xdr_key_netstarg F
-GLIBC_2.12 xdr_key_netstres F
-GLIBC_2.12 xdr_keybuf F
-GLIBC_2.12 xdr_keystatus F
-GLIBC_2.12 xdr_long F
-GLIBC_2.12 xdr_longlong_t F
-GLIBC_2.12 xdr_netnamestr F
-GLIBC_2.12 xdr_netobj F
-GLIBC_2.12 xdr_opaque F
-GLIBC_2.12 xdr_opaque_auth F
-GLIBC_2.12 xdr_pmap F
-GLIBC_2.12 xdr_pmaplist F
-GLIBC_2.12 xdr_pointer F
-GLIBC_2.12 xdr_quad_t F
-GLIBC_2.12 xdr_reference F
-GLIBC_2.12 xdr_rejected_reply F
-GLIBC_2.12 xdr_replymsg F
-GLIBC_2.12 xdr_rmtcall_args F
-GLIBC_2.12 xdr_rmtcallres F
-GLIBC_2.12 xdr_short F
-GLIBC_2.12 xdr_sizeof F
-GLIBC_2.12 xdr_string F
-GLIBC_2.12 xdr_u_char F
-GLIBC_2.12 xdr_u_hyper F
-GLIBC_2.12 xdr_u_int F
-GLIBC_2.12 xdr_u_long F
-GLIBC_2.12 xdr_u_longlong_t F
-GLIBC_2.12 xdr_u_quad_t F
-GLIBC_2.12 xdr_u_short F
-GLIBC_2.12 xdr_uint16_t F
-GLIBC_2.12 xdr_uint32_t F
-GLIBC_2.12 xdr_uint64_t F
-GLIBC_2.12 xdr_uint8_t F
-GLIBC_2.12 xdr_union F
-GLIBC_2.12 xdr_unixcred F
-GLIBC_2.12 xdr_vector F
-GLIBC_2.12 xdr_void F
-GLIBC_2.12 xdr_wrapstring F
-GLIBC_2.12 xdrmem_create F
-GLIBC_2.12 xdrrec_create F
-GLIBC_2.12 xdrrec_endofrecord F
-GLIBC_2.12 xdrrec_eof F
-GLIBC_2.12 xdrrec_skiprecord F
-GLIBC_2.12 xdrstdio_create F
-GLIBC_2.12 xencrypt F
-GLIBC_2.12 xprt_register F
-GLIBC_2.12 xprt_unregister F
-GLIBC_2.15 GLIBC_2.15 A
-GLIBC_2.15 __fdelt_chk F
-GLIBC_2.15 __fdelt_warn F
-GLIBC_2.15 clock_adjtime F
-GLIBC_2.15 fanotify_init F
-GLIBC_2.15 fanotify_mark F
-GLIBC_2.15 name_to_handle_at F
-GLIBC_2.15 open_by_handle_at F
-GLIBC_2.15 posix_spawn F
-GLIBC_2.15 posix_spawnp F
-GLIBC_2.15 prlimit F
-GLIBC_2.15 prlimit64 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.15 sendmmsg F
-GLIBC_2.15 setns F
-GLIBC_2.15 syncfs 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.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.27 GLIBC_2.27 A
-GLIBC_2.27 copy_file_range F
-GLIBC_2.27 glob F
-GLIBC_2.27 glob64 F
-GLIBC_2.27 memfd_create F
-GLIBC_2.27 mlock2 F
-GLIBC_2.27 pkey_alloc F
-GLIBC_2.27 pkey_free F
-GLIBC_2.27 pkey_get F
-GLIBC_2.27 pkey_mprotect F
-GLIBC_2.27 pkey_set F
-GLIBC_2.27 strfromf32 F
-GLIBC_2.27 strfromf32x F
-GLIBC_2.27 strfromf64 F
-GLIBC_2.27 strtof32 F
-GLIBC_2.27 strtof32_l F
-GLIBC_2.27 strtof32x F
-GLIBC_2.27 strtof32x_l F
-GLIBC_2.27 strtof64 F
-GLIBC_2.27 strtof64_l F
-GLIBC_2.27 wcstof32 F
-GLIBC_2.27 wcstof32_l F
-GLIBC_2.27 wcstof32x F
-GLIBC_2.27 wcstof32x_l F
-GLIBC_2.27 wcstof64 F
-GLIBC_2.27 wcstof64_l F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist
deleted file mode 100644
index d564380..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libcrypt.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 crypt F
-GLIBC_2.12 crypt_r F
-GLIBC_2.12 encrypt F
-GLIBC_2.12 encrypt_r F
-GLIBC_2.12 fcrypt F
-GLIBC_2.12 setkey F
-GLIBC_2.12 setkey_r F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist
deleted file mode 100644
index cabc30c..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libdl.abilist
+++ /dev/null
@@ -1,10 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 dladdr F
-GLIBC_2.12 dladdr1 F
-GLIBC_2.12 dlclose F
-GLIBC_2.12 dlerror F
-GLIBC_2.12 dlinfo F
-GLIBC_2.12 dlmopen F
-GLIBC_2.12 dlopen F
-GLIBC_2.12 dlsym F
-GLIBC_2.12 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist
deleted file mode 100644
index 73ceb5a..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libm.abilist
+++ /dev/null
@@ -1,762 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 _LIB_VERSION D 0x4
-GLIBC_2.12 __clog10 F
-GLIBC_2.12 __clog10f F
-GLIBC_2.12 __clog10l F
-GLIBC_2.12 __finite F
-GLIBC_2.12 __finitef F
-GLIBC_2.12 __fpclassify F
-GLIBC_2.12 __fpclassifyf F
-GLIBC_2.12 __signbit F
-GLIBC_2.12 __signbitf F
-GLIBC_2.12 acos F
-GLIBC_2.12 acosf F
-GLIBC_2.12 acosh F
-GLIBC_2.12 acoshf F
-GLIBC_2.12 acoshl F
-GLIBC_2.12 acosl F
-GLIBC_2.12 asin F
-GLIBC_2.12 asinf F
-GLIBC_2.12 asinh F
-GLIBC_2.12 asinhf F
-GLIBC_2.12 asinhl F
-GLIBC_2.12 asinl F
-GLIBC_2.12 atan F
-GLIBC_2.12 atan2 F
-GLIBC_2.12 atan2f F
-GLIBC_2.12 atan2l F
-GLIBC_2.12 atanf F
-GLIBC_2.12 atanh F
-GLIBC_2.12 atanhf F
-GLIBC_2.12 atanhl F
-GLIBC_2.12 atanl F
-GLIBC_2.12 cabs F
-GLIBC_2.12 cabsf F
-GLIBC_2.12 cabsl F
-GLIBC_2.12 cacos F
-GLIBC_2.12 cacosf F
-GLIBC_2.12 cacosh F
-GLIBC_2.12 cacoshf F
-GLIBC_2.12 cacoshl F
-GLIBC_2.12 cacosl F
-GLIBC_2.12 carg F
-GLIBC_2.12 cargf F
-GLIBC_2.12 cargl F
-GLIBC_2.12 casin F
-GLIBC_2.12 casinf F
-GLIBC_2.12 casinh F
-GLIBC_2.12 casinhf F
-GLIBC_2.12 casinhl F
-GLIBC_2.12 casinl F
-GLIBC_2.12 catan F
-GLIBC_2.12 catanf F
-GLIBC_2.12 catanh F
-GLIBC_2.12 catanhf F
-GLIBC_2.12 catanhl F
-GLIBC_2.12 catanl F
-GLIBC_2.12 cbrt F
-GLIBC_2.12 cbrtf F
-GLIBC_2.12 cbrtl F
-GLIBC_2.12 ccos F
-GLIBC_2.12 ccosf F
-GLIBC_2.12 ccosh F
-GLIBC_2.12 ccoshf F
-GLIBC_2.12 ccoshl F
-GLIBC_2.12 ccosl F
-GLIBC_2.12 ceil F
-GLIBC_2.12 ceilf F
-GLIBC_2.12 ceill F
-GLIBC_2.12 cexp F
-GLIBC_2.12 cexpf F
-GLIBC_2.12 cexpl F
-GLIBC_2.12 cimag F
-GLIBC_2.12 cimagf F
-GLIBC_2.12 cimagl F
-GLIBC_2.12 clog F
-GLIBC_2.12 clog10 F
-GLIBC_2.12 clog10f F
-GLIBC_2.12 clog10l F
-GLIBC_2.12 clogf F
-GLIBC_2.12 clogl F
-GLIBC_2.12 conj F
-GLIBC_2.12 conjf F
-GLIBC_2.12 conjl F
-GLIBC_2.12 copysign F
-GLIBC_2.12 copysignf F
-GLIBC_2.12 copysignl F
-GLIBC_2.12 cos F
-GLIBC_2.12 cosf F
-GLIBC_2.12 cosh F
-GLIBC_2.12 coshf F
-GLIBC_2.12 coshl F
-GLIBC_2.12 cosl F
-GLIBC_2.12 cpow F
-GLIBC_2.12 cpowf F
-GLIBC_2.12 cpowl F
-GLIBC_2.12 cproj F
-GLIBC_2.12 cprojf F
-GLIBC_2.12 cprojl F
-GLIBC_2.12 creal F
-GLIBC_2.12 crealf F
-GLIBC_2.12 creall F
-GLIBC_2.12 csin F
-GLIBC_2.12 csinf F
-GLIBC_2.12 csinh F
-GLIBC_2.12 csinhf F
-GLIBC_2.12 csinhl F
-GLIBC_2.12 csinl F
-GLIBC_2.12 csqrt F
-GLIBC_2.12 csqrtf F
-GLIBC_2.12 csqrtl F
-GLIBC_2.12 ctan F
-GLIBC_2.12 ctanf F
-GLIBC_2.12 ctanh F
-GLIBC_2.12 ctanhf F
-GLIBC_2.12 ctanhl F
-GLIBC_2.12 ctanl F
-GLIBC_2.12 drem F
-GLIBC_2.12 dremf F
-GLIBC_2.12 dreml F
-GLIBC_2.12 erf F
-GLIBC_2.12 erfc F
-GLIBC_2.12 erfcf F
-GLIBC_2.12 erfcl F
-GLIBC_2.12 erff F
-GLIBC_2.12 erfl F
-GLIBC_2.12 exp F
-GLIBC_2.12 exp10 F
-GLIBC_2.12 exp10f F
-GLIBC_2.12 exp10l F
-GLIBC_2.12 exp2 F
-GLIBC_2.12 exp2f F
-GLIBC_2.12 exp2l F
-GLIBC_2.12 expf F
-GLIBC_2.12 expl F
-GLIBC_2.12 expm1 F
-GLIBC_2.12 expm1f F
-GLIBC_2.12 expm1l F
-GLIBC_2.12 fabs F
-GLIBC_2.12 fabsf F
-GLIBC_2.12 fabsl F
-GLIBC_2.12 fdim F
-GLIBC_2.12 fdimf F
-GLIBC_2.12 fdiml F
-GLIBC_2.12 feclearexcept F
-GLIBC_2.12 fedisableexcept F
-GLIBC_2.12 feenableexcept F
-GLIBC_2.12 fegetenv F
-GLIBC_2.12 fegetexcept F
-GLIBC_2.12 fegetexceptflag F
-GLIBC_2.12 fegetround F
-GLIBC_2.12 feholdexcept F
-GLIBC_2.12 feraiseexcept F
-GLIBC_2.12 fesetenv F
-GLIBC_2.12 fesetexceptflag F
-GLIBC_2.12 fesetround F
-GLIBC_2.12 fetestexcept F
-GLIBC_2.12 feupdateenv F
-GLIBC_2.12 finite F
-GLIBC_2.12 finitef F
-GLIBC_2.12 finitel F
-GLIBC_2.12 floor F
-GLIBC_2.12 floorf F
-GLIBC_2.12 floorl F
-GLIBC_2.12 fma F
-GLIBC_2.12 fmaf F
-GLIBC_2.12 fmal F
-GLIBC_2.12 fmax F
-GLIBC_2.12 fmaxf F
-GLIBC_2.12 fmaxl F
-GLIBC_2.12 fmin F
-GLIBC_2.12 fminf F
-GLIBC_2.12 fminl F
-GLIBC_2.12 fmod F
-GLIBC_2.12 fmodf F
-GLIBC_2.12 fmodl F
-GLIBC_2.12 frexp F
-GLIBC_2.12 frexpf F
-GLIBC_2.12 frexpl F
-GLIBC_2.12 gamma F
-GLIBC_2.12 gammaf F
-GLIBC_2.12 gammal F
-GLIBC_2.12 hypot F
-GLIBC_2.12 hypotf F
-GLIBC_2.12 hypotl F
-GLIBC_2.12 ilogb F
-GLIBC_2.12 ilogbf F
-GLIBC_2.12 ilogbl F
-GLIBC_2.12 j0 F
-GLIBC_2.12 j0f F
-GLIBC_2.12 j0l F
-GLIBC_2.12 j1 F
-GLIBC_2.12 j1f F
-GLIBC_2.12 j1l F
-GLIBC_2.12 jn F
-GLIBC_2.12 jnf F
-GLIBC_2.12 jnl F
-GLIBC_2.12 ldexp F
-GLIBC_2.12 ldexpf F
-GLIBC_2.12 ldexpl F
-GLIBC_2.12 lgamma F
-GLIBC_2.12 lgamma_r F
-GLIBC_2.12 lgammaf F
-GLIBC_2.12 lgammaf_r F
-GLIBC_2.12 lgammal F
-GLIBC_2.12 lgammal_r F
-GLIBC_2.12 llrint F
-GLIBC_2.12 llrintf F
-GLIBC_2.12 llrintl F
-GLIBC_2.12 llround F
-GLIBC_2.12 llroundf F
-GLIBC_2.12 llroundl F
-GLIBC_2.12 log F
-GLIBC_2.12 log10 F
-GLIBC_2.12 log10f F
-GLIBC_2.12 log10l F
-GLIBC_2.12 log1p F
-GLIBC_2.12 log1pf F
-GLIBC_2.12 log1pl F
-GLIBC_2.12 log2 F
-GLIBC_2.12 log2f F
-GLIBC_2.12 log2l F
-GLIBC_2.12 logb F
-GLIBC_2.12 logbf F
-GLIBC_2.12 logbl F
-GLIBC_2.12 logf F
-GLIBC_2.12 logl F
-GLIBC_2.12 lrint F
-GLIBC_2.12 lrintf F
-GLIBC_2.12 lrintl F
-GLIBC_2.12 lround F
-GLIBC_2.12 lroundf F
-GLIBC_2.12 lroundl F
-GLIBC_2.12 matherr F
-GLIBC_2.12 modf F
-GLIBC_2.12 modff F
-GLIBC_2.12 modfl F
-GLIBC_2.12 nan F
-GLIBC_2.12 nanf F
-GLIBC_2.12 nanl F
-GLIBC_2.12 nearbyint F
-GLIBC_2.12 nearbyintf F
-GLIBC_2.12 nearbyintl F
-GLIBC_2.12 nextafter F
-GLIBC_2.12 nextafterf F
-GLIBC_2.12 nextafterl F
-GLIBC_2.12 nexttoward F
-GLIBC_2.12 nexttowardf F
-GLIBC_2.12 nexttowardl F
-GLIBC_2.12 pow F
-GLIBC_2.12 pow10 F
-GLIBC_2.12 pow10f F
-GLIBC_2.12 pow10l F
-GLIBC_2.12 powf F
-GLIBC_2.12 powl F
-GLIBC_2.12 remainder F
-GLIBC_2.12 remainderf F
-GLIBC_2.12 remainderl F
-GLIBC_2.12 remquo F
-GLIBC_2.12 remquof F
-GLIBC_2.12 remquol F
-GLIBC_2.12 rint F
-GLIBC_2.12 rintf F
-GLIBC_2.12 rintl F
-GLIBC_2.12 round F
-GLIBC_2.12 roundf F
-GLIBC_2.12 roundl F
-GLIBC_2.12 scalb F
-GLIBC_2.12 scalbf F
-GLIBC_2.12 scalbl F
-GLIBC_2.12 scalbln F
-GLIBC_2.12 scalblnf F
-GLIBC_2.12 scalblnl F
-GLIBC_2.12 scalbn F
-GLIBC_2.12 scalbnf F
-GLIBC_2.12 scalbnl F
-GLIBC_2.12 signgam D 0x4
-GLIBC_2.12 significand F
-GLIBC_2.12 significandf F
-GLIBC_2.12 significandl F
-GLIBC_2.12 sin F
-GLIBC_2.12 sincos F
-GLIBC_2.12 sincosf F
-GLIBC_2.12 sincosl F
-GLIBC_2.12 sinf F
-GLIBC_2.12 sinh F
-GLIBC_2.12 sinhf F
-GLIBC_2.12 sinhl F
-GLIBC_2.12 sinl F
-GLIBC_2.12 sqrt F
-GLIBC_2.12 sqrtf F
-GLIBC_2.12 sqrtl F
-GLIBC_2.12 tan F
-GLIBC_2.12 tanf F
-GLIBC_2.12 tanh F
-GLIBC_2.12 tanhf F
-GLIBC_2.12 tanhl F
-GLIBC_2.12 tanl F
-GLIBC_2.12 tgamma F
-GLIBC_2.12 tgammaf F
-GLIBC_2.12 tgammal F
-GLIBC_2.12 trunc F
-GLIBC_2.12 truncf F
-GLIBC_2.12 truncl F
-GLIBC_2.12 y0 F
-GLIBC_2.12 y0f F
-GLIBC_2.12 y0l F
-GLIBC_2.12 y1 F
-GLIBC_2.12 y1f F
-GLIBC_2.12 y1l F
-GLIBC_2.12 yn F
-GLIBC_2.12 ynf F
-GLIBC_2.12 ynl 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 __asin_finite F
-GLIBC_2.15 __asinf_finite F
-GLIBC_2.15 __atan2_finite F
-GLIBC_2.15 __atan2f_finite F
-GLIBC_2.15 __atanh_finite F
-GLIBC_2.15 __atanhf_finite F
-GLIBC_2.15 __cosh_finite F
-GLIBC_2.15 __coshf_finite F
-GLIBC_2.15 __exp10_finite F
-GLIBC_2.15 __exp10f_finite F
-GLIBC_2.15 __exp2_finite F
-GLIBC_2.15 __exp2f_finite F
-GLIBC_2.15 __exp_finite F
-GLIBC_2.15 __expf_finite F
-GLIBC_2.15 __fmod_finite F
-GLIBC_2.15 __fmodf_finite F
-GLIBC_2.15 __gamma_r_finite F
-GLIBC_2.15 __gammaf_r_finite F
-GLIBC_2.15 __hypot_finite F
-GLIBC_2.15 __hypotf_finite F
-GLIBC_2.15 __j0_finite F
-GLIBC_2.15 __j0f_finite F
-GLIBC_2.15 __j1_finite F
-GLIBC_2.15 __j1f_finite F
-GLIBC_2.15 __jn_finite F
-GLIBC_2.15 __jnf_finite F
-GLIBC_2.15 __lgamma_r_finite F
-GLIBC_2.15 __lgammaf_r_finite F
-GLIBC_2.15 __log10_finite F
-GLIBC_2.15 __log10f_finite F
-GLIBC_2.15 __log2_finite F
-GLIBC_2.15 __log2f_finite F
-GLIBC_2.15 __log_finite F
-GLIBC_2.15 __logf_finite F
-GLIBC_2.15 __pow_finite F
-GLIBC_2.15 __powf_finite F
-GLIBC_2.15 __remainder_finite F
-GLIBC_2.15 __remainderf_finite F
-GLIBC_2.15 __scalb_finite F
-GLIBC_2.15 __scalbf_finite F
-GLIBC_2.15 __sinh_finite F
-GLIBC_2.15 __sinhf_finite F
-GLIBC_2.15 __sqrt_finite F
-GLIBC_2.15 __sqrtf_finite F
-GLIBC_2.15 __y0_finite F
-GLIBC_2.15 __y0f_finite F
-GLIBC_2.15 __y1_finite F
-GLIBC_2.15 __y1f_finite F
-GLIBC_2.15 __yn_finite F
-GLIBC_2.15 __ynf_finite F
-GLIBC_2.18 GLIBC_2.18 A
-GLIBC_2.18 __issignaling F
-GLIBC_2.18 __issignalingf 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 __iseqsig F
-GLIBC_2.25 __iseqsigf 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.27 GLIBC_2.27 A
-GLIBC_2.27 acosf32 F
-GLIBC_2.27 acosf32x F
-GLIBC_2.27 acosf64 F
-GLIBC_2.27 acoshf32 F
-GLIBC_2.27 acoshf32x F
-GLIBC_2.27 acoshf64 F
-GLIBC_2.27 asinf32 F
-GLIBC_2.27 asinf32x F
-GLIBC_2.27 asinf64 F
-GLIBC_2.27 asinhf32 F
-GLIBC_2.27 asinhf32x F
-GLIBC_2.27 asinhf64 F
-GLIBC_2.27 atan2f32 F
-GLIBC_2.27 atan2f32x F
-GLIBC_2.27 atan2f64 F
-GLIBC_2.27 atanf32 F
-GLIBC_2.27 atanf32x F
-GLIBC_2.27 atanf64 F
-GLIBC_2.27 atanhf32 F
-GLIBC_2.27 atanhf32x F
-GLIBC_2.27 atanhf64 F
-GLIBC_2.27 cabsf32 F
-GLIBC_2.27 cabsf32x F
-GLIBC_2.27 cabsf64 F
-GLIBC_2.27 cacosf32 F
-GLIBC_2.27 cacosf32x F
-GLIBC_2.27 cacosf64 F
-GLIBC_2.27 cacoshf32 F
-GLIBC_2.27 cacoshf32x F
-GLIBC_2.27 cacoshf64 F
-GLIBC_2.27 canonicalizef32 F
-GLIBC_2.27 canonicalizef32x F
-GLIBC_2.27 canonicalizef64 F
-GLIBC_2.27 cargf32 F
-GLIBC_2.27 cargf32x F
-GLIBC_2.27 cargf64 F
-GLIBC_2.27 casinf32 F
-GLIBC_2.27 casinf32x F
-GLIBC_2.27 casinf64 F
-GLIBC_2.27 casinhf32 F
-GLIBC_2.27 casinhf32x F
-GLIBC_2.27 casinhf64 F
-GLIBC_2.27 catanf32 F
-GLIBC_2.27 catanf32x F
-GLIBC_2.27 catanf64 F
-GLIBC_2.27 catanhf32 F
-GLIBC_2.27 catanhf32x F
-GLIBC_2.27 catanhf64 F
-GLIBC_2.27 cbrtf32 F
-GLIBC_2.27 cbrtf32x F
-GLIBC_2.27 cbrtf64 F
-GLIBC_2.27 ccosf32 F
-GLIBC_2.27 ccosf32x F
-GLIBC_2.27 ccosf64 F
-GLIBC_2.27 ccoshf32 F
-GLIBC_2.27 ccoshf32x F
-GLIBC_2.27 ccoshf64 F
-GLIBC_2.27 ceilf32 F
-GLIBC_2.27 ceilf32x F
-GLIBC_2.27 ceilf64 F
-GLIBC_2.27 cexpf32 F
-GLIBC_2.27 cexpf32x F
-GLIBC_2.27 cexpf64 F
-GLIBC_2.27 cimagf32 F
-GLIBC_2.27 cimagf32x F
-GLIBC_2.27 cimagf64 F
-GLIBC_2.27 clog10f32 F
-GLIBC_2.27 clog10f32x F
-GLIBC_2.27 clog10f64 F
-GLIBC_2.27 clogf32 F
-GLIBC_2.27 clogf32x F
-GLIBC_2.27 clogf64 F
-GLIBC_2.27 conjf32 F
-GLIBC_2.27 conjf32x F
-GLIBC_2.27 conjf64 F
-GLIBC_2.27 copysignf32 F
-GLIBC_2.27 copysignf32x F
-GLIBC_2.27 copysignf64 F
-GLIBC_2.27 cosf32 F
-GLIBC_2.27 cosf32x F
-GLIBC_2.27 cosf64 F
-GLIBC_2.27 coshf32 F
-GLIBC_2.27 coshf32x F
-GLIBC_2.27 coshf64 F
-GLIBC_2.27 cpowf32 F
-GLIBC_2.27 cpowf32x F
-GLIBC_2.27 cpowf64 F
-GLIBC_2.27 cprojf32 F
-GLIBC_2.27 cprojf32x F
-GLIBC_2.27 cprojf64 F
-GLIBC_2.27 crealf32 F
-GLIBC_2.27 crealf32x F
-GLIBC_2.27 crealf64 F
-GLIBC_2.27 csinf32 F
-GLIBC_2.27 csinf32x F
-GLIBC_2.27 csinf64 F
-GLIBC_2.27 csinhf32 F
-GLIBC_2.27 csinhf32x F
-GLIBC_2.27 csinhf64 F
-GLIBC_2.27 csqrtf32 F
-GLIBC_2.27 csqrtf32x F
-GLIBC_2.27 csqrtf64 F
-GLIBC_2.27 ctanf32 F
-GLIBC_2.27 ctanf32x F
-GLIBC_2.27 ctanf64 F
-GLIBC_2.27 ctanhf32 F
-GLIBC_2.27 ctanhf32x F
-GLIBC_2.27 ctanhf64 F
-GLIBC_2.27 erfcf32 F
-GLIBC_2.27 erfcf32x F
-GLIBC_2.27 erfcf64 F
-GLIBC_2.27 erff32 F
-GLIBC_2.27 erff32x F
-GLIBC_2.27 erff64 F
-GLIBC_2.27 exp10f32 F
-GLIBC_2.27 exp10f32x F
-GLIBC_2.27 exp10f64 F
-GLIBC_2.27 exp2f F
-GLIBC_2.27 exp2f32 F
-GLIBC_2.27 exp2f32x F
-GLIBC_2.27 exp2f64 F
-GLIBC_2.27 expf F
-GLIBC_2.27 expf32 F
-GLIBC_2.27 expf32x F
-GLIBC_2.27 expf64 F
-GLIBC_2.27 expm1f32 F
-GLIBC_2.27 expm1f32x F
-GLIBC_2.27 expm1f64 F
-GLIBC_2.27 fabsf32 F
-GLIBC_2.27 fabsf32x F
-GLIBC_2.27 fabsf64 F
-GLIBC_2.27 fdimf32 F
-GLIBC_2.27 fdimf32x F
-GLIBC_2.27 fdimf64 F
-GLIBC_2.27 floorf32 F
-GLIBC_2.27 floorf32x F
-GLIBC_2.27 floorf64 F
-GLIBC_2.27 fmaf32 F
-GLIBC_2.27 fmaf32x F
-GLIBC_2.27 fmaf64 F
-GLIBC_2.27 fmaxf32 F
-GLIBC_2.27 fmaxf32x F
-GLIBC_2.27 fmaxf64 F
-GLIBC_2.27 fmaxmagf32 F
-GLIBC_2.27 fmaxmagf32x F
-GLIBC_2.27 fmaxmagf64 F
-GLIBC_2.27 fminf32 F
-GLIBC_2.27 fminf32x F
-GLIBC_2.27 fminf64 F
-GLIBC_2.27 fminmagf32 F
-GLIBC_2.27 fminmagf32x F
-GLIBC_2.27 fminmagf64 F
-GLIBC_2.27 fmodf32 F
-GLIBC_2.27 fmodf32x F
-GLIBC_2.27 fmodf64 F
-GLIBC_2.27 frexpf32 F
-GLIBC_2.27 frexpf32x F
-GLIBC_2.27 frexpf64 F
-GLIBC_2.27 fromfpf32 F
-GLIBC_2.27 fromfpf32x F
-GLIBC_2.27 fromfpf64 F
-GLIBC_2.27 fromfpxf32 F
-GLIBC_2.27 fromfpxf32x F
-GLIBC_2.27 fromfpxf64 F
-GLIBC_2.27 getpayloadf32 F
-GLIBC_2.27 getpayloadf32x F
-GLIBC_2.27 getpayloadf64 F
-GLIBC_2.27 hypotf32 F
-GLIBC_2.27 hypotf32x F
-GLIBC_2.27 hypotf64 F
-GLIBC_2.27 ilogbf32 F
-GLIBC_2.27 ilogbf32x F
-GLIBC_2.27 ilogbf64 F
-GLIBC_2.27 j0f32 F
-GLIBC_2.27 j0f32x F
-GLIBC_2.27 j0f64 F
-GLIBC_2.27 j1f32 F
-GLIBC_2.27 j1f32x F
-GLIBC_2.27 j1f64 F
-GLIBC_2.27 jnf32 F
-GLIBC_2.27 jnf32x F
-GLIBC_2.27 jnf64 F
-GLIBC_2.27 ldexpf32 F
-GLIBC_2.27 ldexpf32x F
-GLIBC_2.27 ldexpf64 F
-GLIBC_2.27 lgammaf32 F
-GLIBC_2.27 lgammaf32_r F
-GLIBC_2.27 lgammaf32x F
-GLIBC_2.27 lgammaf32x_r F
-GLIBC_2.27 lgammaf64 F
-GLIBC_2.27 lgammaf64_r F
-GLIBC_2.27 llogbf32 F
-GLIBC_2.27 llogbf32x F
-GLIBC_2.27 llogbf64 F
-GLIBC_2.27 llrintf32 F
-GLIBC_2.27 llrintf32x F
-GLIBC_2.27 llrintf64 F
-GLIBC_2.27 llroundf32 F
-GLIBC_2.27 llroundf32x F
-GLIBC_2.27 llroundf64 F
-GLIBC_2.27 log10f32 F
-GLIBC_2.27 log10f32x F
-GLIBC_2.27 log10f64 F
-GLIBC_2.27 log1pf32 F
-GLIBC_2.27 log1pf32x F
-GLIBC_2.27 log1pf64 F
-GLIBC_2.27 log2f F
-GLIBC_2.27 log2f32 F
-GLIBC_2.27 log2f32x F
-GLIBC_2.27 log2f64 F
-GLIBC_2.27 logbf32 F
-GLIBC_2.27 logbf32x F
-GLIBC_2.27 logbf64 F
-GLIBC_2.27 logf F
-GLIBC_2.27 logf32 F
-GLIBC_2.27 logf32x F
-GLIBC_2.27 logf64 F
-GLIBC_2.27 lrintf32 F
-GLIBC_2.27 lrintf32x F
-GLIBC_2.27 lrintf64 F
-GLIBC_2.27 lroundf32 F
-GLIBC_2.27 lroundf32x F
-GLIBC_2.27 lroundf64 F
-GLIBC_2.27 modff32 F
-GLIBC_2.27 modff32x F
-GLIBC_2.27 modff64 F
-GLIBC_2.27 nanf32 F
-GLIBC_2.27 nanf32x F
-GLIBC_2.27 nanf64 F
-GLIBC_2.27 nearbyintf32 F
-GLIBC_2.27 nearbyintf32x F
-GLIBC_2.27 nearbyintf64 F
-GLIBC_2.27 nextafterf32 F
-GLIBC_2.27 nextafterf32x F
-GLIBC_2.27 nextafterf64 F
-GLIBC_2.27 nextdownf32 F
-GLIBC_2.27 nextdownf32x F
-GLIBC_2.27 nextdownf64 F
-GLIBC_2.27 nextupf32 F
-GLIBC_2.27 nextupf32x F
-GLIBC_2.27 nextupf64 F
-GLIBC_2.27 powf F
-GLIBC_2.27 powf32 F
-GLIBC_2.27 powf32x F
-GLIBC_2.27 powf64 F
-GLIBC_2.27 remainderf32 F
-GLIBC_2.27 remainderf32x F
-GLIBC_2.27 remainderf64 F
-GLIBC_2.27 remquof32 F
-GLIBC_2.27 remquof32x F
-GLIBC_2.27 remquof64 F
-GLIBC_2.27 rintf32 F
-GLIBC_2.27 rintf32x F
-GLIBC_2.27 rintf64 F
-GLIBC_2.27 roundevenf32 F
-GLIBC_2.27 roundevenf32x F
-GLIBC_2.27 roundevenf64 F
-GLIBC_2.27 roundf32 F
-GLIBC_2.27 roundf32x F
-GLIBC_2.27 roundf64 F
-GLIBC_2.27 scalblnf32 F
-GLIBC_2.27 scalblnf32x F
-GLIBC_2.27 scalblnf64 F
-GLIBC_2.27 scalbnf32 F
-GLIBC_2.27 scalbnf32x F
-GLIBC_2.27 scalbnf64 F
-GLIBC_2.27 setpayloadf32 F
-GLIBC_2.27 setpayloadf32x F
-GLIBC_2.27 setpayloadf64 F
-GLIBC_2.27 setpayloadsigf32 F
-GLIBC_2.27 setpayloadsigf32x F
-GLIBC_2.27 setpayloadsigf64 F
-GLIBC_2.27 sincosf32 F
-GLIBC_2.27 sincosf32x F
-GLIBC_2.27 sincosf64 F
-GLIBC_2.27 sinf32 F
-GLIBC_2.27 sinf32x F
-GLIBC_2.27 sinf64 F
-GLIBC_2.27 sinhf32 F
-GLIBC_2.27 sinhf32x F
-GLIBC_2.27 sinhf64 F
-GLIBC_2.27 sqrtf32 F
-GLIBC_2.27 sqrtf32x F
-GLIBC_2.27 sqrtf64 F
-GLIBC_2.27 tanf32 F
-GLIBC_2.27 tanf32x F
-GLIBC_2.27 tanf64 F
-GLIBC_2.27 tanhf32 F
-GLIBC_2.27 tanhf32x F
-GLIBC_2.27 tanhf64 F
-GLIBC_2.27 tgammaf32 F
-GLIBC_2.27 tgammaf32x F
-GLIBC_2.27 tgammaf64 F
-GLIBC_2.27 totalorderf32 F
-GLIBC_2.27 totalorderf32x F
-GLIBC_2.27 totalorderf64 F
-GLIBC_2.27 totalordermagf32 F
-GLIBC_2.27 totalordermagf32x F
-GLIBC_2.27 totalordermagf64 F
-GLIBC_2.27 truncf32 F
-GLIBC_2.27 truncf32x F
-GLIBC_2.27 truncf64 F
-GLIBC_2.27 ufromfpf32 F
-GLIBC_2.27 ufromfpf32x F
-GLIBC_2.27 ufromfpf64 F
-GLIBC_2.27 ufromfpxf32 F
-GLIBC_2.27 ufromfpxf32x F
-GLIBC_2.27 ufromfpxf64 F
-GLIBC_2.27 y0f32 F
-GLIBC_2.27 y0f32x F
-GLIBC_2.27 y0f64 F
-GLIBC_2.27 y1f32 F
-GLIBC_2.27 y1f32x F
-GLIBC_2.27 y1f64 F
-GLIBC_2.27 ynf32 F
-GLIBC_2.27 ynf32x F
-GLIBC_2.27 ynf64 F
-GLIBC_2.28 GLIBC_2.28 A
-GLIBC_2.28 daddl F
-GLIBC_2.28 dsubl F
-GLIBC_2.28 f32addf32x F
-GLIBC_2.28 f32addf64 F
-GLIBC_2.28 f32subf32x F
-GLIBC_2.28 f32subf64 F
-GLIBC_2.28 f32xaddf64 F
-GLIBC_2.28 f32xsubf64 F
-GLIBC_2.28 fadd F
-GLIBC_2.28 faddl F
-GLIBC_2.28 fsub F
-GLIBC_2.28 fsubl F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist
deleted file mode 100644
index 0277e5c..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libnsl.abilist
+++ /dev/null
@@ -1,122 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __free_fdresult F
-GLIBC_2.12 __nis_default_access F
-GLIBC_2.12 __nis_default_group F
-GLIBC_2.12 __nis_default_owner F
-GLIBC_2.12 __nis_default_ttl F
-GLIBC_2.12 __nis_finddirectory F
-GLIBC_2.12 __nis_hash F
-GLIBC_2.12 __nisbind_connect F
-GLIBC_2.12 __nisbind_create F
-GLIBC_2.12 __nisbind_destroy F
-GLIBC_2.12 __nisbind_next F
-GLIBC_2.12 __yp_check F
-GLIBC_2.12 nis_add F
-GLIBC_2.12 nis_add_entry F
-GLIBC_2.12 nis_addmember F
-GLIBC_2.12 nis_checkpoint F
-GLIBC_2.12 nis_clone_directory F
-GLIBC_2.12 nis_clone_object F
-GLIBC_2.12 nis_clone_result F
-GLIBC_2.12 nis_creategroup F
-GLIBC_2.12 nis_destroy_object F
-GLIBC_2.12 nis_destroygroup F
-GLIBC_2.12 nis_dir_cmp F
-GLIBC_2.12 nis_domain_of F
-GLIBC_2.12 nis_domain_of_r F
-GLIBC_2.12 nis_first_entry F
-GLIBC_2.12 nis_free_directory F
-GLIBC_2.12 nis_free_object F
-GLIBC_2.12 nis_free_request F
-GLIBC_2.12 nis_freenames F
-GLIBC_2.12 nis_freeresult F
-GLIBC_2.12 nis_freeservlist F
-GLIBC_2.12 nis_freetags F
-GLIBC_2.12 nis_getnames F
-GLIBC_2.12 nis_getservlist F
-GLIBC_2.12 nis_ismember F
-GLIBC_2.12 nis_leaf_of F
-GLIBC_2.12 nis_leaf_of_r F
-GLIBC_2.12 nis_lerror F
-GLIBC_2.12 nis_list F
-GLIBC_2.12 nis_local_directory F
-GLIBC_2.12 nis_local_group F
-GLIBC_2.12 nis_local_host F
-GLIBC_2.12 nis_local_principal F
-GLIBC_2.12 nis_lookup F
-GLIBC_2.12 nis_mkdir F
-GLIBC_2.12 nis_modify F
-GLIBC_2.12 nis_modify_entry F
-GLIBC_2.12 nis_name_of F
-GLIBC_2.12 nis_name_of_r F
-GLIBC_2.12 nis_next_entry F
-GLIBC_2.12 nis_perror F
-GLIBC_2.12 nis_ping F
-GLIBC_2.12 nis_print_directory F
-GLIBC_2.12 nis_print_entry F
-GLIBC_2.12 nis_print_group F
-GLIBC_2.12 nis_print_group_entry F
-GLIBC_2.12 nis_print_link F
-GLIBC_2.12 nis_print_object F
-GLIBC_2.12 nis_print_result F
-GLIBC_2.12 nis_print_rights F
-GLIBC_2.12 nis_print_table F
-GLIBC_2.12 nis_read_obj F
-GLIBC_2.12 nis_remove F
-GLIBC_2.12 nis_remove_entry F
-GLIBC_2.12 nis_removemember F
-GLIBC_2.12 nis_rmdir F
-GLIBC_2.12 nis_servstate F
-GLIBC_2.12 nis_sperrno F
-GLIBC_2.12 nis_sperror F
-GLIBC_2.12 nis_sperror_r F
-GLIBC_2.12 nis_stats F
-GLIBC_2.12 nis_verifygroup F
-GLIBC_2.12 nis_write_obj F
-GLIBC_2.12 readColdStartFile F
-GLIBC_2.12 writeColdStartFile F
-GLIBC_2.12 xdr_cback_data F
-GLIBC_2.12 xdr_domainname F
-GLIBC_2.12 xdr_keydat F
-GLIBC_2.12 xdr_mapname F
-GLIBC_2.12 xdr_obj_p F
-GLIBC_2.12 xdr_peername F
-GLIBC_2.12 xdr_valdat F
-GLIBC_2.12 xdr_yp_buf F
-GLIBC_2.12 xdr_ypall F
-GLIBC_2.12 xdr_ypbind_binding F
-GLIBC_2.12 xdr_ypbind_resp F
-GLIBC_2.12 xdr_ypbind_resptype F
-GLIBC_2.12 xdr_ypbind_setdom F
-GLIBC_2.12 xdr_ypdelete_args F
-GLIBC_2.12 xdr_ypmap_parms F
-GLIBC_2.12 xdr_ypmaplist F
-GLIBC_2.12 xdr_yppush_status F
-GLIBC_2.12 xdr_yppushresp_xfr F
-GLIBC_2.12 xdr_ypreq_key F
-GLIBC_2.12 xdr_ypreq_nokey F
-GLIBC_2.12 xdr_ypreq_xfr F
-GLIBC_2.12 xdr_ypresp_all F
-GLIBC_2.12 xdr_ypresp_key_val F
-GLIBC_2.12 xdr_ypresp_maplist F
-GLIBC_2.12 xdr_ypresp_master F
-GLIBC_2.12 xdr_ypresp_order F
-GLIBC_2.12 xdr_ypresp_val F
-GLIBC_2.12 xdr_ypresp_xfr F
-GLIBC_2.12 xdr_ypstat F
-GLIBC_2.12 xdr_ypupdate_args F
-GLIBC_2.12 xdr_ypxfrstat F
-GLIBC_2.12 yp_all F
-GLIBC_2.12 yp_bind F
-GLIBC_2.12 yp_first F
-GLIBC_2.12 yp_get_default_domain F
-GLIBC_2.12 yp_maplist F
-GLIBC_2.12 yp_master F
-GLIBC_2.12 yp_match F
-GLIBC_2.12 yp_next F
-GLIBC_2.12 yp_order F
-GLIBC_2.12 yp_unbind F
-GLIBC_2.12 yp_update F
-GLIBC_2.12 ypbinderr_string F
-GLIBC_2.12 yperr_string F
-GLIBC_2.12 ypprot_err F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist
deleted file mode 100644
index d16158f..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libpthread.abilist
+++ /dev/null
@@ -1,226 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 _IO_flockfile F
-GLIBC_2.12 _IO_ftrylockfile F
-GLIBC_2.12 _IO_funlockfile F
-GLIBC_2.12 __close F
-GLIBC_2.12 __connect F
-GLIBC_2.12 __errno_location F
-GLIBC_2.12 __fcntl F
-GLIBC_2.12 __fork F
-GLIBC_2.12 __h_errno_location F
-GLIBC_2.12 __libc_allocate_rtsig F
-GLIBC_2.12 __libc_current_sigrtmax F
-GLIBC_2.12 __libc_current_sigrtmin F
-GLIBC_2.12 __lseek F
-GLIBC_2.12 __nanosleep F
-GLIBC_2.12 __open F
-GLIBC_2.12 __open64 F
-GLIBC_2.12 __pread64 F
-GLIBC_2.12 __pthread_cleanup_routine F
-GLIBC_2.12 __pthread_getspecific F
-GLIBC_2.12 __pthread_key_create F
-GLIBC_2.12 __pthread_mutex_destroy F
-GLIBC_2.12 __pthread_mutex_init F
-GLIBC_2.12 __pthread_mutex_lock F
-GLIBC_2.12 __pthread_mutex_trylock F
-GLIBC_2.12 __pthread_mutex_unlock F
-GLIBC_2.12 __pthread_mutexattr_destroy F
-GLIBC_2.12 __pthread_mutexattr_init F
-GLIBC_2.12 __pthread_mutexattr_settype F
-GLIBC_2.12 __pthread_once F
-GLIBC_2.12 __pthread_register_cancel F
-GLIBC_2.12 __pthread_register_cancel_defer F
-GLIBC_2.12 __pthread_rwlock_destroy F
-GLIBC_2.12 __pthread_rwlock_init F
-GLIBC_2.12 __pthread_rwlock_rdlock F
-GLIBC_2.12 __pthread_rwlock_tryrdlock F
-GLIBC_2.12 __pthread_rwlock_trywrlock F
-GLIBC_2.12 __pthread_rwlock_unlock F
-GLIBC_2.12 __pthread_rwlock_wrlock F
-GLIBC_2.12 __pthread_setspecific F
-GLIBC_2.12 __pthread_unregister_cancel F
-GLIBC_2.12 __pthread_unregister_cancel_restore F
-GLIBC_2.12 __pthread_unwind_next F
-GLIBC_2.12 __pwrite64 F
-GLIBC_2.12 __read F
-GLIBC_2.12 __res_state F
-GLIBC_2.12 __send F
-GLIBC_2.12 __sigaction F
-GLIBC_2.12 __vfork F
-GLIBC_2.12 __wait F
-GLIBC_2.12 __write F
-GLIBC_2.12 _pthread_cleanup_pop F
-GLIBC_2.12 _pthread_cleanup_pop_restore F
-GLIBC_2.12 _pthread_cleanup_push F
-GLIBC_2.12 _pthread_cleanup_push_defer F
-GLIBC_2.12 accept F
-GLIBC_2.12 close F
-GLIBC_2.12 connect F
-GLIBC_2.12 fcntl F
-GLIBC_2.12 flockfile F
-GLIBC_2.12 fork F
-GLIBC_2.12 fsync F
-GLIBC_2.12 ftrylockfile F
-GLIBC_2.12 funlockfile F
-GLIBC_2.12 longjmp F
-GLIBC_2.12 lseek F
-GLIBC_2.12 lseek64 F
-GLIBC_2.12 msync F
-GLIBC_2.12 nanosleep F
-GLIBC_2.12 open F
-GLIBC_2.12 open64 F
-GLIBC_2.12 pause F
-GLIBC_2.12 pread F
-GLIBC_2.12 pread64 F
-GLIBC_2.12 pthread_attr_destroy F
-GLIBC_2.12 pthread_attr_getaffinity_np F
-GLIBC_2.12 pthread_attr_getdetachstate F
-GLIBC_2.12 pthread_attr_getguardsize F
-GLIBC_2.12 pthread_attr_getinheritsched F
-GLIBC_2.12 pthread_attr_getschedparam F
-GLIBC_2.12 pthread_attr_getschedpolicy F
-GLIBC_2.12 pthread_attr_getscope F
-GLIBC_2.12 pthread_attr_getstack F
-GLIBC_2.12 pthread_attr_getstackaddr F
-GLIBC_2.12 pthread_attr_getstacksize F
-GLIBC_2.12 pthread_attr_init F
-GLIBC_2.12 pthread_attr_setaffinity_np F
-GLIBC_2.12 pthread_attr_setdetachstate F
-GLIBC_2.12 pthread_attr_setguardsize F
-GLIBC_2.12 pthread_attr_setinheritsched F
-GLIBC_2.12 pthread_attr_setschedparam F
-GLIBC_2.12 pthread_attr_setschedpolicy F
-GLIBC_2.12 pthread_attr_setscope F
-GLIBC_2.12 pthread_attr_setstack F
-GLIBC_2.12 pthread_attr_setstackaddr F
-GLIBC_2.12 pthread_attr_setstacksize F
-GLIBC_2.12 pthread_barrier_destroy F
-GLIBC_2.12 pthread_barrier_init F
-GLIBC_2.12 pthread_barrier_wait F
-GLIBC_2.12 pthread_barrierattr_destroy F
-GLIBC_2.12 pthread_barrierattr_getpshared F
-GLIBC_2.12 pthread_barrierattr_init F
-GLIBC_2.12 pthread_barrierattr_setpshared F
-GLIBC_2.12 pthread_cancel F
-GLIBC_2.12 pthread_cond_broadcast F
-GLIBC_2.12 pthread_cond_destroy F
-GLIBC_2.12 pthread_cond_init F
-GLIBC_2.12 pthread_cond_signal F
-GLIBC_2.12 pthread_cond_timedwait F
-GLIBC_2.12 pthread_cond_wait F
-GLIBC_2.12 pthread_condattr_destroy F
-GLIBC_2.12 pthread_condattr_getclock F
-GLIBC_2.12 pthread_condattr_getpshared F
-GLIBC_2.12 pthread_condattr_init F
-GLIBC_2.12 pthread_condattr_setclock F
-GLIBC_2.12 pthread_condattr_setpshared F
-GLIBC_2.12 pthread_create F
-GLIBC_2.12 pthread_detach F
-GLIBC_2.12 pthread_equal F
-GLIBC_2.12 pthread_exit F
-GLIBC_2.12 pthread_getaffinity_np F
-GLIBC_2.12 pthread_getattr_np F
-GLIBC_2.12 pthread_getconcurrency F
-GLIBC_2.12 pthread_getcpuclockid F
-GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_getschedparam F
-GLIBC_2.12 pthread_getspecific F
-GLIBC_2.12 pthread_join F
-GLIBC_2.12 pthread_key_create F
-GLIBC_2.12 pthread_key_delete F
-GLIBC_2.12 pthread_kill F
-GLIBC_2.12 pthread_kill_other_threads_np F
-GLIBC_2.12 pthread_mutex_consistent F
-GLIBC_2.12 pthread_mutex_consistent_np F
-GLIBC_2.12 pthread_mutex_destroy F
-GLIBC_2.12 pthread_mutex_getprioceiling F
-GLIBC_2.12 pthread_mutex_init F
-GLIBC_2.12 pthread_mutex_lock F
-GLIBC_2.12 pthread_mutex_setprioceiling F
-GLIBC_2.12 pthread_mutex_timedlock F
-GLIBC_2.12 pthread_mutex_trylock F
-GLIBC_2.12 pthread_mutex_unlock F
-GLIBC_2.12 pthread_mutexattr_destroy F
-GLIBC_2.12 pthread_mutexattr_getkind_np F
-GLIBC_2.12 pthread_mutexattr_getprioceiling F
-GLIBC_2.12 pthread_mutexattr_getprotocol F
-GLIBC_2.12 pthread_mutexattr_getpshared F
-GLIBC_2.12 pthread_mutexattr_getrobust F
-GLIBC_2.12 pthread_mutexattr_getrobust_np F
-GLIBC_2.12 pthread_mutexattr_gettype F
-GLIBC_2.12 pthread_mutexattr_init F
-GLIBC_2.12 pthread_mutexattr_setkind_np F
-GLIBC_2.12 pthread_mutexattr_setprioceiling F
-GLIBC_2.12 pthread_mutexattr_setprotocol F
-GLIBC_2.12 pthread_mutexattr_setpshared F
-GLIBC_2.12 pthread_mutexattr_setrobust F
-GLIBC_2.12 pthread_mutexattr_setrobust_np F
-GLIBC_2.12 pthread_mutexattr_settype F
-GLIBC_2.12 pthread_once F
-GLIBC_2.12 pthread_rwlock_destroy F
-GLIBC_2.12 pthread_rwlock_init F
-GLIBC_2.12 pthread_rwlock_rdlock F
-GLIBC_2.12 pthread_rwlock_timedrdlock F
-GLIBC_2.12 pthread_rwlock_timedwrlock F
-GLIBC_2.12 pthread_rwlock_tryrdlock F
-GLIBC_2.12 pthread_rwlock_trywrlock F
-GLIBC_2.12 pthread_rwlock_unlock F
-GLIBC_2.12 pthread_rwlock_wrlock F
-GLIBC_2.12 pthread_rwlockattr_destroy F
-GLIBC_2.12 pthread_rwlockattr_getkind_np F
-GLIBC_2.12 pthread_rwlockattr_getpshared F
-GLIBC_2.12 pthread_rwlockattr_init F
-GLIBC_2.12 pthread_rwlockattr_setkind_np F
-GLIBC_2.12 pthread_rwlockattr_setpshared F
-GLIBC_2.12 pthread_self F
-GLIBC_2.12 pthread_setaffinity_np F
-GLIBC_2.12 pthread_setcancelstate F
-GLIBC_2.12 pthread_setcanceltype F
-GLIBC_2.12 pthread_setconcurrency F
-GLIBC_2.12 pthread_setname_np F
-GLIBC_2.12 pthread_setschedparam F
-GLIBC_2.12 pthread_setschedprio F
-GLIBC_2.12 pthread_setspecific F
-GLIBC_2.12 pthread_sigmask F
-GLIBC_2.12 pthread_sigqueue F
-GLIBC_2.12 pthread_spin_destroy F
-GLIBC_2.12 pthread_spin_init F
-GLIBC_2.12 pthread_spin_lock F
-GLIBC_2.12 pthread_spin_trylock F
-GLIBC_2.12 pthread_spin_unlock F
-GLIBC_2.12 pthread_testcancel F
-GLIBC_2.12 pthread_timedjoin_np F
-GLIBC_2.12 pthread_tryjoin_np F
-GLIBC_2.12 pthread_yield F
-GLIBC_2.12 pwrite F
-GLIBC_2.12 pwrite64 F
-GLIBC_2.12 raise F
-GLIBC_2.12 read F
-GLIBC_2.12 recv F
-GLIBC_2.12 recvfrom F
-GLIBC_2.12 recvmsg F
-GLIBC_2.12 sem_close F
-GLIBC_2.12 sem_destroy F
-GLIBC_2.12 sem_getvalue F
-GLIBC_2.12 sem_init F
-GLIBC_2.12 sem_open F
-GLIBC_2.12 sem_post F
-GLIBC_2.12 sem_timedwait F
-GLIBC_2.12 sem_trywait F
-GLIBC_2.12 sem_unlink F
-GLIBC_2.12 sem_wait F
-GLIBC_2.12 send F
-GLIBC_2.12 sendmsg F
-GLIBC_2.12 sendto F
-GLIBC_2.12 sigaction F
-GLIBC_2.12 siglongjmp F
-GLIBC_2.12 sigwait F
-GLIBC_2.12 system F
-GLIBC_2.12 tcdrain F
-GLIBC_2.12 vfork F
-GLIBC_2.12 wait F
-GLIBC_2.12 waitpid F
-GLIBC_2.12 write F
-GLIBC_2.18 GLIBC_2.18 A
-GLIBC_2.18 pthread_getattr_default_np F
-GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist
deleted file mode 100644
index aa2fefa..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libresolv.abilist
+++ /dev/null
@@ -1,92 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __b64_ntop F
-GLIBC_2.12 __b64_pton F
-GLIBC_2.12 __dn_comp F
-GLIBC_2.12 __dn_count_labels F
-GLIBC_2.12 __dn_expand F
-GLIBC_2.12 __dn_skipname F
-GLIBC_2.12 __fp_nquery F
-GLIBC_2.12 __fp_query F
-GLIBC_2.12 __fp_resstat F
-GLIBC_2.12 __hostalias F
-GLIBC_2.12 __loc_aton F
-GLIBC_2.12 __loc_ntoa F
-GLIBC_2.12 __p_cdname F
-GLIBC_2.12 __p_cdnname F
-GLIBC_2.12 __p_class F
-GLIBC_2.12 __p_class_syms D 0x54
-GLIBC_2.12 __p_fqname F
-GLIBC_2.12 __p_fqnname F
-GLIBC_2.12 __p_option F
-GLIBC_2.12 __p_query F
-GLIBC_2.12 __p_rcode F
-GLIBC_2.12 __p_secstodate F
-GLIBC_2.12 __p_time F
-GLIBC_2.12 __p_type F
-GLIBC_2.12 __p_type_syms D 0x228
-GLIBC_2.12 __putlong F
-GLIBC_2.12 __putshort F
-GLIBC_2.12 __res_close F
-GLIBC_2.12 __res_dnok F
-GLIBC_2.12 __res_hnok F
-GLIBC_2.12 __res_hostalias F
-GLIBC_2.12 __res_isourserver F
-GLIBC_2.12 __res_mailok F
-GLIBC_2.12 __res_mkquery F
-GLIBC_2.12 __res_nameinquery F
-GLIBC_2.12 __res_nmkquery F
-GLIBC_2.12 __res_nquery F
-GLIBC_2.12 __res_nquerydomain F
-GLIBC_2.12 __res_nsearch F
-GLIBC_2.12 __res_nsend F
-GLIBC_2.12 __res_ownok F
-GLIBC_2.12 __res_queriesmatch F
-GLIBC_2.12 __res_query F
-GLIBC_2.12 __res_querydomain F
-GLIBC_2.12 __res_search F
-GLIBC_2.12 __res_send F
-GLIBC_2.12 __sym_ntop F
-GLIBC_2.12 __sym_ntos F
-GLIBC_2.12 __sym_ston F
-GLIBC_2.12 _gethtbyaddr F
-GLIBC_2.12 _gethtbyname F
-GLIBC_2.12 _gethtbyname2 F
-GLIBC_2.12 _gethtent F
-GLIBC_2.12 _getlong F
-GLIBC_2.12 _getshort F
-GLIBC_2.12 _res_opcodes D 0x40
-GLIBC_2.12 _sethtent F
-GLIBC_2.12 inet_net_ntop F
-GLIBC_2.12 inet_net_pton F
-GLIBC_2.12 inet_neta F
-GLIBC_2.12 ns_datetosecs F
-GLIBC_2.12 ns_format_ttl F
-GLIBC_2.12 ns_get16 F
-GLIBC_2.12 ns_get32 F
-GLIBC_2.12 ns_initparse F
-GLIBC_2.12 ns_makecanon F
-GLIBC_2.12 ns_msg_getflag F
-GLIBC_2.12 ns_name_compress F
-GLIBC_2.12 ns_name_ntol F
-GLIBC_2.12 ns_name_ntop F
-GLIBC_2.12 ns_name_pack F
-GLIBC_2.12 ns_name_pton F
-GLIBC_2.12 ns_name_rollback F
-GLIBC_2.12 ns_name_skip F
-GLIBC_2.12 ns_name_uncompress F
-GLIBC_2.12 ns_name_unpack F
-GLIBC_2.12 ns_parse_ttl F
-GLIBC_2.12 ns_parserr F
-GLIBC_2.12 ns_put16 F
-GLIBC_2.12 ns_put32 F
-GLIBC_2.12 ns_samedomain F
-GLIBC_2.12 ns_samename F
-GLIBC_2.12 ns_skiprr F
-GLIBC_2.12 ns_sprintrr F
-GLIBC_2.12 ns_sprintrrf F
-GLIBC_2.12 ns_subdomain F
-GLIBC_2.12 res_gethostbyaddr F
-GLIBC_2.12 res_gethostbyname F
-GLIBC_2.12 res_gethostbyname2 F
-GLIBC_2.12 res_send_setqhook F
-GLIBC_2.12 res_send_setrhook F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist
deleted file mode 100644
index 14f5c82..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/librt.abilist
+++ /dev/null
@@ -1,41 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __mq_open_2 F
-GLIBC_2.12 aio_cancel F
-GLIBC_2.12 aio_cancel64 F
-GLIBC_2.12 aio_error F
-GLIBC_2.12 aio_error64 F
-GLIBC_2.12 aio_fsync F
-GLIBC_2.12 aio_fsync64 F
-GLIBC_2.12 aio_init F
-GLIBC_2.12 aio_read F
-GLIBC_2.12 aio_read64 F
-GLIBC_2.12 aio_return F
-GLIBC_2.12 aio_return64 F
-GLIBC_2.12 aio_suspend F
-GLIBC_2.12 aio_suspend64 F
-GLIBC_2.12 aio_write F
-GLIBC_2.12 aio_write64 F
-GLIBC_2.12 clock_getcpuclockid F
-GLIBC_2.12 clock_getres F
-GLIBC_2.12 clock_gettime F
-GLIBC_2.12 clock_nanosleep F
-GLIBC_2.12 clock_settime F
-GLIBC_2.12 lio_listio F
-GLIBC_2.12 lio_listio64 F
-GLIBC_2.12 mq_close F
-GLIBC_2.12 mq_getattr F
-GLIBC_2.12 mq_notify F
-GLIBC_2.12 mq_open F
-GLIBC_2.12 mq_receive F
-GLIBC_2.12 mq_send F
-GLIBC_2.12 mq_setattr F
-GLIBC_2.12 mq_timedreceive F
-GLIBC_2.12 mq_timedsend F
-GLIBC_2.12 mq_unlink F
-GLIBC_2.12 shm_open F
-GLIBC_2.12 shm_unlink F
-GLIBC_2.12 timer_create F
-GLIBC_2.12 timer_delete F
-GLIBC_2.12 timer_getoverrun F
-GLIBC_2.12 timer_gettime F
-GLIBC_2.12 timer_settime F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist
deleted file mode 100644
index 4aade0b..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libthread_db.abilist
+++ /dev/null
@@ -1,41 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 td_init F
-GLIBC_2.12 td_log F
-GLIBC_2.12 td_symbol_list F
-GLIBC_2.12 td_ta_clear_event F
-GLIBC_2.12 td_ta_delete F
-GLIBC_2.12 td_ta_enable_stats F
-GLIBC_2.12 td_ta_event_addr F
-GLIBC_2.12 td_ta_event_getmsg F
-GLIBC_2.12 td_ta_get_nthreads F
-GLIBC_2.12 td_ta_get_ph F
-GLIBC_2.12 td_ta_get_stats F
-GLIBC_2.12 td_ta_map_id2thr F
-GLIBC_2.12 td_ta_map_lwp2thr F
-GLIBC_2.12 td_ta_new F
-GLIBC_2.12 td_ta_reset_stats F
-GLIBC_2.12 td_ta_set_event F
-GLIBC_2.12 td_ta_setconcurrency F
-GLIBC_2.12 td_ta_thr_iter F
-GLIBC_2.12 td_ta_tsd_iter F
-GLIBC_2.12 td_thr_clear_event F
-GLIBC_2.12 td_thr_dbresume F
-GLIBC_2.12 td_thr_dbsuspend F
-GLIBC_2.12 td_thr_event_enable F
-GLIBC_2.12 td_thr_event_getmsg F
-GLIBC_2.12 td_thr_get_info F
-GLIBC_2.12 td_thr_getfpregs F
-GLIBC_2.12 td_thr_getgregs F
-GLIBC_2.12 td_thr_getxregs F
-GLIBC_2.12 td_thr_getxregsize F
-GLIBC_2.12 td_thr_set_event F
-GLIBC_2.12 td_thr_setfpregs F
-GLIBC_2.12 td_thr_setgregs F
-GLIBC_2.12 td_thr_setprio F
-GLIBC_2.12 td_thr_setsigpending F
-GLIBC_2.12 td_thr_setxregs F
-GLIBC_2.12 td_thr_sigsetmask F
-GLIBC_2.12 td_thr_tls_get_addr F
-GLIBC_2.12 td_thr_tlsbase F
-GLIBC_2.12 td_thr_tsd F
-GLIBC_2.12 td_thr_validate F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist
deleted file mode 100644
index e4d4326..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx32/libutil.abilist
+++ /dev/null
@@ -1,7 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 forkpty F
-GLIBC_2.12 login F
-GLIBC_2.12 login_tty F
-GLIBC_2.12 logout F
-GLIBC_2.12 logwtmp F
-GLIBC_2.12 openpty F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/Implies b/sysdeps/unix/sysv/linux/tile/tilegx64/Implies
deleted file mode 100644
index f814319..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/Implies
+++ /dev/null
@@ -1,3 +0,0 @@
-unix/sysv/linux/tile
-unix/sysv/linux/generic
-unix/sysv/linux/wordsize-64
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile b/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile
deleted file mode 100644
index c8991d3..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-default-abi := 64
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data b/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data
deleted file mode 100644
index ac925cc..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/c++-types.data
+++ /dev/null
@@ -1,67 +0,0 @@
-blkcnt64_t:l
-blkcnt_t:l
-blksize_t:i
-caddr_t:Pc
-clockid_t:i
-clock_t:l
-daddr_t:i
-dev_t:m
-fd_mask:l
-fsblkcnt64_t:m
-fsblkcnt_t:m
-fsfilcnt64_t:m
-fsfilcnt_t:m
-fsid_t:8__fsid_t
-gid_t:j
-id_t:j
-ino64_t:m
-ino_t:m
-int16_t:s
-int32_t:i
-int64_t:l
-int8_t:a
-intptr_t:l
-key_t:i
-loff_t:l
-mode_t:j
-nlink_t:j
-off64_t:l
-off_t:l
-pid_t:i
-pthread_attr_t:14pthread_attr_t
-pthread_barrier_t:17pthread_barrier_t
-pthread_barrierattr_t:21pthread_barrierattr_t
-pthread_cond_t:14pthread_cond_t
-pthread_condattr_t:18pthread_condattr_t
-pthread_key_t:j
-pthread_mutex_t:15pthread_mutex_t
-pthread_mutexattr_t:19pthread_mutexattr_t
-pthread_once_t:i
-pthread_rwlock_t:16pthread_rwlock_t
-pthread_rwlockattr_t:20pthread_rwlockattr_t
-pthread_spinlock_t:i
-pthread_t:m
-quad_t:l
-register_t:l
-rlim64_t:m
-rlim_t:m
-sigset_t:10__sigset_t
-size_t:m
-socklen_t:j
-ssize_t:l
-suseconds_t:l
-time_t:l
-u_char:h
-uid_t:j
-uint:j
-u_int:j
-u_int16_t:t
-u_int32_t:j
-u_int64_t:m
-u_int8_t:h
-ulong:m
-u_long:m
-u_quad_t:m
-useconds_t:j
-ushort:t
-u_short:t
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h b/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h
deleted file mode 100644
index 685f9b8..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/jmp_buf-macros.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#define JMP_BUF_SIZE 392
-#define SIGJMP_BUF_SIZE 392
-#define JMP_BUF_ALIGN 8
-#define SIGJMP_BUF_ALIGN 8
-#define MASK_WAS_SAVED_OFFSET 256
-#define SAVED_MASK_OFFSET 264
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist
deleted file mode 100644
index ab74e7e..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/ld.abilist
+++ /dev/null
@@ -1,9 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __libc_stack_end D 0x8
-GLIBC_2.12 __tls_get_addr F
-GLIBC_2.12 _dl_mcount F
-GLIBC_2.12 _r_debug D 0x28
-GLIBC_2.12 calloc F
-GLIBC_2.12 free F
-GLIBC_2.12 malloc F
-GLIBC_2.12 realloc F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist
deleted file mode 100644
index 0d64827..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libBrokenLocale.abilist
+++ /dev/null
@@ -1,2 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __ctype_get_mb_cur_max F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist
deleted file mode 100644
index a3b1cc0..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libanl.abilist
+++ /dev/null
@@ -1,5 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 gai_cancel F
-GLIBC_2.12 gai_error F
-GLIBC_2.12 gai_suspend F
-GLIBC_2.12 getaddrinfo_a F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist
deleted file mode 100644
index f2518c0..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libc.abilist
+++ /dev/null
@@ -1,2138 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 _Exit F
-GLIBC_2.12 _IO_2_1_stderr_ D 0xe0
-GLIBC_2.12 _IO_2_1_stdin_ D 0xe0
-GLIBC_2.12 _IO_2_1_stdout_ D 0xe0
-GLIBC_2.12 _IO_adjust_column F
-GLIBC_2.12 _IO_adjust_wcolumn F
-GLIBC_2.12 _IO_default_doallocate F
-GLIBC_2.12 _IO_default_finish F
-GLIBC_2.12 _IO_default_pbackfail F
-GLIBC_2.12 _IO_default_uflow F
-GLIBC_2.12 _IO_default_xsgetn F
-GLIBC_2.12 _IO_default_xsputn F
-GLIBC_2.12 _IO_do_write F
-GLIBC_2.12 _IO_doallocbuf F
-GLIBC_2.12 _IO_fclose F
-GLIBC_2.12 _IO_fdopen F
-GLIBC_2.12 _IO_feof F
-GLIBC_2.12 _IO_ferror F
-GLIBC_2.12 _IO_fflush F
-GLIBC_2.12 _IO_fgetpos F
-GLIBC_2.12 _IO_fgetpos64 F
-GLIBC_2.12 _IO_fgets F
-GLIBC_2.12 _IO_file_attach F
-GLIBC_2.12 _IO_file_close F
-GLIBC_2.12 _IO_file_close_it F
-GLIBC_2.12 _IO_file_doallocate F
-GLIBC_2.12 _IO_file_finish F
-GLIBC_2.12 _IO_file_fopen F
-GLIBC_2.12 _IO_file_init F
-GLIBC_2.12 _IO_file_jumps D 0xa8
-GLIBC_2.12 _IO_file_open F
-GLIBC_2.12 _IO_file_overflow F
-GLIBC_2.12 _IO_file_read F
-GLIBC_2.12 _IO_file_seek F
-GLIBC_2.12 _IO_file_seekoff F
-GLIBC_2.12 _IO_file_setbuf F
-GLIBC_2.12 _IO_file_stat F
-GLIBC_2.12 _IO_file_sync F
-GLIBC_2.12 _IO_file_underflow F
-GLIBC_2.12 _IO_file_write F
-GLIBC_2.12 _IO_file_xsputn F
-GLIBC_2.12 _IO_flockfile F
-GLIBC_2.12 _IO_flush_all F
-GLIBC_2.12 _IO_flush_all_linebuffered F
-GLIBC_2.12 _IO_fopen F
-GLIBC_2.12 _IO_fprintf F
-GLIBC_2.12 _IO_fputs F
-GLIBC_2.12 _IO_fread F
-GLIBC_2.12 _IO_free_backup_area F
-GLIBC_2.12 _IO_free_wbackup_area F
-GLIBC_2.12 _IO_fsetpos F
-GLIBC_2.12 _IO_fsetpos64 F
-GLIBC_2.12 _IO_ftell F
-GLIBC_2.12 _IO_ftrylockfile F
-GLIBC_2.12 _IO_funlockfile F
-GLIBC_2.12 _IO_fwrite F
-GLIBC_2.12 _IO_getc F
-GLIBC_2.12 _IO_getline F
-GLIBC_2.12 _IO_getline_info F
-GLIBC_2.12 _IO_gets F
-GLIBC_2.12 _IO_init F
-GLIBC_2.12 _IO_init_marker F
-GLIBC_2.12 _IO_init_wmarker F
-GLIBC_2.12 _IO_iter_begin F
-GLIBC_2.12 _IO_iter_end F
-GLIBC_2.12 _IO_iter_file F
-GLIBC_2.12 _IO_iter_next F
-GLIBC_2.12 _IO_least_wmarker F
-GLIBC_2.12 _IO_link_in F
-GLIBC_2.12 _IO_list_all D 0x8
-GLIBC_2.12 _IO_list_lock F
-GLIBC_2.12 _IO_list_resetlock F
-GLIBC_2.12 _IO_list_unlock F
-GLIBC_2.12 _IO_marker_delta F
-GLIBC_2.12 _IO_marker_difference F
-GLIBC_2.12 _IO_padn F
-GLIBC_2.12 _IO_peekc_locked F
-GLIBC_2.12 _IO_popen F
-GLIBC_2.12 _IO_printf F
-GLIBC_2.12 _IO_proc_close F
-GLIBC_2.12 _IO_proc_open F
-GLIBC_2.12 _IO_putc F
-GLIBC_2.12 _IO_puts F
-GLIBC_2.12 _IO_remove_marker F
-GLIBC_2.12 _IO_seekmark F
-GLIBC_2.12 _IO_seekoff F
-GLIBC_2.12 _IO_seekpos F
-GLIBC_2.12 _IO_seekwmark F
-GLIBC_2.12 _IO_setb F
-GLIBC_2.12 _IO_setbuffer F
-GLIBC_2.12 _IO_setvbuf F
-GLIBC_2.12 _IO_sgetn F
-GLIBC_2.12 _IO_sprintf F
-GLIBC_2.12 _IO_sputbackc F
-GLIBC_2.12 _IO_sputbackwc F
-GLIBC_2.12 _IO_sscanf F
-GLIBC_2.12 _IO_str_init_readonly F
-GLIBC_2.12 _IO_str_init_static F
-GLIBC_2.12 _IO_str_overflow F
-GLIBC_2.12 _IO_str_pbackfail F
-GLIBC_2.12 _IO_str_seekoff F
-GLIBC_2.12 _IO_str_underflow F
-GLIBC_2.12 _IO_sungetc F
-GLIBC_2.12 _IO_sungetwc F
-GLIBC_2.12 _IO_switch_to_get_mode F
-GLIBC_2.12 _IO_switch_to_main_wget_area F
-GLIBC_2.12 _IO_switch_to_wbackup_area F
-GLIBC_2.12 _IO_switch_to_wget_mode F
-GLIBC_2.12 _IO_un_link F
-GLIBC_2.12 _IO_ungetc F
-GLIBC_2.12 _IO_unsave_markers F
-GLIBC_2.12 _IO_unsave_wmarkers F
-GLIBC_2.12 _IO_vfprintf F
-GLIBC_2.12 _IO_vfscanf F
-GLIBC_2.12 _IO_vsprintf F
-GLIBC_2.12 _IO_wdefault_doallocate F
-GLIBC_2.12 _IO_wdefault_finish F
-GLIBC_2.12 _IO_wdefault_pbackfail F
-GLIBC_2.12 _IO_wdefault_uflow F
-GLIBC_2.12 _IO_wdefault_xsgetn F
-GLIBC_2.12 _IO_wdefault_xsputn F
-GLIBC_2.12 _IO_wdo_write F
-GLIBC_2.12 _IO_wdoallocbuf F
-GLIBC_2.12 _IO_wfile_jumps D 0xa8
-GLIBC_2.12 _IO_wfile_overflow F
-GLIBC_2.12 _IO_wfile_seekoff F
-GLIBC_2.12 _IO_wfile_sync F
-GLIBC_2.12 _IO_wfile_underflow F
-GLIBC_2.12 _IO_wfile_xsputn F
-GLIBC_2.12 _IO_wmarker_delta F
-GLIBC_2.12 _IO_wsetb F
-GLIBC_2.12 ___brk_addr D 0x8
-GLIBC_2.12 __adjtimex F
-GLIBC_2.12 __after_morecore_hook D 0x8
-GLIBC_2.12 __argz_count F
-GLIBC_2.12 __argz_next F
-GLIBC_2.12 __argz_stringify F
-GLIBC_2.12 __asprintf F
-GLIBC_2.12 __asprintf_chk F
-GLIBC_2.12 __assert F
-GLIBC_2.12 __assert_fail F
-GLIBC_2.12 __assert_perror_fail F
-GLIBC_2.12 __backtrace F
-GLIBC_2.12 __backtrace_symbols F
-GLIBC_2.12 __backtrace_symbols_fd F
-GLIBC_2.12 __bsd_getpgrp F
-GLIBC_2.12 __bzero F
-GLIBC_2.12 __check_rhosts_file D 0x4
-GLIBC_2.12 __chk_fail F
-GLIBC_2.12 __clone F
-GLIBC_2.12 __close F
-GLIBC_2.12 __cmsg_nxthdr F
-GLIBC_2.12 __confstr_chk F
-GLIBC_2.12 __connect F
-GLIBC_2.12 __ctype_b_loc F
-GLIBC_2.12 __ctype_get_mb_cur_max F
-GLIBC_2.12 __ctype_tolower_loc F
-GLIBC_2.12 __ctype_toupper_loc F
-GLIBC_2.12 __curbrk D 0x8
-GLIBC_2.12 __cxa_at_quick_exit F
-GLIBC_2.12 __cxa_atexit F
-GLIBC_2.12 __cxa_finalize F
-GLIBC_2.12 __cyg_profile_func_enter F
-GLIBC_2.12 __cyg_profile_func_exit F
-GLIBC_2.12 __daylight D 0x4
-GLIBC_2.12 __dcgettext F
-GLIBC_2.12 __default_morecore F
-GLIBC_2.12 __dgettext F
-GLIBC_2.12 __dprintf_chk F
-GLIBC_2.12 __dup2 F
-GLIBC_2.12 __duplocale F
-GLIBC_2.12 __endmntent F
-GLIBC_2.12 __environ D 0x8
-GLIBC_2.12 __errno_location F
-GLIBC_2.12 __fbufsize F
-GLIBC_2.12 __fcntl F
-GLIBC_2.12 __ffs F
-GLIBC_2.12 __fgets_chk F
-GLIBC_2.12 __fgets_unlocked_chk F
-GLIBC_2.12 __fgetws_chk F
-GLIBC_2.12 __fgetws_unlocked_chk F
-GLIBC_2.12 __finite F
-GLIBC_2.12 __finitef F
-GLIBC_2.12 __flbf F
-GLIBC_2.12 __fork F
-GLIBC_2.12 __fpending F
-GLIBC_2.12 __fprintf_chk F
-GLIBC_2.12 __fpu_control D 0x4
-GLIBC_2.12 __fpurge F
-GLIBC_2.12 __fread_chk F
-GLIBC_2.12 __fread_unlocked_chk F
-GLIBC_2.12 __freadable F
-GLIBC_2.12 __freading F
-GLIBC_2.12 __free_hook D 0x8
-GLIBC_2.12 __freelocale F
-GLIBC_2.12 __fsetlocking F
-GLIBC_2.12 __fwprintf_chk F
-GLIBC_2.12 __fwritable F
-GLIBC_2.12 __fwriting F
-GLIBC_2.12 __fxstat F
-GLIBC_2.12 __fxstat64 F
-GLIBC_2.12 __fxstatat F
-GLIBC_2.12 __fxstatat64 F
-GLIBC_2.12 __getcwd_chk F
-GLIBC_2.12 __getdelim F
-GLIBC_2.12 __getdomainname_chk F
-GLIBC_2.12 __getgroups_chk F
-GLIBC_2.12 __gethostname_chk F
-GLIBC_2.12 __getlogin_r_chk F
-GLIBC_2.12 __getmntent_r F
-GLIBC_2.12 __getpagesize F
-GLIBC_2.12 __getpgid F
-GLIBC_2.12 __getpid F
-GLIBC_2.12 __gets_chk F
-GLIBC_2.12 __gettimeofday F
-GLIBC_2.12 __getwd_chk F
-GLIBC_2.12 __gmtime_r F
-GLIBC_2.12 __h_errno_location F
-GLIBC_2.12 __isalnum_l F
-GLIBC_2.12 __isalpha_l F
-GLIBC_2.12 __isascii_l F
-GLIBC_2.12 __isblank_l F
-GLIBC_2.12 __iscntrl_l F
-GLIBC_2.12 __isctype F
-GLIBC_2.12 __isdigit_l F
-GLIBC_2.12 __isgraph_l F
-GLIBC_2.12 __isinf F
-GLIBC_2.12 __isinff F
-GLIBC_2.12 __islower_l F
-GLIBC_2.12 __isnan F
-GLIBC_2.12 __isnanf F
-GLIBC_2.12 __isoc99_fscanf F
-GLIBC_2.12 __isoc99_fwscanf F
-GLIBC_2.12 __isoc99_scanf F
-GLIBC_2.12 __isoc99_sscanf F
-GLIBC_2.12 __isoc99_swscanf F
-GLIBC_2.12 __isoc99_vfscanf F
-GLIBC_2.12 __isoc99_vfwscanf F
-GLIBC_2.12 __isoc99_vscanf F
-GLIBC_2.12 __isoc99_vsscanf F
-GLIBC_2.12 __isoc99_vswscanf F
-GLIBC_2.12 __isoc99_vwscanf F
-GLIBC_2.12 __isoc99_wscanf F
-GLIBC_2.12 __isprint_l F
-GLIBC_2.12 __ispunct_l F
-GLIBC_2.12 __isspace_l F
-GLIBC_2.12 __isupper_l F
-GLIBC_2.12 __iswalnum_l F
-GLIBC_2.12 __iswalpha_l F
-GLIBC_2.12 __iswblank_l F
-GLIBC_2.12 __iswcntrl_l F
-GLIBC_2.12 __iswctype F
-GLIBC_2.12 __iswctype_l F
-GLIBC_2.12 __iswdigit_l F
-GLIBC_2.12 __iswgraph_l F
-GLIBC_2.12 __iswlower_l F
-GLIBC_2.12 __iswprint_l F
-GLIBC_2.12 __iswpunct_l F
-GLIBC_2.12 __iswspace_l F
-GLIBC_2.12 __iswupper_l F
-GLIBC_2.12 __iswxdigit_l F
-GLIBC_2.12 __isxdigit_l F
-GLIBC_2.12 __ivaliduser F
-GLIBC_2.12 __key_decryptsession_pk_LOCAL D 0x8
-GLIBC_2.12 __key_encryptsession_pk_LOCAL D 0x8
-GLIBC_2.12 __key_gendes_LOCAL D 0x8
-GLIBC_2.12 __libc_allocate_rtsig F
-GLIBC_2.12 __libc_calloc F
-GLIBC_2.12 __libc_current_sigrtmax F
-GLIBC_2.12 __libc_current_sigrtmin F
-GLIBC_2.12 __libc_free F
-GLIBC_2.12 __libc_freeres F
-GLIBC_2.12 __libc_init_first F
-GLIBC_2.12 __libc_mallinfo F
-GLIBC_2.12 __libc_malloc F
-GLIBC_2.12 __libc_mallopt F
-GLIBC_2.12 __libc_memalign F
-GLIBC_2.12 __libc_pvalloc F
-GLIBC_2.12 __libc_realloc F
-GLIBC_2.12 __libc_sa_len F
-GLIBC_2.12 __libc_start_main F
-GLIBC_2.12 __libc_valloc F
-GLIBC_2.12 __longjmp_chk F
-GLIBC_2.12 __lseek F
-GLIBC_2.12 __lxstat F
-GLIBC_2.12 __lxstat64 F
-GLIBC_2.12 __malloc_hook D 0x8
-GLIBC_2.12 __malloc_initialize_hook D 0x8
-GLIBC_2.12 __mbrlen F
-GLIBC_2.12 __mbrtowc F
-GLIBC_2.12 __mbsnrtowcs_chk F
-GLIBC_2.12 __mbsrtowcs_chk F
-GLIBC_2.12 __mbstowcs_chk F
-GLIBC_2.12 __mcount F
-GLIBC_2.12 __memalign_hook D 0x8
-GLIBC_2.12 __memcpy_chk F
-GLIBC_2.12 __memmove_chk F
-GLIBC_2.12 __mempcpy F
-GLIBC_2.12 __mempcpy_chk F
-GLIBC_2.12 __mempcpy_small F
-GLIBC_2.12 __memset_chk F
-GLIBC_2.12 __monstartup F
-GLIBC_2.12 __morecore D 0x8
-GLIBC_2.12 __nanosleep F
-GLIBC_2.12 __newlocale F
-GLIBC_2.12 __nl_langinfo_l F
-GLIBC_2.12 __nss_configure_lookup F
-GLIBC_2.12 __nss_database_lookup F
-GLIBC_2.12 __nss_group_lookup F
-GLIBC_2.12 __nss_hostname_digits_dots F
-GLIBC_2.12 __nss_hosts_lookup F
-GLIBC_2.12 __nss_next F
-GLIBC_2.12 __nss_passwd_lookup F
-GLIBC_2.12 __obstack_printf_chk F
-GLIBC_2.12 __obstack_vprintf_chk F
-GLIBC_2.12 __open F
-GLIBC_2.12 __open64 F
-GLIBC_2.12 __open64_2 F
-GLIBC_2.12 __open_2 F
-GLIBC_2.12 __openat64_2 F
-GLIBC_2.12 __openat_2 F
-GLIBC_2.12 __overflow F
-GLIBC_2.12 __pipe F
-GLIBC_2.12 __poll F
-GLIBC_2.12 __posix_getopt F
-GLIBC_2.12 __pread64 F
-GLIBC_2.12 __pread64_chk F
-GLIBC_2.12 __pread_chk F
-GLIBC_2.12 __printf_chk F
-GLIBC_2.12 __printf_fp F
-GLIBC_2.12 __profile_frequency F
-GLIBC_2.12 __progname D 0x8
-GLIBC_2.12 __progname_full D 0x8
-GLIBC_2.12 __ptsname_r_chk F
-GLIBC_2.12 __pwrite64 F
-GLIBC_2.12 __rawmemchr F
-GLIBC_2.12 __rcmd_errstr D 0x8
-GLIBC_2.12 __read F
-GLIBC_2.12 __read_chk F
-GLIBC_2.12 __readlink_chk F
-GLIBC_2.12 __readlinkat_chk F
-GLIBC_2.12 __realloc_hook D 0x8
-GLIBC_2.12 __realpath_chk F
-GLIBC_2.12 __recv_chk F
-GLIBC_2.12 __recvfrom_chk F
-GLIBC_2.12 __register_atfork F
-GLIBC_2.12 __res_init F
-GLIBC_2.12 __res_nclose F
-GLIBC_2.12 __res_ninit F
-GLIBC_2.12 __res_randomid F
-GLIBC_2.12 __res_state F
-GLIBC_2.12 __rpc_thread_createerr F
-GLIBC_2.12 __rpc_thread_svc_fdset F
-GLIBC_2.12 __rpc_thread_svc_max_pollfd F
-GLIBC_2.12 __rpc_thread_svc_pollfd F
-GLIBC_2.12 __sbrk F
-GLIBC_2.12 __sched_cpualloc F
-GLIBC_2.12 __sched_cpucount F
-GLIBC_2.12 __sched_cpufree F
-GLIBC_2.12 __sched_get_priority_max F
-GLIBC_2.12 __sched_get_priority_min F
-GLIBC_2.12 __sched_getparam F
-GLIBC_2.12 __sched_getscheduler F
-GLIBC_2.12 __sched_setscheduler F
-GLIBC_2.12 __sched_yield F
-GLIBC_2.12 __secure_getenv F
-GLIBC_2.12 __select F
-GLIBC_2.12 __setmntent F
-GLIBC_2.12 __setpgid F
-GLIBC_2.12 __sigaction F
-GLIBC_2.12 __sigaddset F
-GLIBC_2.12 __sigdelset F
-GLIBC_2.12 __sigismember F
-GLIBC_2.12 __signbit F
-GLIBC_2.12 __signbitf F
-GLIBC_2.12 __sigpause F
-GLIBC_2.12 __sigsetjmp F
-GLIBC_2.12 __sigsuspend F
-GLIBC_2.12 __snprintf_chk F
-GLIBC_2.12 __sprintf_chk F
-GLIBC_2.12 __stack_chk_fail F
-GLIBC_2.12 __statfs F
-GLIBC_2.12 __stpcpy F
-GLIBC_2.12 __stpcpy_chk F
-GLIBC_2.12 __stpcpy_small F
-GLIBC_2.12 __stpncpy F
-GLIBC_2.12 __stpncpy_chk F
-GLIBC_2.12 __strcasecmp F
-GLIBC_2.12 __strcasecmp_l F
-GLIBC_2.12 __strcasestr F
-GLIBC_2.12 __strcat_chk F
-GLIBC_2.12 __strcoll_l F
-GLIBC_2.12 __strcpy_chk F
-GLIBC_2.12 __strcpy_small F
-GLIBC_2.12 __strcspn_c1 F
-GLIBC_2.12 __strcspn_c2 F
-GLIBC_2.12 __strcspn_c3 F
-GLIBC_2.12 __strdup F
-GLIBC_2.12 __strerror_r F
-GLIBC_2.12 __strfmon_l F
-GLIBC_2.12 __strftime_l F
-GLIBC_2.12 __strncasecmp_l F
-GLIBC_2.12 __strncat_chk F
-GLIBC_2.12 __strncpy_chk F
-GLIBC_2.12 __strndup F
-GLIBC_2.12 __strpbrk_c2 F
-GLIBC_2.12 __strpbrk_c3 F
-GLIBC_2.12 __strsep_1c F
-GLIBC_2.12 __strsep_2c F
-GLIBC_2.12 __strsep_3c F
-GLIBC_2.12 __strsep_g F
-GLIBC_2.12 __strspn_c1 F
-GLIBC_2.12 __strspn_c2 F
-GLIBC_2.12 __strspn_c3 F
-GLIBC_2.12 __strtod_internal F
-GLIBC_2.12 __strtod_l F
-GLIBC_2.12 __strtof_internal F
-GLIBC_2.12 __strtof_l F
-GLIBC_2.12 __strtok_r F
-GLIBC_2.12 __strtok_r_1c F
-GLIBC_2.12 __strtol_internal F
-GLIBC_2.12 __strtol_l F
-GLIBC_2.12 __strtold_internal F
-GLIBC_2.12 __strtold_l F
-GLIBC_2.12 __strtoll_internal F
-GLIBC_2.12 __strtoll_l F
-GLIBC_2.12 __strtoul_internal F
-GLIBC_2.12 __strtoul_l F
-GLIBC_2.12 __strtoull_internal F
-GLIBC_2.12 __strtoull_l F
-GLIBC_2.12 __strverscmp F
-GLIBC_2.12 __strxfrm_l F
-GLIBC_2.12 __swprintf_chk F
-GLIBC_2.12 __sysconf F
-GLIBC_2.12 __syslog_chk F
-GLIBC_2.12 __sysv_signal F
-GLIBC_2.12 __timezone D 0x8
-GLIBC_2.12 __toascii_l F
-GLIBC_2.12 __tolower_l F
-GLIBC_2.12 __toupper_l F
-GLIBC_2.12 __towctrans F
-GLIBC_2.12 __towctrans_l F
-GLIBC_2.12 __towlower_l F
-GLIBC_2.12 __towupper_l F
-GLIBC_2.12 __ttyname_r_chk F
-GLIBC_2.12 __tzname D 0x10
-GLIBC_2.12 __uflow F
-GLIBC_2.12 __underflow F
-GLIBC_2.12 __uselocale F
-GLIBC_2.12 __vasprintf_chk F
-GLIBC_2.12 __vdprintf_chk F
-GLIBC_2.12 __vfork F
-GLIBC_2.12 __vfprintf_chk F
-GLIBC_2.12 __vfscanf F
-GLIBC_2.12 __vfwprintf_chk F
-GLIBC_2.12 __vprintf_chk F
-GLIBC_2.12 __vsnprintf F
-GLIBC_2.12 __vsnprintf_chk F
-GLIBC_2.12 __vsprintf_chk F
-GLIBC_2.12 __vsscanf F
-GLIBC_2.12 __vswprintf_chk F
-GLIBC_2.12 __vsyslog_chk F
-GLIBC_2.12 __vwprintf_chk F
-GLIBC_2.12 __wait F
-GLIBC_2.12 __waitpid F
-GLIBC_2.12 __wcpcpy_chk F
-GLIBC_2.12 __wcpncpy_chk F
-GLIBC_2.12 __wcrtomb_chk F
-GLIBC_2.12 __wcscasecmp_l F
-GLIBC_2.12 __wcscat_chk F
-GLIBC_2.12 __wcscoll_l F
-GLIBC_2.12 __wcscpy_chk F
-GLIBC_2.12 __wcsftime_l F
-GLIBC_2.12 __wcsncasecmp_l F
-GLIBC_2.12 __wcsncat_chk F
-GLIBC_2.12 __wcsncpy_chk F
-GLIBC_2.12 __wcsnrtombs_chk F
-GLIBC_2.12 __wcsrtombs_chk F
-GLIBC_2.12 __wcstod_internal F
-GLIBC_2.12 __wcstod_l F
-GLIBC_2.12 __wcstof_internal F
-GLIBC_2.12 __wcstof_l F
-GLIBC_2.12 __wcstol_internal F
-GLIBC_2.12 __wcstol_l F
-GLIBC_2.12 __wcstold_internal F
-GLIBC_2.12 __wcstold_l F
-GLIBC_2.12 __wcstoll_internal F
-GLIBC_2.12 __wcstoll_l F
-GLIBC_2.12 __wcstombs_chk F
-GLIBC_2.12 __wcstoul_internal F
-GLIBC_2.12 __wcstoul_l F
-GLIBC_2.12 __wcstoull_internal F
-GLIBC_2.12 __wcstoull_l F
-GLIBC_2.12 __wcsxfrm_l F
-GLIBC_2.12 __wctomb_chk F
-GLIBC_2.12 __wctrans_l F
-GLIBC_2.12 __wctype_l F
-GLIBC_2.12 __wmemcpy_chk F
-GLIBC_2.12 __wmemmove_chk F
-GLIBC_2.12 __wmempcpy_chk F
-GLIBC_2.12 __wmemset_chk F
-GLIBC_2.12 __woverflow F
-GLIBC_2.12 __wprintf_chk F
-GLIBC_2.12 __write F
-GLIBC_2.12 __wuflow F
-GLIBC_2.12 __wunderflow F
-GLIBC_2.12 __xmknod F
-GLIBC_2.12 __xmknodat F
-GLIBC_2.12 __xpg_basename F
-GLIBC_2.12 __xpg_sigpause F
-GLIBC_2.12 __xpg_strerror_r F
-GLIBC_2.12 __xstat F
-GLIBC_2.12 __xstat64 F
-GLIBC_2.12 _authenticate F
-GLIBC_2.12 _dl_mcount_wrapper F
-GLIBC_2.12 _dl_mcount_wrapper_check F
-GLIBC_2.12 _environ D 0x8
-GLIBC_2.12 _exit F
-GLIBC_2.12 _flush_cache F
-GLIBC_2.12 _flushlbf F
-GLIBC_2.12 _libc_intl_domainname D 0x5
-GLIBC_2.12 _longjmp F
-GLIBC_2.12 _mcleanup F
-GLIBC_2.12 _mcount F
-GLIBC_2.12 _nl_default_dirname D 0x12
-GLIBC_2.12 _nl_domain_bindings D 0x8
-GLIBC_2.12 _nl_msg_cat_cntr D 0x4
-GLIBC_2.12 _null_auth D 0x18
-GLIBC_2.12 _obstack_allocated_p F
-GLIBC_2.12 _obstack_begin F
-GLIBC_2.12 _obstack_begin_1 F
-GLIBC_2.12 _obstack_free F
-GLIBC_2.12 _obstack_memory_used F
-GLIBC_2.12 _obstack_newchunk F
-GLIBC_2.12 _res D 0x238
-GLIBC_2.12 _res_hconf D 0x48
-GLIBC_2.12 _rpc_dtablesize F
-GLIBC_2.12 _seterr_reply F
-GLIBC_2.12 _setjmp F
-GLIBC_2.12 _sys_errlist D 0x438
-GLIBC_2.12 _sys_nerr D 0x4
-GLIBC_2.12 _sys_siglist D 0x208
-GLIBC_2.12 _tolower F
-GLIBC_2.12 _toupper F
-GLIBC_2.12 a64l F
-GLIBC_2.12 abort F
-GLIBC_2.12 abs F
-GLIBC_2.12 accept F
-GLIBC_2.12 accept4 F
-GLIBC_2.12 access F
-GLIBC_2.12 acct F
-GLIBC_2.12 addmntent F
-GLIBC_2.12 addseverity F
-GLIBC_2.12 adjtime F
-GLIBC_2.12 adjtimex F
-GLIBC_2.12 advance F
-GLIBC_2.12 alarm F
-GLIBC_2.12 alphasort F
-GLIBC_2.12 alphasort64 F
-GLIBC_2.12 argp_err_exit_status D 0x4
-GLIBC_2.12 argp_error F
-GLIBC_2.12 argp_failure F
-GLIBC_2.12 argp_help F
-GLIBC_2.12 argp_parse F
-GLIBC_2.12 argp_program_bug_address D 0x8
-GLIBC_2.12 argp_program_version D 0x8
-GLIBC_2.12 argp_program_version_hook D 0x8
-GLIBC_2.12 argp_state_help F
-GLIBC_2.12 argp_usage F
-GLIBC_2.12 argz_add F
-GLIBC_2.12 argz_add_sep F
-GLIBC_2.12 argz_append F
-GLIBC_2.12 argz_count F
-GLIBC_2.12 argz_create F
-GLIBC_2.12 argz_create_sep F
-GLIBC_2.12 argz_delete F
-GLIBC_2.12 argz_extract F
-GLIBC_2.12 argz_insert F
-GLIBC_2.12 argz_next F
-GLIBC_2.12 argz_replace F
-GLIBC_2.12 argz_stringify F
-GLIBC_2.12 asctime F
-GLIBC_2.12 asctime_r F
-GLIBC_2.12 asprintf F
-GLIBC_2.12 atof F
-GLIBC_2.12 atoi F
-GLIBC_2.12 atol F
-GLIBC_2.12 atoll F
-GLIBC_2.12 authdes_create F
-GLIBC_2.12 authdes_getucred F
-GLIBC_2.12 authdes_pk_create F
-GLIBC_2.12 authnone_create F
-GLIBC_2.12 authunix_create F
-GLIBC_2.12 authunix_create_default F
-GLIBC_2.12 backtrace F
-GLIBC_2.12 backtrace_symbols F
-GLIBC_2.12 backtrace_symbols_fd F
-GLIBC_2.12 basename F
-GLIBC_2.12 bcmp F
-GLIBC_2.12 bcopy F
-GLIBC_2.12 bdflush F
-GLIBC_2.12 bind F
-GLIBC_2.12 bind_textdomain_codeset F
-GLIBC_2.12 bindresvport F
-GLIBC_2.12 bindtextdomain F
-GLIBC_2.12 brk F
-GLIBC_2.12 bsd_signal F
-GLIBC_2.12 bsearch F
-GLIBC_2.12 btowc F
-GLIBC_2.12 bzero F
-GLIBC_2.12 cacheflush F
-GLIBC_2.12 calloc F
-GLIBC_2.12 callrpc F
-GLIBC_2.12 canonicalize_file_name F
-GLIBC_2.12 capget F
-GLIBC_2.12 capset F
-GLIBC_2.12 catclose F
-GLIBC_2.12 catgets F
-GLIBC_2.12 catopen F
-GLIBC_2.12 cbc_crypt F
-GLIBC_2.12 cfgetispeed F
-GLIBC_2.12 cfgetospeed F
-GLIBC_2.12 cfmakeraw F
-GLIBC_2.12 cfree F
-GLIBC_2.12 cfsetispeed F
-GLIBC_2.12 cfsetospeed F
-GLIBC_2.12 cfsetspeed F
-GLIBC_2.12 chdir F
-GLIBC_2.12 chflags F
-GLIBC_2.12 chmod F
-GLIBC_2.12 chown F
-GLIBC_2.12 chroot F
-GLIBC_2.12 clearenv F
-GLIBC_2.12 clearerr F
-GLIBC_2.12 clearerr_unlocked F
-GLIBC_2.12 clnt_broadcast F
-GLIBC_2.12 clnt_create F
-GLIBC_2.12 clnt_pcreateerror F
-GLIBC_2.12 clnt_perrno F
-GLIBC_2.12 clnt_perror F
-GLIBC_2.12 clnt_spcreateerror F
-GLIBC_2.12 clnt_sperrno F
-GLIBC_2.12 clnt_sperror F
-GLIBC_2.12 clntraw_create F
-GLIBC_2.12 clnttcp_create F
-GLIBC_2.12 clntudp_bufcreate F
-GLIBC_2.12 clntudp_create F
-GLIBC_2.12 clntunix_create F
-GLIBC_2.12 clock F
-GLIBC_2.12 clone F
-GLIBC_2.12 close F
-GLIBC_2.12 closedir F
-GLIBC_2.12 closelog F
-GLIBC_2.12 confstr F
-GLIBC_2.12 connect F
-GLIBC_2.12 copysign F
-GLIBC_2.12 copysignf F
-GLIBC_2.12 copysignl F
-GLIBC_2.12 creat F
-GLIBC_2.12 creat64 F
-GLIBC_2.12 create_module F
-GLIBC_2.12 ctermid F
-GLIBC_2.12 ctime F
-GLIBC_2.12 ctime_r F
-GLIBC_2.12 cuserid F
-GLIBC_2.12 daemon F
-GLIBC_2.12 daylight D 0x4
-GLIBC_2.12 dcgettext F
-GLIBC_2.12 dcngettext F
-GLIBC_2.12 delete_module F
-GLIBC_2.12 des_setparity F
-GLIBC_2.12 dgettext F
-GLIBC_2.12 difftime F
-GLIBC_2.12 dirfd F
-GLIBC_2.12 dirname F
-GLIBC_2.12 div F
-GLIBC_2.12 dl_iterate_phdr F
-GLIBC_2.12 dngettext F
-GLIBC_2.12 dprintf F
-GLIBC_2.12 drand48 F
-GLIBC_2.12 drand48_r F
-GLIBC_2.12 dup F
-GLIBC_2.12 dup2 F
-GLIBC_2.12 dup3 F
-GLIBC_2.12 duplocale F
-GLIBC_2.12 dysize F
-GLIBC_2.12 eaccess F
-GLIBC_2.12 ecb_crypt F
-GLIBC_2.12 ecvt F
-GLIBC_2.12 ecvt_r F
-GLIBC_2.12 endaliasent F
-GLIBC_2.12 endfsent F
-GLIBC_2.12 endgrent F
-GLIBC_2.12 endhostent F
-GLIBC_2.12 endmntent F
-GLIBC_2.12 endnetent F
-GLIBC_2.12 endnetgrent F
-GLIBC_2.12 endprotoent F
-GLIBC_2.12 endpwent F
-GLIBC_2.12 endrpcent F
-GLIBC_2.12 endservent F
-GLIBC_2.12 endsgent F
-GLIBC_2.12 endspent F
-GLIBC_2.12 endttyent F
-GLIBC_2.12 endusershell F
-GLIBC_2.12 endutent F
-GLIBC_2.12 endutxent F
-GLIBC_2.12 environ D 0x8
-GLIBC_2.12 envz_add F
-GLIBC_2.12 envz_entry F
-GLIBC_2.12 envz_get F
-GLIBC_2.12 envz_merge F
-GLIBC_2.12 envz_remove F
-GLIBC_2.12 envz_strip F
-GLIBC_2.12 epoll_create F
-GLIBC_2.12 epoll_create1 F
-GLIBC_2.12 epoll_ctl F
-GLIBC_2.12 epoll_pwait F
-GLIBC_2.12 epoll_wait F
-GLIBC_2.12 erand48 F
-GLIBC_2.12 erand48_r F
-GLIBC_2.12 err F
-GLIBC_2.12 error F
-GLIBC_2.12 error_at_line F
-GLIBC_2.12 error_message_count D 0x4
-GLIBC_2.12 error_one_per_line D 0x4
-GLIBC_2.12 error_print_progname D 0x8
-GLIBC_2.12 errx F
-GLIBC_2.12 ether_aton F
-GLIBC_2.12 ether_aton_r F
-GLIBC_2.12 ether_hostton F
-GLIBC_2.12 ether_line F
-GLIBC_2.12 ether_ntoa F
-GLIBC_2.12 ether_ntoa_r F
-GLIBC_2.12 ether_ntohost F
-GLIBC_2.12 euidaccess F
-GLIBC_2.12 eventfd F
-GLIBC_2.12 eventfd_read F
-GLIBC_2.12 eventfd_write F
-GLIBC_2.12 execl F
-GLIBC_2.12 execle F
-GLIBC_2.12 execlp F
-GLIBC_2.12 execv F
-GLIBC_2.12 execve F
-GLIBC_2.12 execvp F
-GLIBC_2.12 execvpe F
-GLIBC_2.12 exit F
-GLIBC_2.12 faccessat F
-GLIBC_2.12 fallocate F
-GLIBC_2.12 fallocate64 F
-GLIBC_2.12 fattach F
-GLIBC_2.12 fchdir F
-GLIBC_2.12 fchflags F
-GLIBC_2.12 fchmod F
-GLIBC_2.12 fchmodat F
-GLIBC_2.12 fchown F
-GLIBC_2.12 fchownat F
-GLIBC_2.12 fclose F
-GLIBC_2.12 fcloseall F
-GLIBC_2.12 fcntl F
-GLIBC_2.12 fcvt F
-GLIBC_2.12 fcvt_r F
-GLIBC_2.12 fdatasync F
-GLIBC_2.12 fdetach F
-GLIBC_2.12 fdopen F
-GLIBC_2.12 fdopendir F
-GLIBC_2.12 feof F
-GLIBC_2.12 feof_unlocked F
-GLIBC_2.12 ferror F
-GLIBC_2.12 ferror_unlocked F
-GLIBC_2.12 fexecve F
-GLIBC_2.12 fflush F
-GLIBC_2.12 fflush_unlocked F
-GLIBC_2.12 ffs F
-GLIBC_2.12 ffsl F
-GLIBC_2.12 ffsll F
-GLIBC_2.12 fgetc F
-GLIBC_2.12 fgetc_unlocked F
-GLIBC_2.12 fgetgrent F
-GLIBC_2.12 fgetgrent_r F
-GLIBC_2.12 fgetpos F
-GLIBC_2.12 fgetpos64 F
-GLIBC_2.12 fgetpwent F
-GLIBC_2.12 fgetpwent_r F
-GLIBC_2.12 fgets F
-GLIBC_2.12 fgets_unlocked F
-GLIBC_2.12 fgetsgent F
-GLIBC_2.12 fgetsgent_r F
-GLIBC_2.12 fgetspent F
-GLIBC_2.12 fgetspent_r F
-GLIBC_2.12 fgetwc F
-GLIBC_2.12 fgetwc_unlocked F
-GLIBC_2.12 fgetws F
-GLIBC_2.12 fgetws_unlocked F
-GLIBC_2.12 fgetxattr F
-GLIBC_2.12 fileno F
-GLIBC_2.12 fileno_unlocked F
-GLIBC_2.12 finite F
-GLIBC_2.12 finitef F
-GLIBC_2.12 finitel F
-GLIBC_2.12 flistxattr F
-GLIBC_2.12 flock F
-GLIBC_2.12 flockfile F
-GLIBC_2.12 fmemopen F
-GLIBC_2.12 fmtmsg F
-GLIBC_2.12 fnmatch F
-GLIBC_2.12 fopen F
-GLIBC_2.12 fopen64 F
-GLIBC_2.12 fopencookie F
-GLIBC_2.12 fork F
-GLIBC_2.12 fpathconf F
-GLIBC_2.12 fprintf F
-GLIBC_2.12 fputc F
-GLIBC_2.12 fputc_unlocked F
-GLIBC_2.12 fputs F
-GLIBC_2.12 fputs_unlocked F
-GLIBC_2.12 fputwc F
-GLIBC_2.12 fputwc_unlocked F
-GLIBC_2.12 fputws F
-GLIBC_2.12 fputws_unlocked F
-GLIBC_2.12 fread F
-GLIBC_2.12 fread_unlocked F
-GLIBC_2.12 free F
-GLIBC_2.12 freeaddrinfo F
-GLIBC_2.12 freeifaddrs F
-GLIBC_2.12 freelocale F
-GLIBC_2.12 fremovexattr F
-GLIBC_2.12 freopen F
-GLIBC_2.12 freopen64 F
-GLIBC_2.12 frexp F
-GLIBC_2.12 frexpf F
-GLIBC_2.12 frexpl F
-GLIBC_2.12 fscanf F
-GLIBC_2.12 fseek F
-GLIBC_2.12 fseeko F
-GLIBC_2.12 fseeko64 F
-GLIBC_2.12 fsetpos F
-GLIBC_2.12 fsetpos64 F
-GLIBC_2.12 fsetxattr F
-GLIBC_2.12 fstatfs F
-GLIBC_2.12 fstatfs64 F
-GLIBC_2.12 fstatvfs F
-GLIBC_2.12 fstatvfs64 F
-GLIBC_2.12 fsync F
-GLIBC_2.12 ftell F
-GLIBC_2.12 ftello F
-GLIBC_2.12 ftello64 F
-GLIBC_2.12 ftime F
-GLIBC_2.12 ftok F
-GLIBC_2.12 ftruncate F
-GLIBC_2.12 ftruncate64 F
-GLIBC_2.12 ftrylockfile F
-GLIBC_2.12 fts_children F
-GLIBC_2.12 fts_close F
-GLIBC_2.12 fts_open F
-GLIBC_2.12 fts_read F
-GLIBC_2.12 fts_set F
-GLIBC_2.12 ftw F
-GLIBC_2.12 ftw64 F
-GLIBC_2.12 funlockfile F
-GLIBC_2.12 futimens F
-GLIBC_2.12 futimes F
-GLIBC_2.12 futimesat F
-GLIBC_2.12 fwide F
-GLIBC_2.12 fwprintf F
-GLIBC_2.12 fwrite F
-GLIBC_2.12 fwrite_unlocked F
-GLIBC_2.12 fwscanf F
-GLIBC_2.12 gai_strerror F
-GLIBC_2.12 gcvt F
-GLIBC_2.12 get_avphys_pages F
-GLIBC_2.12 get_current_dir_name F
-GLIBC_2.12 get_kernel_syms F
-GLIBC_2.12 get_myaddress F
-GLIBC_2.12 get_nprocs F
-GLIBC_2.12 get_nprocs_conf F
-GLIBC_2.12 get_phys_pages F
-GLIBC_2.12 getaddrinfo F
-GLIBC_2.12 getaliasbyname F
-GLIBC_2.12 getaliasbyname_r F
-GLIBC_2.12 getaliasent F
-GLIBC_2.12 getaliasent_r F
-GLIBC_2.12 getc F
-GLIBC_2.12 getc_unlocked F
-GLIBC_2.12 getchar F
-GLIBC_2.12 getchar_unlocked F
-GLIBC_2.12 getcontext F
-GLIBC_2.12 getcwd F
-GLIBC_2.12 getdate F
-GLIBC_2.12 getdate_err D 0x4
-GLIBC_2.12 getdate_r F
-GLIBC_2.12 getdelim F
-GLIBC_2.12 getdirentries F
-GLIBC_2.12 getdirentries64 F
-GLIBC_2.12 getdomainname F
-GLIBC_2.12 getdtablesize F
-GLIBC_2.12 getegid F
-GLIBC_2.12 getenv F
-GLIBC_2.12 geteuid F
-GLIBC_2.12 getfsent F
-GLIBC_2.12 getfsfile F
-GLIBC_2.12 getfsspec F
-GLIBC_2.12 getgid F
-GLIBC_2.12 getgrent F
-GLIBC_2.12 getgrent_r F
-GLIBC_2.12 getgrgid F
-GLIBC_2.12 getgrgid_r F
-GLIBC_2.12 getgrnam F
-GLIBC_2.12 getgrnam_r F
-GLIBC_2.12 getgrouplist F
-GLIBC_2.12 getgroups F
-GLIBC_2.12 gethostbyaddr F
-GLIBC_2.12 gethostbyaddr_r F
-GLIBC_2.12 gethostbyname F
-GLIBC_2.12 gethostbyname2 F
-GLIBC_2.12 gethostbyname2_r F
-GLIBC_2.12 gethostbyname_r F
-GLIBC_2.12 gethostent F
-GLIBC_2.12 gethostent_r F
-GLIBC_2.12 gethostid F
-GLIBC_2.12 gethostname F
-GLIBC_2.12 getifaddrs F
-GLIBC_2.12 getipv4sourcefilter F
-GLIBC_2.12 getitimer F
-GLIBC_2.12 getline F
-GLIBC_2.12 getloadavg F
-GLIBC_2.12 getlogin F
-GLIBC_2.12 getlogin_r F
-GLIBC_2.12 getmntent F
-GLIBC_2.12 getmntent_r F
-GLIBC_2.12 getmsg F
-GLIBC_2.12 getnameinfo F
-GLIBC_2.12 getnetbyaddr F
-GLIBC_2.12 getnetbyaddr_r F
-GLIBC_2.12 getnetbyname F
-GLIBC_2.12 getnetbyname_r F
-GLIBC_2.12 getnetent F
-GLIBC_2.12 getnetent_r F
-GLIBC_2.12 getnetgrent F
-GLIBC_2.12 getnetgrent_r F
-GLIBC_2.12 getnetname F
-GLIBC_2.12 getopt F
-GLIBC_2.12 getopt_long F
-GLIBC_2.12 getopt_long_only F
-GLIBC_2.12 getpagesize F
-GLIBC_2.12 getpass F
-GLIBC_2.12 getpeername F
-GLIBC_2.12 getpgid F
-GLIBC_2.12 getpgrp F
-GLIBC_2.12 getpid F
-GLIBC_2.12 getpmsg F
-GLIBC_2.12 getppid F
-GLIBC_2.12 getpriority F
-GLIBC_2.12 getprotobyname F
-GLIBC_2.12 getprotobyname_r F
-GLIBC_2.12 getprotobynumber F
-GLIBC_2.12 getprotobynumber_r F
-GLIBC_2.12 getprotoent F
-GLIBC_2.12 getprotoent_r F
-GLIBC_2.12 getpt F
-GLIBC_2.12 getpublickey F
-GLIBC_2.12 getpw F
-GLIBC_2.12 getpwent F
-GLIBC_2.12 getpwent_r F
-GLIBC_2.12 getpwnam F
-GLIBC_2.12 getpwnam_r F
-GLIBC_2.12 getpwuid F
-GLIBC_2.12 getpwuid_r F
-GLIBC_2.12 getresgid F
-GLIBC_2.12 getresuid F
-GLIBC_2.12 getrlimit F
-GLIBC_2.12 getrlimit64 F
-GLIBC_2.12 getrpcbyname F
-GLIBC_2.12 getrpcbyname_r F
-GLIBC_2.12 getrpcbynumber F
-GLIBC_2.12 getrpcbynumber_r F
-GLIBC_2.12 getrpcent F
-GLIBC_2.12 getrpcent_r F
-GLIBC_2.12 getrpcport F
-GLIBC_2.12 getrusage F
-GLIBC_2.12 gets F
-GLIBC_2.12 getsecretkey F
-GLIBC_2.12 getservbyname F
-GLIBC_2.12 getservbyname_r F
-GLIBC_2.12 getservbyport F
-GLIBC_2.12 getservbyport_r F
-GLIBC_2.12 getservent F
-GLIBC_2.12 getservent_r F
-GLIBC_2.12 getsgent F
-GLIBC_2.12 getsgent_r F
-GLIBC_2.12 getsgnam F
-GLIBC_2.12 getsgnam_r F
-GLIBC_2.12 getsid F
-GLIBC_2.12 getsockname F
-GLIBC_2.12 getsockopt F
-GLIBC_2.12 getsourcefilter F
-GLIBC_2.12 getspent F
-GLIBC_2.12 getspent_r F
-GLIBC_2.12 getspnam F
-GLIBC_2.12 getspnam_r F
-GLIBC_2.12 getsubopt F
-GLIBC_2.12 gettext F
-GLIBC_2.12 gettimeofday F
-GLIBC_2.12 getttyent F
-GLIBC_2.12 getttynam F
-GLIBC_2.12 getuid F
-GLIBC_2.12 getusershell F
-GLIBC_2.12 getutent F
-GLIBC_2.12 getutent_r F
-GLIBC_2.12 getutid F
-GLIBC_2.12 getutid_r F
-GLIBC_2.12 getutline F
-GLIBC_2.12 getutline_r F
-GLIBC_2.12 getutmp F
-GLIBC_2.12 getutmpx F
-GLIBC_2.12 getutxent F
-GLIBC_2.12 getutxid F
-GLIBC_2.12 getutxline F
-GLIBC_2.12 getw F
-GLIBC_2.12 getwc F
-GLIBC_2.12 getwc_unlocked F
-GLIBC_2.12 getwchar F
-GLIBC_2.12 getwchar_unlocked F
-GLIBC_2.12 getwd F
-GLIBC_2.12 getxattr F
-GLIBC_2.12 glob F
-GLIBC_2.12 glob64 F
-GLIBC_2.12 glob_pattern_p F
-GLIBC_2.12 globfree F
-GLIBC_2.12 globfree64 F
-GLIBC_2.12 gmtime F
-GLIBC_2.12 gmtime_r F
-GLIBC_2.12 gnu_dev_major F
-GLIBC_2.12 gnu_dev_makedev F
-GLIBC_2.12 gnu_dev_minor F
-GLIBC_2.12 gnu_get_libc_release F
-GLIBC_2.12 gnu_get_libc_version F
-GLIBC_2.12 grantpt F
-GLIBC_2.12 group_member F
-GLIBC_2.12 gsignal F
-GLIBC_2.12 gtty F
-GLIBC_2.12 h_errlist D 0x28
-GLIBC_2.12 h_nerr D 0x4
-GLIBC_2.12 hasmntopt F
-GLIBC_2.12 hcreate F
-GLIBC_2.12 hcreate_r F
-GLIBC_2.12 hdestroy F
-GLIBC_2.12 hdestroy_r F
-GLIBC_2.12 herror F
-GLIBC_2.12 host2netname F
-GLIBC_2.12 hsearch F
-GLIBC_2.12 hsearch_r F
-GLIBC_2.12 hstrerror F
-GLIBC_2.12 htonl F
-GLIBC_2.12 htons F
-GLIBC_2.12 iconv F
-GLIBC_2.12 iconv_close F
-GLIBC_2.12 iconv_open F
-GLIBC_2.12 if_freenameindex F
-GLIBC_2.12 if_indextoname F
-GLIBC_2.12 if_nameindex F
-GLIBC_2.12 if_nametoindex F
-GLIBC_2.12 imaxabs F
-GLIBC_2.12 imaxdiv F
-GLIBC_2.12 in6addr_any D 0x10
-GLIBC_2.12 in6addr_loopback D 0x10
-GLIBC_2.12 index F
-GLIBC_2.12 inet6_opt_append F
-GLIBC_2.12 inet6_opt_find F
-GLIBC_2.12 inet6_opt_finish F
-GLIBC_2.12 inet6_opt_get_val F
-GLIBC_2.12 inet6_opt_init F
-GLIBC_2.12 inet6_opt_next F
-GLIBC_2.12 inet6_opt_set_val F
-GLIBC_2.12 inet6_option_alloc F
-GLIBC_2.12 inet6_option_append F
-GLIBC_2.12 inet6_option_find F
-GLIBC_2.12 inet6_option_init F
-GLIBC_2.12 inet6_option_next F
-GLIBC_2.12 inet6_option_space F
-GLIBC_2.12 inet6_rth_add F
-GLIBC_2.12 inet6_rth_getaddr F
-GLIBC_2.12 inet6_rth_init F
-GLIBC_2.12 inet6_rth_reverse F
-GLIBC_2.12 inet6_rth_segments F
-GLIBC_2.12 inet6_rth_space F
-GLIBC_2.12 inet_addr F
-GLIBC_2.12 inet_aton F
-GLIBC_2.12 inet_lnaof F
-GLIBC_2.12 inet_makeaddr F
-GLIBC_2.12 inet_netof F
-GLIBC_2.12 inet_network F
-GLIBC_2.12 inet_nsap_addr F
-GLIBC_2.12 inet_nsap_ntoa F
-GLIBC_2.12 inet_ntoa F
-GLIBC_2.12 inet_ntop F
-GLIBC_2.12 inet_pton F
-GLIBC_2.12 init_module F
-GLIBC_2.12 initgroups F
-GLIBC_2.12 initstate F
-GLIBC_2.12 initstate_r F
-GLIBC_2.12 innetgr F
-GLIBC_2.12 inotify_add_watch F
-GLIBC_2.12 inotify_init F
-GLIBC_2.12 inotify_init1 F
-GLIBC_2.12 inotify_rm_watch F
-GLIBC_2.12 insque F
-GLIBC_2.12 ioctl F
-GLIBC_2.12 iruserok F
-GLIBC_2.12 iruserok_af F
-GLIBC_2.12 isalnum F
-GLIBC_2.12 isalnum_l F
-GLIBC_2.12 isalpha F
-GLIBC_2.12 isalpha_l F
-GLIBC_2.12 isascii F
-GLIBC_2.12 isastream F
-GLIBC_2.12 isatty F
-GLIBC_2.12 isblank F
-GLIBC_2.12 isblank_l F
-GLIBC_2.12 iscntrl F
-GLIBC_2.12 iscntrl_l F
-GLIBC_2.12 isctype F
-GLIBC_2.12 isdigit F
-GLIBC_2.12 isdigit_l F
-GLIBC_2.12 isfdtype F
-GLIBC_2.12 isgraph F
-GLIBC_2.12 isgraph_l F
-GLIBC_2.12 isinf F
-GLIBC_2.12 isinff F
-GLIBC_2.12 isinfl F
-GLIBC_2.12 islower F
-GLIBC_2.12 islower_l F
-GLIBC_2.12 isnan F
-GLIBC_2.12 isnanf F
-GLIBC_2.12 isnanl F
-GLIBC_2.12 isprint F
-GLIBC_2.12 isprint_l F
-GLIBC_2.12 ispunct F
-GLIBC_2.12 ispunct_l F
-GLIBC_2.12 isspace F
-GLIBC_2.12 isspace_l F
-GLIBC_2.12 isupper F
-GLIBC_2.12 isupper_l F
-GLIBC_2.12 iswalnum F
-GLIBC_2.12 iswalnum_l F
-GLIBC_2.12 iswalpha F
-GLIBC_2.12 iswalpha_l F
-GLIBC_2.12 iswblank F
-GLIBC_2.12 iswblank_l F
-GLIBC_2.12 iswcntrl F
-GLIBC_2.12 iswcntrl_l F
-GLIBC_2.12 iswctype F
-GLIBC_2.12 iswctype_l F
-GLIBC_2.12 iswdigit F
-GLIBC_2.12 iswdigit_l F
-GLIBC_2.12 iswgraph F
-GLIBC_2.12 iswgraph_l F
-GLIBC_2.12 iswlower F
-GLIBC_2.12 iswlower_l F
-GLIBC_2.12 iswprint F
-GLIBC_2.12 iswprint_l F
-GLIBC_2.12 iswpunct F
-GLIBC_2.12 iswpunct_l F
-GLIBC_2.12 iswspace F
-GLIBC_2.12 iswspace_l F
-GLIBC_2.12 iswupper F
-GLIBC_2.12 iswupper_l F
-GLIBC_2.12 iswxdigit F
-GLIBC_2.12 iswxdigit_l F
-GLIBC_2.12 isxdigit F
-GLIBC_2.12 isxdigit_l F
-GLIBC_2.12 jrand48 F
-GLIBC_2.12 jrand48_r F
-GLIBC_2.12 key_decryptsession F
-GLIBC_2.12 key_decryptsession_pk F
-GLIBC_2.12 key_encryptsession F
-GLIBC_2.12 key_encryptsession_pk F
-GLIBC_2.12 key_gendes F
-GLIBC_2.12 key_get_conv F
-GLIBC_2.12 key_secretkey_is_set F
-GLIBC_2.12 key_setnet F
-GLIBC_2.12 key_setsecret F
-GLIBC_2.12 kill F
-GLIBC_2.12 killpg F
-GLIBC_2.12 klogctl F
-GLIBC_2.12 l64a F
-GLIBC_2.12 labs F
-GLIBC_2.12 lchmod F
-GLIBC_2.12 lchown F
-GLIBC_2.12 lckpwdf F
-GLIBC_2.12 lcong48 F
-GLIBC_2.12 lcong48_r F
-GLIBC_2.12 ldexp F
-GLIBC_2.12 ldexpf F
-GLIBC_2.12 ldexpl F
-GLIBC_2.12 ldiv F
-GLIBC_2.12 lfind F
-GLIBC_2.12 lgetxattr F
-GLIBC_2.12 link F
-GLIBC_2.12 linkat F
-GLIBC_2.12 listen F
-GLIBC_2.12 listxattr F
-GLIBC_2.12 llabs F
-GLIBC_2.12 lldiv F
-GLIBC_2.12 llistxattr F
-GLIBC_2.12 llseek F
-GLIBC_2.12 loc1 D 0x8
-GLIBC_2.12 loc2 D 0x8
-GLIBC_2.12 localeconv F
-GLIBC_2.12 localtime F
-GLIBC_2.12 localtime_r F
-GLIBC_2.12 lockf F
-GLIBC_2.12 lockf64 F
-GLIBC_2.12 locs D 0x8
-GLIBC_2.12 longjmp F
-GLIBC_2.12 lrand48 F
-GLIBC_2.12 lrand48_r F
-GLIBC_2.12 lremovexattr F
-GLIBC_2.12 lsearch F
-GLIBC_2.12 lseek F
-GLIBC_2.12 lseek64 F
-GLIBC_2.12 lsetxattr F
-GLIBC_2.12 lutimes F
-GLIBC_2.12 madvise F
-GLIBC_2.12 makecontext F
-GLIBC_2.12 mallinfo F
-GLIBC_2.12 malloc F
-GLIBC_2.12 malloc_get_state F
-GLIBC_2.12 malloc_info F
-GLIBC_2.12 malloc_set_state F
-GLIBC_2.12 malloc_stats F
-GLIBC_2.12 malloc_trim F
-GLIBC_2.12 malloc_usable_size F
-GLIBC_2.12 mallopt F
-GLIBC_2.12 mallwatch D 0x8
-GLIBC_2.12 mblen F
-GLIBC_2.12 mbrlen F
-GLIBC_2.12 mbrtowc F
-GLIBC_2.12 mbsinit F
-GLIBC_2.12 mbsnrtowcs F
-GLIBC_2.12 mbsrtowcs F
-GLIBC_2.12 mbstowcs F
-GLIBC_2.12 mbtowc F
-GLIBC_2.12 mcheck F
-GLIBC_2.12 mcheck_check_all F
-GLIBC_2.12 mcheck_pedantic F
-GLIBC_2.12 mcount F
-GLIBC_2.12 memalign F
-GLIBC_2.12 memccpy F
-GLIBC_2.12 memchr F
-GLIBC_2.12 memcmp F
-GLIBC_2.12 memcpy F
-GLIBC_2.12 memfrob F
-GLIBC_2.12 memmem F
-GLIBC_2.12 memmove F
-GLIBC_2.12 mempcpy F
-GLIBC_2.12 memrchr F
-GLIBC_2.12 memset F
-GLIBC_2.12 mincore F
-GLIBC_2.12 mkdir F
-GLIBC_2.12 mkdirat F
-GLIBC_2.12 mkdtemp F
-GLIBC_2.12 mkfifo F
-GLIBC_2.12 mkfifoat F
-GLIBC_2.12 mkostemp F
-GLIBC_2.12 mkostemp64 F
-GLIBC_2.12 mkostemps F
-GLIBC_2.12 mkostemps64 F
-GLIBC_2.12 mkstemp F
-GLIBC_2.12 mkstemp64 F
-GLIBC_2.12 mkstemps F
-GLIBC_2.12 mkstemps64 F
-GLIBC_2.12 mktemp F
-GLIBC_2.12 mktime F
-GLIBC_2.12 mlock F
-GLIBC_2.12 mlockall F
-GLIBC_2.12 mmap F
-GLIBC_2.12 mmap64 F
-GLIBC_2.12 modf F
-GLIBC_2.12 modff F
-GLIBC_2.12 modfl F
-GLIBC_2.12 moncontrol F
-GLIBC_2.12 monstartup F
-GLIBC_2.12 mount F
-GLIBC_2.12 mprobe F
-GLIBC_2.12 mprotect F
-GLIBC_2.12 mrand48 F
-GLIBC_2.12 mrand48_r F
-GLIBC_2.12 mremap F
-GLIBC_2.12 msgctl F
-GLIBC_2.12 msgget F
-GLIBC_2.12 msgrcv F
-GLIBC_2.12 msgsnd F
-GLIBC_2.12 msync F
-GLIBC_2.12 mtrace F
-GLIBC_2.12 munlock F
-GLIBC_2.12 munlockall F
-GLIBC_2.12 munmap F
-GLIBC_2.12 muntrace F
-GLIBC_2.12 nanosleep F
-GLIBC_2.12 netname2host F
-GLIBC_2.12 netname2user F
-GLIBC_2.12 newlocale F
-GLIBC_2.12 nfsservctl F
-GLIBC_2.12 nftw F
-GLIBC_2.12 nftw64 F
-GLIBC_2.12 ngettext F
-GLIBC_2.12 nice F
-GLIBC_2.12 nl_langinfo F
-GLIBC_2.12 nl_langinfo_l F
-GLIBC_2.12 nrand48 F
-GLIBC_2.12 nrand48_r F
-GLIBC_2.12 ntohl F
-GLIBC_2.12 ntohs F
-GLIBC_2.12 ntp_adjtime F
-GLIBC_2.12 ntp_gettime F
-GLIBC_2.12 ntp_gettimex F
-GLIBC_2.12 obstack_alloc_failed_handler D 0x8
-GLIBC_2.12 obstack_exit_failure D 0x4
-GLIBC_2.12 obstack_free F
-GLIBC_2.12 obstack_printf F
-GLIBC_2.12 obstack_vprintf F
-GLIBC_2.12 on_exit F
-GLIBC_2.12 open F
-GLIBC_2.12 open64 F
-GLIBC_2.12 open_memstream F
-GLIBC_2.12 open_wmemstream F
-GLIBC_2.12 openat F
-GLIBC_2.12 openat64 F
-GLIBC_2.12 opendir F
-GLIBC_2.12 openlog F
-GLIBC_2.12 optarg D 0x8
-GLIBC_2.12 opterr D 0x4
-GLIBC_2.12 optind D 0x4
-GLIBC_2.12 optopt D 0x4
-GLIBC_2.12 parse_printf_format F
-GLIBC_2.12 passwd2des F
-GLIBC_2.12 pathconf F
-GLIBC_2.12 pause F
-GLIBC_2.12 pclose F
-GLIBC_2.12 perror F
-GLIBC_2.12 personality F
-GLIBC_2.12 pipe F
-GLIBC_2.12 pipe2 F
-GLIBC_2.12 pivot_root F
-GLIBC_2.12 pmap_getmaps F
-GLIBC_2.12 pmap_getport F
-GLIBC_2.12 pmap_rmtcall F
-GLIBC_2.12 pmap_set F
-GLIBC_2.12 pmap_unset F
-GLIBC_2.12 poll F
-GLIBC_2.12 popen F
-GLIBC_2.12 posix_fadvise F
-GLIBC_2.12 posix_fadvise64 F
-GLIBC_2.12 posix_fallocate F
-GLIBC_2.12 posix_fallocate64 F
-GLIBC_2.12 posix_madvise F
-GLIBC_2.12 posix_memalign F
-GLIBC_2.12 posix_openpt F
-GLIBC_2.12 posix_spawn F
-GLIBC_2.12 posix_spawn_file_actions_addclose F
-GLIBC_2.12 posix_spawn_file_actions_adddup2 F
-GLIBC_2.12 posix_spawn_file_actions_addopen F
-GLIBC_2.12 posix_spawn_file_actions_destroy F
-GLIBC_2.12 posix_spawn_file_actions_init F
-GLIBC_2.12 posix_spawnattr_destroy F
-GLIBC_2.12 posix_spawnattr_getflags F
-GLIBC_2.12 posix_spawnattr_getpgroup F
-GLIBC_2.12 posix_spawnattr_getschedparam F
-GLIBC_2.12 posix_spawnattr_getschedpolicy F
-GLIBC_2.12 posix_spawnattr_getsigdefault F
-GLIBC_2.12 posix_spawnattr_getsigmask F
-GLIBC_2.12 posix_spawnattr_init F
-GLIBC_2.12 posix_spawnattr_setflags F
-GLIBC_2.12 posix_spawnattr_setpgroup F
-GLIBC_2.12 posix_spawnattr_setschedparam F
-GLIBC_2.12 posix_spawnattr_setschedpolicy F
-GLIBC_2.12 posix_spawnattr_setsigdefault F
-GLIBC_2.12 posix_spawnattr_setsigmask F
-GLIBC_2.12 posix_spawnp F
-GLIBC_2.12 ppoll F
-GLIBC_2.12 prctl F
-GLIBC_2.12 pread F
-GLIBC_2.12 pread64 F
-GLIBC_2.12 preadv F
-GLIBC_2.12 preadv64 F
-GLIBC_2.12 printf F
-GLIBC_2.12 printf_size F
-GLIBC_2.12 printf_size_info F
-GLIBC_2.12 profil F
-GLIBC_2.12 program_invocation_name D 0x8
-GLIBC_2.12 program_invocation_short_name D 0x8
-GLIBC_2.12 pselect F
-GLIBC_2.12 psiginfo F
-GLIBC_2.12 psignal F
-GLIBC_2.12 pthread_attr_destroy F
-GLIBC_2.12 pthread_attr_getdetachstate F
-GLIBC_2.12 pthread_attr_getinheritsched F
-GLIBC_2.12 pthread_attr_getschedparam F
-GLIBC_2.12 pthread_attr_getschedpolicy F
-GLIBC_2.12 pthread_attr_getscope F
-GLIBC_2.12 pthread_attr_init F
-GLIBC_2.12 pthread_attr_setdetachstate F
-GLIBC_2.12 pthread_attr_setinheritsched F
-GLIBC_2.12 pthread_attr_setschedparam F
-GLIBC_2.12 pthread_attr_setschedpolicy F
-GLIBC_2.12 pthread_attr_setscope F
-GLIBC_2.12 pthread_cond_broadcast F
-GLIBC_2.12 pthread_cond_destroy F
-GLIBC_2.12 pthread_cond_init F
-GLIBC_2.12 pthread_cond_signal F
-GLIBC_2.12 pthread_cond_timedwait F
-GLIBC_2.12 pthread_cond_wait F
-GLIBC_2.12 pthread_condattr_destroy F
-GLIBC_2.12 pthread_condattr_init F
-GLIBC_2.12 pthread_equal F
-GLIBC_2.12 pthread_exit F
-GLIBC_2.12 pthread_getschedparam F
-GLIBC_2.12 pthread_mutex_destroy F
-GLIBC_2.12 pthread_mutex_init F
-GLIBC_2.12 pthread_mutex_lock F
-GLIBC_2.12 pthread_mutex_unlock F
-GLIBC_2.12 pthread_self F
-GLIBC_2.12 pthread_setcancelstate F
-GLIBC_2.12 pthread_setcanceltype F
-GLIBC_2.12 pthread_setschedparam F
-GLIBC_2.12 ptrace F
-GLIBC_2.12 ptsname F
-GLIBC_2.12 ptsname_r F
-GLIBC_2.12 putc F
-GLIBC_2.12 putc_unlocked F
-GLIBC_2.12 putchar F
-GLIBC_2.12 putchar_unlocked F
-GLIBC_2.12 putenv F
-GLIBC_2.12 putgrent F
-GLIBC_2.12 putmsg F
-GLIBC_2.12 putpmsg F
-GLIBC_2.12 putpwent F
-GLIBC_2.12 puts F
-GLIBC_2.12 putsgent F
-GLIBC_2.12 putspent F
-GLIBC_2.12 pututline F
-GLIBC_2.12 pututxline F
-GLIBC_2.12 putw F
-GLIBC_2.12 putwc F
-GLIBC_2.12 putwc_unlocked F
-GLIBC_2.12 putwchar F
-GLIBC_2.12 putwchar_unlocked F
-GLIBC_2.12 pvalloc F
-GLIBC_2.12 pwrite F
-GLIBC_2.12 pwrite64 F
-GLIBC_2.12 pwritev F
-GLIBC_2.12 pwritev64 F
-GLIBC_2.12 qecvt F
-GLIBC_2.12 qecvt_r F
-GLIBC_2.12 qfcvt F
-GLIBC_2.12 qfcvt_r F
-GLIBC_2.12 qgcvt F
-GLIBC_2.12 qsort F
-GLIBC_2.12 qsort_r F
-GLIBC_2.12 query_module F
-GLIBC_2.12 quick_exit F
-GLIBC_2.12 quotactl F
-GLIBC_2.12 raise F
-GLIBC_2.12 rand F
-GLIBC_2.12 rand_r F
-GLIBC_2.12 random F
-GLIBC_2.12 random_r F
-GLIBC_2.12 rawmemchr F
-GLIBC_2.12 rcmd F
-GLIBC_2.12 rcmd_af F
-GLIBC_2.12 re_comp F
-GLIBC_2.12 re_compile_fastmap F
-GLIBC_2.12 re_compile_pattern F
-GLIBC_2.12 re_exec F
-GLIBC_2.12 re_match F
-GLIBC_2.12 re_match_2 F
-GLIBC_2.12 re_search F
-GLIBC_2.12 re_search_2 F
-GLIBC_2.12 re_set_registers F
-GLIBC_2.12 re_set_syntax F
-GLIBC_2.12 re_syntax_options D 0x8
-GLIBC_2.12 read F
-GLIBC_2.12 readahead F
-GLIBC_2.12 readdir F
-GLIBC_2.12 readdir64 F
-GLIBC_2.12 readdir64_r F
-GLIBC_2.12 readdir_r F
-GLIBC_2.12 readlink F
-GLIBC_2.12 readlinkat F
-GLIBC_2.12 readv F
-GLIBC_2.12 realloc F
-GLIBC_2.12 realpath F
-GLIBC_2.12 reboot F
-GLIBC_2.12 recv F
-GLIBC_2.12 recvfrom F
-GLIBC_2.12 recvmmsg F
-GLIBC_2.12 recvmsg F
-GLIBC_2.12 regcomp F
-GLIBC_2.12 regerror F
-GLIBC_2.12 regexec F
-GLIBC_2.12 regfree F
-GLIBC_2.12 register_printf_function F
-GLIBC_2.12 register_printf_modifier F
-GLIBC_2.12 register_printf_specifier F
-GLIBC_2.12 register_printf_type F
-GLIBC_2.12 registerrpc F
-GLIBC_2.12 remap_file_pages F
-GLIBC_2.12 remove F
-GLIBC_2.12 removexattr F
-GLIBC_2.12 remque F
-GLIBC_2.12 rename F
-GLIBC_2.12 renameat F
-GLIBC_2.12 revoke F
-GLIBC_2.12 rewind F
-GLIBC_2.12 rewinddir F
-GLIBC_2.12 rexec F
-GLIBC_2.12 rexec_af F
-GLIBC_2.12 rexecoptions D 0x4
-GLIBC_2.12 rindex F
-GLIBC_2.12 rmdir F
-GLIBC_2.12 rpc_createerr D 0x20
-GLIBC_2.12 rpmatch F
-GLIBC_2.12 rresvport F
-GLIBC_2.12 rresvport_af F
-GLIBC_2.12 rtime F
-GLIBC_2.12 ruserok F
-GLIBC_2.12 ruserok_af F
-GLIBC_2.12 ruserpass F
-GLIBC_2.12 sbrk F
-GLIBC_2.12 scalbn F
-GLIBC_2.12 scalbnf F
-GLIBC_2.12 scalbnl F
-GLIBC_2.12 scandir F
-GLIBC_2.12 scandir64 F
-GLIBC_2.12 scanf F
-GLIBC_2.12 sched_get_priority_max F
-GLIBC_2.12 sched_get_priority_min F
-GLIBC_2.12 sched_getaffinity F
-GLIBC_2.12 sched_getcpu F
-GLIBC_2.12 sched_getparam F
-GLIBC_2.12 sched_getscheduler F
-GLIBC_2.12 sched_rr_get_interval F
-GLIBC_2.12 sched_setaffinity F
-GLIBC_2.12 sched_setparam F
-GLIBC_2.12 sched_setscheduler F
-GLIBC_2.12 sched_yield F
-GLIBC_2.12 seed48 F
-GLIBC_2.12 seed48_r F
-GLIBC_2.12 seekdir F
-GLIBC_2.12 select F
-GLIBC_2.12 semctl F
-GLIBC_2.12 semget F
-GLIBC_2.12 semop F
-GLIBC_2.12 semtimedop F
-GLIBC_2.12 send F
-GLIBC_2.12 sendfile F
-GLIBC_2.12 sendfile64 F
-GLIBC_2.12 sendmsg F
-GLIBC_2.12 sendto F
-GLIBC_2.12 set_dataplane F
-GLIBC_2.12 setaliasent F
-GLIBC_2.12 setbuf F
-GLIBC_2.12 setbuffer F
-GLIBC_2.12 setcontext F
-GLIBC_2.12 setdomainname F
-GLIBC_2.12 setegid F
-GLIBC_2.12 setenv F
-GLIBC_2.12 seteuid F
-GLIBC_2.12 setfsent F
-GLIBC_2.12 setfsgid F
-GLIBC_2.12 setfsuid F
-GLIBC_2.12 setgid F
-GLIBC_2.12 setgrent F
-GLIBC_2.12 setgroups F
-GLIBC_2.12 sethostent F
-GLIBC_2.12 sethostid F
-GLIBC_2.12 sethostname F
-GLIBC_2.12 setipv4sourcefilter F
-GLIBC_2.12 setitimer F
-GLIBC_2.12 setjmp F
-GLIBC_2.12 setlinebuf F
-GLIBC_2.12 setlocale F
-GLIBC_2.12 setlogin F
-GLIBC_2.12 setlogmask F
-GLIBC_2.12 setmntent F
-GLIBC_2.12 setnetent F
-GLIBC_2.12 setnetgrent F
-GLIBC_2.12 setpgid F
-GLIBC_2.12 setpgrp F
-GLIBC_2.12 setpriority F
-GLIBC_2.12 setprotoent F
-GLIBC_2.12 setpwent F
-GLIBC_2.12 setregid F
-GLIBC_2.12 setresgid F
-GLIBC_2.12 setresuid F
-GLIBC_2.12 setreuid F
-GLIBC_2.12 setrlimit F
-GLIBC_2.12 setrlimit64 F
-GLIBC_2.12 setrpcent F
-GLIBC_2.12 setservent F
-GLIBC_2.12 setsgent F
-GLIBC_2.12 setsid F
-GLIBC_2.12 setsockopt F
-GLIBC_2.12 setsourcefilter F
-GLIBC_2.12 setspent F
-GLIBC_2.12 setstate F
-GLIBC_2.12 setstate_r F
-GLIBC_2.12 settimeofday F
-GLIBC_2.12 setttyent F
-GLIBC_2.12 setuid F
-GLIBC_2.12 setusershell F
-GLIBC_2.12 setutent F
-GLIBC_2.12 setutxent F
-GLIBC_2.12 setvbuf F
-GLIBC_2.12 setxattr F
-GLIBC_2.12 sgetsgent F
-GLIBC_2.12 sgetsgent_r F
-GLIBC_2.12 sgetspent F
-GLIBC_2.12 sgetspent_r F
-GLIBC_2.12 shmat F
-GLIBC_2.12 shmctl F
-GLIBC_2.12 shmdt F
-GLIBC_2.12 shmget F
-GLIBC_2.12 shutdown F
-GLIBC_2.12 sigaction F
-GLIBC_2.12 sigaddset F
-GLIBC_2.12 sigaltstack F
-GLIBC_2.12 sigandset F
-GLIBC_2.12 sigblock F
-GLIBC_2.12 sigdelset F
-GLIBC_2.12 sigemptyset F
-GLIBC_2.12 sigfillset F
-GLIBC_2.12 siggetmask F
-GLIBC_2.12 sighold F
-GLIBC_2.12 sigignore F
-GLIBC_2.12 siginterrupt F
-GLIBC_2.12 sigisemptyset F
-GLIBC_2.12 sigismember F
-GLIBC_2.12 siglongjmp F
-GLIBC_2.12 signal F
-GLIBC_2.12 signalfd F
-GLIBC_2.12 sigorset F
-GLIBC_2.12 sigpause F
-GLIBC_2.12 sigpending F
-GLIBC_2.12 sigprocmask F
-GLIBC_2.12 sigqueue F
-GLIBC_2.12 sigrelse F
-GLIBC_2.12 sigreturn F
-GLIBC_2.12 sigset F
-GLIBC_2.12 sigsetmask F
-GLIBC_2.12 sigstack F
-GLIBC_2.12 sigsuspend F
-GLIBC_2.12 sigtimedwait F
-GLIBC_2.12 sigvec F
-GLIBC_2.12 sigwait F
-GLIBC_2.12 sigwaitinfo F
-GLIBC_2.12 sleep F
-GLIBC_2.12 snprintf F
-GLIBC_2.12 sockatmark F
-GLIBC_2.12 socket F
-GLIBC_2.12 socketpair F
-GLIBC_2.12 splice F
-GLIBC_2.12 sprintf F
-GLIBC_2.12 sprofil F
-GLIBC_2.12 srand F
-GLIBC_2.12 srand48 F
-GLIBC_2.12 srand48_r F
-GLIBC_2.12 srandom F
-GLIBC_2.12 srandom_r F
-GLIBC_2.12 sscanf F
-GLIBC_2.12 ssignal F
-GLIBC_2.12 sstk F
-GLIBC_2.12 statfs F
-GLIBC_2.12 statfs64 F
-GLIBC_2.12 statvfs F
-GLIBC_2.12 statvfs64 F
-GLIBC_2.12 stderr D 0x8
-GLIBC_2.12 stdin D 0x8
-GLIBC_2.12 stdout D 0x8
-GLIBC_2.12 step F
-GLIBC_2.12 stime F
-GLIBC_2.12 stpcpy F
-GLIBC_2.12 stpncpy F
-GLIBC_2.12 strcasecmp F
-GLIBC_2.12 strcasecmp_l F
-GLIBC_2.12 strcasestr F
-GLIBC_2.12 strcat F
-GLIBC_2.12 strchr F
-GLIBC_2.12 strchrnul F
-GLIBC_2.12 strcmp F
-GLIBC_2.12 strcoll F
-GLIBC_2.12 strcoll_l F
-GLIBC_2.12 strcpy F
-GLIBC_2.12 strcspn F
-GLIBC_2.12 strdup F
-GLIBC_2.12 strerror F
-GLIBC_2.12 strerror_l F
-GLIBC_2.12 strerror_r F
-GLIBC_2.12 strfmon F
-GLIBC_2.12 strfmon_l F
-GLIBC_2.12 strfry F
-GLIBC_2.12 strftime F
-GLIBC_2.12 strftime_l F
-GLIBC_2.12 strlen F
-GLIBC_2.12 strncasecmp F
-GLIBC_2.12 strncasecmp_l F
-GLIBC_2.12 strncat F
-GLIBC_2.12 strncmp F
-GLIBC_2.12 strncpy F
-GLIBC_2.12 strndup F
-GLIBC_2.12 strnlen F
-GLIBC_2.12 strpbrk F
-GLIBC_2.12 strptime F
-GLIBC_2.12 strptime_l F
-GLIBC_2.12 strrchr F
-GLIBC_2.12 strsep F
-GLIBC_2.12 strsignal F
-GLIBC_2.12 strspn F
-GLIBC_2.12 strstr F
-GLIBC_2.12 strtod F
-GLIBC_2.12 strtod_l F
-GLIBC_2.12 strtof F
-GLIBC_2.12 strtof_l F
-GLIBC_2.12 strtoimax F
-GLIBC_2.12 strtok F
-GLIBC_2.12 strtok_r F
-GLIBC_2.12 strtol F
-GLIBC_2.12 strtol_l F
-GLIBC_2.12 strtold F
-GLIBC_2.12 strtold_l F
-GLIBC_2.12 strtoll F
-GLIBC_2.12 strtoll_l F
-GLIBC_2.12 strtoq F
-GLIBC_2.12 strtoul F
-GLIBC_2.12 strtoul_l F
-GLIBC_2.12 strtoull F
-GLIBC_2.12 strtoull_l F
-GLIBC_2.12 strtoumax F
-GLIBC_2.12 strtouq F
-GLIBC_2.12 strverscmp F
-GLIBC_2.12 strxfrm F
-GLIBC_2.12 strxfrm_l F
-GLIBC_2.12 stty F
-GLIBC_2.12 svc_exit F
-GLIBC_2.12 svc_fdset D 0x80
-GLIBC_2.12 svc_getreq F
-GLIBC_2.12 svc_getreq_common F
-GLIBC_2.12 svc_getreq_poll F
-GLIBC_2.12 svc_getreqset F
-GLIBC_2.12 svc_max_pollfd D 0x4
-GLIBC_2.12 svc_pollfd D 0x8
-GLIBC_2.12 svc_register F
-GLIBC_2.12 svc_run F
-GLIBC_2.12 svc_sendreply F
-GLIBC_2.12 svc_unregister F
-GLIBC_2.12 svcauthdes_stats D 0x18
-GLIBC_2.12 svcerr_auth F
-GLIBC_2.12 svcerr_decode F
-GLIBC_2.12 svcerr_noproc F
-GLIBC_2.12 svcerr_noprog F
-GLIBC_2.12 svcerr_progvers F
-GLIBC_2.12 svcerr_systemerr F
-GLIBC_2.12 svcerr_weakauth F
-GLIBC_2.12 svcfd_create F
-GLIBC_2.12 svcraw_create F
-GLIBC_2.12 svctcp_create F
-GLIBC_2.12 svcudp_bufcreate F
-GLIBC_2.12 svcudp_create F
-GLIBC_2.12 svcudp_enablecache F
-GLIBC_2.12 svcunix_create F
-GLIBC_2.12 svcunixfd_create F
-GLIBC_2.12 swab F
-GLIBC_2.12 swapcontext F
-GLIBC_2.12 swapoff F
-GLIBC_2.12 swapon F
-GLIBC_2.12 swprintf F
-GLIBC_2.12 swscanf F
-GLIBC_2.12 symlink F
-GLIBC_2.12 symlinkat F
-GLIBC_2.12 sync F
-GLIBC_2.12 sync_file_range F
-GLIBC_2.12 sys_errlist D 0x438
-GLIBC_2.12 sys_nerr D 0x4
-GLIBC_2.12 sys_sigabbrev D 0x208
-GLIBC_2.12 sys_siglist D 0x208
-GLIBC_2.12 syscall F
-GLIBC_2.12 sysconf F
-GLIBC_2.12 sysctl F
-GLIBC_2.12 sysinfo F
-GLIBC_2.12 syslog F
-GLIBC_2.12 system F
-GLIBC_2.12 sysv_signal F
-GLIBC_2.12 tcdrain F
-GLIBC_2.12 tcflow F
-GLIBC_2.12 tcflush F
-GLIBC_2.12 tcgetattr F
-GLIBC_2.12 tcgetpgrp F
-GLIBC_2.12 tcgetsid F
-GLIBC_2.12 tcsendbreak F
-GLIBC_2.12 tcsetattr F
-GLIBC_2.12 tcsetpgrp F
-GLIBC_2.12 tdelete F
-GLIBC_2.12 tdestroy F
-GLIBC_2.12 tee F
-GLIBC_2.12 telldir F
-GLIBC_2.12 tempnam F
-GLIBC_2.12 textdomain F
-GLIBC_2.12 tfind F
-GLIBC_2.12 time F
-GLIBC_2.12 timegm F
-GLIBC_2.12 timelocal F
-GLIBC_2.12 timerfd_create F
-GLIBC_2.12 timerfd_gettime F
-GLIBC_2.12 timerfd_settime F
-GLIBC_2.12 times F
-GLIBC_2.12 timezone D 0x8
-GLIBC_2.12 tmpfile F
-GLIBC_2.12 tmpfile64 F
-GLIBC_2.12 tmpnam F
-GLIBC_2.12 tmpnam_r F
-GLIBC_2.12 toascii F
-GLIBC_2.12 tolower F
-GLIBC_2.12 tolower_l F
-GLIBC_2.12 toupper F
-GLIBC_2.12 toupper_l F
-GLIBC_2.12 towctrans F
-GLIBC_2.12 towctrans_l F
-GLIBC_2.12 towlower F
-GLIBC_2.12 towlower_l F
-GLIBC_2.12 towupper F
-GLIBC_2.12 towupper_l F
-GLIBC_2.12 tr_break F
-GLIBC_2.12 truncate F
-GLIBC_2.12 truncate64 F
-GLIBC_2.12 tsearch F
-GLIBC_2.12 ttyname F
-GLIBC_2.12 ttyname_r F
-GLIBC_2.12 ttyslot F
-GLIBC_2.12 twalk F
-GLIBC_2.12 tzname D 0x10
-GLIBC_2.12 tzset F
-GLIBC_2.12 ualarm F
-GLIBC_2.12 ulckpwdf F
-GLIBC_2.12 ulimit F
-GLIBC_2.12 umask F
-GLIBC_2.12 umount F
-GLIBC_2.12 umount2 F
-GLIBC_2.12 uname F
-GLIBC_2.12 ungetc F
-GLIBC_2.12 ungetwc F
-GLIBC_2.12 unlink F
-GLIBC_2.12 unlinkat F
-GLIBC_2.12 unlockpt F
-GLIBC_2.12 unsetenv F
-GLIBC_2.12 unshare F
-GLIBC_2.12 updwtmp F
-GLIBC_2.12 updwtmpx F
-GLIBC_2.12 uselib F
-GLIBC_2.12 uselocale F
-GLIBC_2.12 user2netname F
-GLIBC_2.12 usleep F
-GLIBC_2.12 ustat F
-GLIBC_2.12 utime F
-GLIBC_2.12 utimensat F
-GLIBC_2.12 utimes F
-GLIBC_2.12 utmpname F
-GLIBC_2.12 utmpxname F
-GLIBC_2.12 valloc F
-GLIBC_2.12 vasprintf F
-GLIBC_2.12 vdprintf F
-GLIBC_2.12 verr F
-GLIBC_2.12 verrx F
-GLIBC_2.12 versionsort F
-GLIBC_2.12 versionsort64 F
-GLIBC_2.12 vfork F
-GLIBC_2.12 vfprintf F
-GLIBC_2.12 vfscanf F
-GLIBC_2.12 vfwprintf F
-GLIBC_2.12 vfwscanf F
-GLIBC_2.12 vhangup F
-GLIBC_2.12 vlimit F
-GLIBC_2.12 vmsplice F
-GLIBC_2.12 vprintf F
-GLIBC_2.12 vscanf F
-GLIBC_2.12 vsnprintf F
-GLIBC_2.12 vsprintf F
-GLIBC_2.12 vsscanf F
-GLIBC_2.12 vswprintf F
-GLIBC_2.12 vswscanf F
-GLIBC_2.12 vsyslog F
-GLIBC_2.12 vtimes F
-GLIBC_2.12 vwarn F
-GLIBC_2.12 vwarnx F
-GLIBC_2.12 vwprintf F
-GLIBC_2.12 vwscanf F
-GLIBC_2.12 wait F
-GLIBC_2.12 wait3 F
-GLIBC_2.12 wait4 F
-GLIBC_2.12 waitid F
-GLIBC_2.12 waitpid F
-GLIBC_2.12 warn F
-GLIBC_2.12 warnx F
-GLIBC_2.12 wcpcpy F
-GLIBC_2.12 wcpncpy F
-GLIBC_2.12 wcrtomb F
-GLIBC_2.12 wcscasecmp F
-GLIBC_2.12 wcscasecmp_l F
-GLIBC_2.12 wcscat F
-GLIBC_2.12 wcschr F
-GLIBC_2.12 wcschrnul F
-GLIBC_2.12 wcscmp F
-GLIBC_2.12 wcscoll F
-GLIBC_2.12 wcscoll_l F
-GLIBC_2.12 wcscpy F
-GLIBC_2.12 wcscspn F
-GLIBC_2.12 wcsdup F
-GLIBC_2.12 wcsftime F
-GLIBC_2.12 wcsftime_l F
-GLIBC_2.12 wcslen F
-GLIBC_2.12 wcsncasecmp F
-GLIBC_2.12 wcsncasecmp_l F
-GLIBC_2.12 wcsncat F
-GLIBC_2.12 wcsncmp F
-GLIBC_2.12 wcsncpy F
-GLIBC_2.12 wcsnlen F
-GLIBC_2.12 wcsnrtombs F
-GLIBC_2.12 wcspbrk F
-GLIBC_2.12 wcsrchr F
-GLIBC_2.12 wcsrtombs F
-GLIBC_2.12 wcsspn F
-GLIBC_2.12 wcsstr F
-GLIBC_2.12 wcstod F
-GLIBC_2.12 wcstod_l F
-GLIBC_2.12 wcstof F
-GLIBC_2.12 wcstof_l F
-GLIBC_2.12 wcstoimax F
-GLIBC_2.12 wcstok F
-GLIBC_2.12 wcstol F
-GLIBC_2.12 wcstol_l F
-GLIBC_2.12 wcstold F
-GLIBC_2.12 wcstold_l F
-GLIBC_2.12 wcstoll F
-GLIBC_2.12 wcstoll_l F
-GLIBC_2.12 wcstombs F
-GLIBC_2.12 wcstoq F
-GLIBC_2.12 wcstoul F
-GLIBC_2.12 wcstoul_l F
-GLIBC_2.12 wcstoull F
-GLIBC_2.12 wcstoull_l F
-GLIBC_2.12 wcstoumax F
-GLIBC_2.12 wcstouq F
-GLIBC_2.12 wcswcs F
-GLIBC_2.12 wcswidth F
-GLIBC_2.12 wcsxfrm F
-GLIBC_2.12 wcsxfrm_l F
-GLIBC_2.12 wctob F
-GLIBC_2.12 wctomb F
-GLIBC_2.12 wctrans F
-GLIBC_2.12 wctrans_l F
-GLIBC_2.12 wctype F
-GLIBC_2.12 wctype_l F
-GLIBC_2.12 wcwidth F
-GLIBC_2.12 wmemchr F
-GLIBC_2.12 wmemcmp F
-GLIBC_2.12 wmemcpy F
-GLIBC_2.12 wmemmove F
-GLIBC_2.12 wmempcpy F
-GLIBC_2.12 wmemset F
-GLIBC_2.12 wordexp F
-GLIBC_2.12 wordfree F
-GLIBC_2.12 wprintf F
-GLIBC_2.12 write F
-GLIBC_2.12 writev F
-GLIBC_2.12 wscanf F
-GLIBC_2.12 xdecrypt F
-GLIBC_2.12 xdr_accepted_reply F
-GLIBC_2.12 xdr_array F
-GLIBC_2.12 xdr_authdes_cred F
-GLIBC_2.12 xdr_authdes_verf F
-GLIBC_2.12 xdr_authunix_parms F
-GLIBC_2.12 xdr_bool F
-GLIBC_2.12 xdr_bytes F
-GLIBC_2.12 xdr_callhdr F
-GLIBC_2.12 xdr_callmsg F
-GLIBC_2.12 xdr_char F
-GLIBC_2.12 xdr_cryptkeyarg F
-GLIBC_2.12 xdr_cryptkeyarg2 F
-GLIBC_2.12 xdr_cryptkeyres F
-GLIBC_2.12 xdr_des_block F
-GLIBC_2.12 xdr_double F
-GLIBC_2.12 xdr_enum F
-GLIBC_2.12 xdr_float F
-GLIBC_2.12 xdr_free F
-GLIBC_2.12 xdr_getcredres F
-GLIBC_2.12 xdr_hyper F
-GLIBC_2.12 xdr_int F
-GLIBC_2.12 xdr_int16_t F
-GLIBC_2.12 xdr_int32_t F
-GLIBC_2.12 xdr_int64_t F
-GLIBC_2.12 xdr_int8_t F
-GLIBC_2.12 xdr_key_netstarg F
-GLIBC_2.12 xdr_key_netstres F
-GLIBC_2.12 xdr_keybuf F
-GLIBC_2.12 xdr_keystatus F
-GLIBC_2.12 xdr_long F
-GLIBC_2.12 xdr_longlong_t F
-GLIBC_2.12 xdr_netnamestr F
-GLIBC_2.12 xdr_netobj F
-GLIBC_2.12 xdr_opaque F
-GLIBC_2.12 xdr_opaque_auth F
-GLIBC_2.12 xdr_pmap F
-GLIBC_2.12 xdr_pmaplist F
-GLIBC_2.12 xdr_pointer F
-GLIBC_2.12 xdr_quad_t F
-GLIBC_2.12 xdr_reference F
-GLIBC_2.12 xdr_rejected_reply F
-GLIBC_2.12 xdr_replymsg F
-GLIBC_2.12 xdr_rmtcall_args F
-GLIBC_2.12 xdr_rmtcallres F
-GLIBC_2.12 xdr_short F
-GLIBC_2.12 xdr_sizeof F
-GLIBC_2.12 xdr_string F
-GLIBC_2.12 xdr_u_char F
-GLIBC_2.12 xdr_u_hyper F
-GLIBC_2.12 xdr_u_int F
-GLIBC_2.12 xdr_u_long F
-GLIBC_2.12 xdr_u_longlong_t F
-GLIBC_2.12 xdr_u_quad_t F
-GLIBC_2.12 xdr_u_short F
-GLIBC_2.12 xdr_uint16_t F
-GLIBC_2.12 xdr_uint32_t F
-GLIBC_2.12 xdr_uint64_t F
-GLIBC_2.12 xdr_uint8_t F
-GLIBC_2.12 xdr_union F
-GLIBC_2.12 xdr_unixcred F
-GLIBC_2.12 xdr_vector F
-GLIBC_2.12 xdr_void F
-GLIBC_2.12 xdr_wrapstring F
-GLIBC_2.12 xdrmem_create F
-GLIBC_2.12 xdrrec_create F
-GLIBC_2.12 xdrrec_endofrecord F
-GLIBC_2.12 xdrrec_eof F
-GLIBC_2.12 xdrrec_skiprecord F
-GLIBC_2.12 xdrstdio_create F
-GLIBC_2.12 xencrypt F
-GLIBC_2.12 xprt_register F
-GLIBC_2.12 xprt_unregister F
-GLIBC_2.15 GLIBC_2.15 A
-GLIBC_2.15 __fdelt_chk F
-GLIBC_2.15 __fdelt_warn F
-GLIBC_2.15 clock_adjtime F
-GLIBC_2.15 fanotify_init F
-GLIBC_2.15 fanotify_mark F
-GLIBC_2.15 name_to_handle_at F
-GLIBC_2.15 open_by_handle_at F
-GLIBC_2.15 posix_spawn F
-GLIBC_2.15 posix_spawnp F
-GLIBC_2.15 prlimit F
-GLIBC_2.15 prlimit64 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.15 sendmmsg F
-GLIBC_2.15 setns F
-GLIBC_2.15 syncfs 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.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.27 GLIBC_2.27 A
-GLIBC_2.27 copy_file_range F
-GLIBC_2.27 glob F
-GLIBC_2.27 glob64 F
-GLIBC_2.27 memfd_create F
-GLIBC_2.27 mlock2 F
-GLIBC_2.27 pkey_alloc F
-GLIBC_2.27 pkey_free F
-GLIBC_2.27 pkey_get F
-GLIBC_2.27 pkey_mprotect F
-GLIBC_2.27 pkey_set F
-GLIBC_2.27 strfromf32 F
-GLIBC_2.27 strfromf32x F
-GLIBC_2.27 strfromf64 F
-GLIBC_2.27 strtof32 F
-GLIBC_2.27 strtof32_l F
-GLIBC_2.27 strtof32x F
-GLIBC_2.27 strtof32x_l F
-GLIBC_2.27 strtof64 F
-GLIBC_2.27 strtof64_l F
-GLIBC_2.27 wcstof32 F
-GLIBC_2.27 wcstof32_l F
-GLIBC_2.27 wcstof32x F
-GLIBC_2.27 wcstof32x_l F
-GLIBC_2.27 wcstof64 F
-GLIBC_2.27 wcstof64_l F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist
deleted file mode 100644
index d564380..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libcrypt.abilist
+++ /dev/null
@@ -1,8 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 crypt F
-GLIBC_2.12 crypt_r F
-GLIBC_2.12 encrypt F
-GLIBC_2.12 encrypt_r F
-GLIBC_2.12 fcrypt F
-GLIBC_2.12 setkey F
-GLIBC_2.12 setkey_r F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist
deleted file mode 100644
index cabc30c..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libdl.abilist
+++ /dev/null
@@ -1,10 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 dladdr F
-GLIBC_2.12 dladdr1 F
-GLIBC_2.12 dlclose F
-GLIBC_2.12 dlerror F
-GLIBC_2.12 dlinfo F
-GLIBC_2.12 dlmopen F
-GLIBC_2.12 dlopen F
-GLIBC_2.12 dlsym F
-GLIBC_2.12 dlvsym F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist
deleted file mode 100644
index 73ceb5a..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libm.abilist
+++ /dev/null
@@ -1,762 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 _LIB_VERSION D 0x4
-GLIBC_2.12 __clog10 F
-GLIBC_2.12 __clog10f F
-GLIBC_2.12 __clog10l F
-GLIBC_2.12 __finite F
-GLIBC_2.12 __finitef F
-GLIBC_2.12 __fpclassify F
-GLIBC_2.12 __fpclassifyf F
-GLIBC_2.12 __signbit F
-GLIBC_2.12 __signbitf F
-GLIBC_2.12 acos F
-GLIBC_2.12 acosf F
-GLIBC_2.12 acosh F
-GLIBC_2.12 acoshf F
-GLIBC_2.12 acoshl F
-GLIBC_2.12 acosl F
-GLIBC_2.12 asin F
-GLIBC_2.12 asinf F
-GLIBC_2.12 asinh F
-GLIBC_2.12 asinhf F
-GLIBC_2.12 asinhl F
-GLIBC_2.12 asinl F
-GLIBC_2.12 atan F
-GLIBC_2.12 atan2 F
-GLIBC_2.12 atan2f F
-GLIBC_2.12 atan2l F
-GLIBC_2.12 atanf F
-GLIBC_2.12 atanh F
-GLIBC_2.12 atanhf F
-GLIBC_2.12 atanhl F
-GLIBC_2.12 atanl F
-GLIBC_2.12 cabs F
-GLIBC_2.12 cabsf F
-GLIBC_2.12 cabsl F
-GLIBC_2.12 cacos F
-GLIBC_2.12 cacosf F
-GLIBC_2.12 cacosh F
-GLIBC_2.12 cacoshf F
-GLIBC_2.12 cacoshl F
-GLIBC_2.12 cacosl F
-GLIBC_2.12 carg F
-GLIBC_2.12 cargf F
-GLIBC_2.12 cargl F
-GLIBC_2.12 casin F
-GLIBC_2.12 casinf F
-GLIBC_2.12 casinh F
-GLIBC_2.12 casinhf F
-GLIBC_2.12 casinhl F
-GLIBC_2.12 casinl F
-GLIBC_2.12 catan F
-GLIBC_2.12 catanf F
-GLIBC_2.12 catanh F
-GLIBC_2.12 catanhf F
-GLIBC_2.12 catanhl F
-GLIBC_2.12 catanl F
-GLIBC_2.12 cbrt F
-GLIBC_2.12 cbrtf F
-GLIBC_2.12 cbrtl F
-GLIBC_2.12 ccos F
-GLIBC_2.12 ccosf F
-GLIBC_2.12 ccosh F
-GLIBC_2.12 ccoshf F
-GLIBC_2.12 ccoshl F
-GLIBC_2.12 ccosl F
-GLIBC_2.12 ceil F
-GLIBC_2.12 ceilf F
-GLIBC_2.12 ceill F
-GLIBC_2.12 cexp F
-GLIBC_2.12 cexpf F
-GLIBC_2.12 cexpl F
-GLIBC_2.12 cimag F
-GLIBC_2.12 cimagf F
-GLIBC_2.12 cimagl F
-GLIBC_2.12 clog F
-GLIBC_2.12 clog10 F
-GLIBC_2.12 clog10f F
-GLIBC_2.12 clog10l F
-GLIBC_2.12 clogf F
-GLIBC_2.12 clogl F
-GLIBC_2.12 conj F
-GLIBC_2.12 conjf F
-GLIBC_2.12 conjl F
-GLIBC_2.12 copysign F
-GLIBC_2.12 copysignf F
-GLIBC_2.12 copysignl F
-GLIBC_2.12 cos F
-GLIBC_2.12 cosf F
-GLIBC_2.12 cosh F
-GLIBC_2.12 coshf F
-GLIBC_2.12 coshl F
-GLIBC_2.12 cosl F
-GLIBC_2.12 cpow F
-GLIBC_2.12 cpowf F
-GLIBC_2.12 cpowl F
-GLIBC_2.12 cproj F
-GLIBC_2.12 cprojf F
-GLIBC_2.12 cprojl F
-GLIBC_2.12 creal F
-GLIBC_2.12 crealf F
-GLIBC_2.12 creall F
-GLIBC_2.12 csin F
-GLIBC_2.12 csinf F
-GLIBC_2.12 csinh F
-GLIBC_2.12 csinhf F
-GLIBC_2.12 csinhl F
-GLIBC_2.12 csinl F
-GLIBC_2.12 csqrt F
-GLIBC_2.12 csqrtf F
-GLIBC_2.12 csqrtl F
-GLIBC_2.12 ctan F
-GLIBC_2.12 ctanf F
-GLIBC_2.12 ctanh F
-GLIBC_2.12 ctanhf F
-GLIBC_2.12 ctanhl F
-GLIBC_2.12 ctanl F
-GLIBC_2.12 drem F
-GLIBC_2.12 dremf F
-GLIBC_2.12 dreml F
-GLIBC_2.12 erf F
-GLIBC_2.12 erfc F
-GLIBC_2.12 erfcf F
-GLIBC_2.12 erfcl F
-GLIBC_2.12 erff F
-GLIBC_2.12 erfl F
-GLIBC_2.12 exp F
-GLIBC_2.12 exp10 F
-GLIBC_2.12 exp10f F
-GLIBC_2.12 exp10l F
-GLIBC_2.12 exp2 F
-GLIBC_2.12 exp2f F
-GLIBC_2.12 exp2l F
-GLIBC_2.12 expf F
-GLIBC_2.12 expl F
-GLIBC_2.12 expm1 F
-GLIBC_2.12 expm1f F
-GLIBC_2.12 expm1l F
-GLIBC_2.12 fabs F
-GLIBC_2.12 fabsf F
-GLIBC_2.12 fabsl F
-GLIBC_2.12 fdim F
-GLIBC_2.12 fdimf F
-GLIBC_2.12 fdiml F
-GLIBC_2.12 feclearexcept F
-GLIBC_2.12 fedisableexcept F
-GLIBC_2.12 feenableexcept F
-GLIBC_2.12 fegetenv F
-GLIBC_2.12 fegetexcept F
-GLIBC_2.12 fegetexceptflag F
-GLIBC_2.12 fegetround F
-GLIBC_2.12 feholdexcept F
-GLIBC_2.12 feraiseexcept F
-GLIBC_2.12 fesetenv F
-GLIBC_2.12 fesetexceptflag F
-GLIBC_2.12 fesetround F
-GLIBC_2.12 fetestexcept F
-GLIBC_2.12 feupdateenv F
-GLIBC_2.12 finite F
-GLIBC_2.12 finitef F
-GLIBC_2.12 finitel F
-GLIBC_2.12 floor F
-GLIBC_2.12 floorf F
-GLIBC_2.12 floorl F
-GLIBC_2.12 fma F
-GLIBC_2.12 fmaf F
-GLIBC_2.12 fmal F
-GLIBC_2.12 fmax F
-GLIBC_2.12 fmaxf F
-GLIBC_2.12 fmaxl F
-GLIBC_2.12 fmin F
-GLIBC_2.12 fminf F
-GLIBC_2.12 fminl F
-GLIBC_2.12 fmod F
-GLIBC_2.12 fmodf F
-GLIBC_2.12 fmodl F
-GLIBC_2.12 frexp F
-GLIBC_2.12 frexpf F
-GLIBC_2.12 frexpl F
-GLIBC_2.12 gamma F
-GLIBC_2.12 gammaf F
-GLIBC_2.12 gammal F
-GLIBC_2.12 hypot F
-GLIBC_2.12 hypotf F
-GLIBC_2.12 hypotl F
-GLIBC_2.12 ilogb F
-GLIBC_2.12 ilogbf F
-GLIBC_2.12 ilogbl F
-GLIBC_2.12 j0 F
-GLIBC_2.12 j0f F
-GLIBC_2.12 j0l F
-GLIBC_2.12 j1 F
-GLIBC_2.12 j1f F
-GLIBC_2.12 j1l F
-GLIBC_2.12 jn F
-GLIBC_2.12 jnf F
-GLIBC_2.12 jnl F
-GLIBC_2.12 ldexp F
-GLIBC_2.12 ldexpf F
-GLIBC_2.12 ldexpl F
-GLIBC_2.12 lgamma F
-GLIBC_2.12 lgamma_r F
-GLIBC_2.12 lgammaf F
-GLIBC_2.12 lgammaf_r F
-GLIBC_2.12 lgammal F
-GLIBC_2.12 lgammal_r F
-GLIBC_2.12 llrint F
-GLIBC_2.12 llrintf F
-GLIBC_2.12 llrintl F
-GLIBC_2.12 llround F
-GLIBC_2.12 llroundf F
-GLIBC_2.12 llroundl F
-GLIBC_2.12 log F
-GLIBC_2.12 log10 F
-GLIBC_2.12 log10f F
-GLIBC_2.12 log10l F
-GLIBC_2.12 log1p F
-GLIBC_2.12 log1pf F
-GLIBC_2.12 log1pl F
-GLIBC_2.12 log2 F
-GLIBC_2.12 log2f F
-GLIBC_2.12 log2l F
-GLIBC_2.12 logb F
-GLIBC_2.12 logbf F
-GLIBC_2.12 logbl F
-GLIBC_2.12 logf F
-GLIBC_2.12 logl F
-GLIBC_2.12 lrint F
-GLIBC_2.12 lrintf F
-GLIBC_2.12 lrintl F
-GLIBC_2.12 lround F
-GLIBC_2.12 lroundf F
-GLIBC_2.12 lroundl F
-GLIBC_2.12 matherr F
-GLIBC_2.12 modf F
-GLIBC_2.12 modff F
-GLIBC_2.12 modfl F
-GLIBC_2.12 nan F
-GLIBC_2.12 nanf F
-GLIBC_2.12 nanl F
-GLIBC_2.12 nearbyint F
-GLIBC_2.12 nearbyintf F
-GLIBC_2.12 nearbyintl F
-GLIBC_2.12 nextafter F
-GLIBC_2.12 nextafterf F
-GLIBC_2.12 nextafterl F
-GLIBC_2.12 nexttoward F
-GLIBC_2.12 nexttowardf F
-GLIBC_2.12 nexttowardl F
-GLIBC_2.12 pow F
-GLIBC_2.12 pow10 F
-GLIBC_2.12 pow10f F
-GLIBC_2.12 pow10l F
-GLIBC_2.12 powf F
-GLIBC_2.12 powl F
-GLIBC_2.12 remainder F
-GLIBC_2.12 remainderf F
-GLIBC_2.12 remainderl F
-GLIBC_2.12 remquo F
-GLIBC_2.12 remquof F
-GLIBC_2.12 remquol F
-GLIBC_2.12 rint F
-GLIBC_2.12 rintf F
-GLIBC_2.12 rintl F
-GLIBC_2.12 round F
-GLIBC_2.12 roundf F
-GLIBC_2.12 roundl F
-GLIBC_2.12 scalb F
-GLIBC_2.12 scalbf F
-GLIBC_2.12 scalbl F
-GLIBC_2.12 scalbln F
-GLIBC_2.12 scalblnf F
-GLIBC_2.12 scalblnl F
-GLIBC_2.12 scalbn F
-GLIBC_2.12 scalbnf F
-GLIBC_2.12 scalbnl F
-GLIBC_2.12 signgam D 0x4
-GLIBC_2.12 significand F
-GLIBC_2.12 significandf F
-GLIBC_2.12 significandl F
-GLIBC_2.12 sin F
-GLIBC_2.12 sincos F
-GLIBC_2.12 sincosf F
-GLIBC_2.12 sincosl F
-GLIBC_2.12 sinf F
-GLIBC_2.12 sinh F
-GLIBC_2.12 sinhf F
-GLIBC_2.12 sinhl F
-GLIBC_2.12 sinl F
-GLIBC_2.12 sqrt F
-GLIBC_2.12 sqrtf F
-GLIBC_2.12 sqrtl F
-GLIBC_2.12 tan F
-GLIBC_2.12 tanf F
-GLIBC_2.12 tanh F
-GLIBC_2.12 tanhf F
-GLIBC_2.12 tanhl F
-GLIBC_2.12 tanl F
-GLIBC_2.12 tgamma F
-GLIBC_2.12 tgammaf F
-GLIBC_2.12 tgammal F
-GLIBC_2.12 trunc F
-GLIBC_2.12 truncf F
-GLIBC_2.12 truncl F
-GLIBC_2.12 y0 F
-GLIBC_2.12 y0f F
-GLIBC_2.12 y0l F
-GLIBC_2.12 y1 F
-GLIBC_2.12 y1f F
-GLIBC_2.12 y1l F
-GLIBC_2.12 yn F
-GLIBC_2.12 ynf F
-GLIBC_2.12 ynl 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 __asin_finite F
-GLIBC_2.15 __asinf_finite F
-GLIBC_2.15 __atan2_finite F
-GLIBC_2.15 __atan2f_finite F
-GLIBC_2.15 __atanh_finite F
-GLIBC_2.15 __atanhf_finite F
-GLIBC_2.15 __cosh_finite F
-GLIBC_2.15 __coshf_finite F
-GLIBC_2.15 __exp10_finite F
-GLIBC_2.15 __exp10f_finite F
-GLIBC_2.15 __exp2_finite F
-GLIBC_2.15 __exp2f_finite F
-GLIBC_2.15 __exp_finite F
-GLIBC_2.15 __expf_finite F
-GLIBC_2.15 __fmod_finite F
-GLIBC_2.15 __fmodf_finite F
-GLIBC_2.15 __gamma_r_finite F
-GLIBC_2.15 __gammaf_r_finite F
-GLIBC_2.15 __hypot_finite F
-GLIBC_2.15 __hypotf_finite F
-GLIBC_2.15 __j0_finite F
-GLIBC_2.15 __j0f_finite F
-GLIBC_2.15 __j1_finite F
-GLIBC_2.15 __j1f_finite F
-GLIBC_2.15 __jn_finite F
-GLIBC_2.15 __jnf_finite F
-GLIBC_2.15 __lgamma_r_finite F
-GLIBC_2.15 __lgammaf_r_finite F
-GLIBC_2.15 __log10_finite F
-GLIBC_2.15 __log10f_finite F
-GLIBC_2.15 __log2_finite F
-GLIBC_2.15 __log2f_finite F
-GLIBC_2.15 __log_finite F
-GLIBC_2.15 __logf_finite F
-GLIBC_2.15 __pow_finite F
-GLIBC_2.15 __powf_finite F
-GLIBC_2.15 __remainder_finite F
-GLIBC_2.15 __remainderf_finite F
-GLIBC_2.15 __scalb_finite F
-GLIBC_2.15 __scalbf_finite F
-GLIBC_2.15 __sinh_finite F
-GLIBC_2.15 __sinhf_finite F
-GLIBC_2.15 __sqrt_finite F
-GLIBC_2.15 __sqrtf_finite F
-GLIBC_2.15 __y0_finite F
-GLIBC_2.15 __y0f_finite F
-GLIBC_2.15 __y1_finite F
-GLIBC_2.15 __y1f_finite F
-GLIBC_2.15 __yn_finite F
-GLIBC_2.15 __ynf_finite F
-GLIBC_2.18 GLIBC_2.18 A
-GLIBC_2.18 __issignaling F
-GLIBC_2.18 __issignalingf 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 __iseqsig F
-GLIBC_2.25 __iseqsigf 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.27 GLIBC_2.27 A
-GLIBC_2.27 acosf32 F
-GLIBC_2.27 acosf32x F
-GLIBC_2.27 acosf64 F
-GLIBC_2.27 acoshf32 F
-GLIBC_2.27 acoshf32x F
-GLIBC_2.27 acoshf64 F
-GLIBC_2.27 asinf32 F
-GLIBC_2.27 asinf32x F
-GLIBC_2.27 asinf64 F
-GLIBC_2.27 asinhf32 F
-GLIBC_2.27 asinhf32x F
-GLIBC_2.27 asinhf64 F
-GLIBC_2.27 atan2f32 F
-GLIBC_2.27 atan2f32x F
-GLIBC_2.27 atan2f64 F
-GLIBC_2.27 atanf32 F
-GLIBC_2.27 atanf32x F
-GLIBC_2.27 atanf64 F
-GLIBC_2.27 atanhf32 F
-GLIBC_2.27 atanhf32x F
-GLIBC_2.27 atanhf64 F
-GLIBC_2.27 cabsf32 F
-GLIBC_2.27 cabsf32x F
-GLIBC_2.27 cabsf64 F
-GLIBC_2.27 cacosf32 F
-GLIBC_2.27 cacosf32x F
-GLIBC_2.27 cacosf64 F
-GLIBC_2.27 cacoshf32 F
-GLIBC_2.27 cacoshf32x F
-GLIBC_2.27 cacoshf64 F
-GLIBC_2.27 canonicalizef32 F
-GLIBC_2.27 canonicalizef32x F
-GLIBC_2.27 canonicalizef64 F
-GLIBC_2.27 cargf32 F
-GLIBC_2.27 cargf32x F
-GLIBC_2.27 cargf64 F
-GLIBC_2.27 casinf32 F
-GLIBC_2.27 casinf32x F
-GLIBC_2.27 casinf64 F
-GLIBC_2.27 casinhf32 F
-GLIBC_2.27 casinhf32x F
-GLIBC_2.27 casinhf64 F
-GLIBC_2.27 catanf32 F
-GLIBC_2.27 catanf32x F
-GLIBC_2.27 catanf64 F
-GLIBC_2.27 catanhf32 F
-GLIBC_2.27 catanhf32x F
-GLIBC_2.27 catanhf64 F
-GLIBC_2.27 cbrtf32 F
-GLIBC_2.27 cbrtf32x F
-GLIBC_2.27 cbrtf64 F
-GLIBC_2.27 ccosf32 F
-GLIBC_2.27 ccosf32x F
-GLIBC_2.27 ccosf64 F
-GLIBC_2.27 ccoshf32 F
-GLIBC_2.27 ccoshf32x F
-GLIBC_2.27 ccoshf64 F
-GLIBC_2.27 ceilf32 F
-GLIBC_2.27 ceilf32x F
-GLIBC_2.27 ceilf64 F
-GLIBC_2.27 cexpf32 F
-GLIBC_2.27 cexpf32x F
-GLIBC_2.27 cexpf64 F
-GLIBC_2.27 cimagf32 F
-GLIBC_2.27 cimagf32x F
-GLIBC_2.27 cimagf64 F
-GLIBC_2.27 clog10f32 F
-GLIBC_2.27 clog10f32x F
-GLIBC_2.27 clog10f64 F
-GLIBC_2.27 clogf32 F
-GLIBC_2.27 clogf32x F
-GLIBC_2.27 clogf64 F
-GLIBC_2.27 conjf32 F
-GLIBC_2.27 conjf32x F
-GLIBC_2.27 conjf64 F
-GLIBC_2.27 copysignf32 F
-GLIBC_2.27 copysignf32x F
-GLIBC_2.27 copysignf64 F
-GLIBC_2.27 cosf32 F
-GLIBC_2.27 cosf32x F
-GLIBC_2.27 cosf64 F
-GLIBC_2.27 coshf32 F
-GLIBC_2.27 coshf32x F
-GLIBC_2.27 coshf64 F
-GLIBC_2.27 cpowf32 F
-GLIBC_2.27 cpowf32x F
-GLIBC_2.27 cpowf64 F
-GLIBC_2.27 cprojf32 F
-GLIBC_2.27 cprojf32x F
-GLIBC_2.27 cprojf64 F
-GLIBC_2.27 crealf32 F
-GLIBC_2.27 crealf32x F
-GLIBC_2.27 crealf64 F
-GLIBC_2.27 csinf32 F
-GLIBC_2.27 csinf32x F
-GLIBC_2.27 csinf64 F
-GLIBC_2.27 csinhf32 F
-GLIBC_2.27 csinhf32x F
-GLIBC_2.27 csinhf64 F
-GLIBC_2.27 csqrtf32 F
-GLIBC_2.27 csqrtf32x F
-GLIBC_2.27 csqrtf64 F
-GLIBC_2.27 ctanf32 F
-GLIBC_2.27 ctanf32x F
-GLIBC_2.27 ctanf64 F
-GLIBC_2.27 ctanhf32 F
-GLIBC_2.27 ctanhf32x F
-GLIBC_2.27 ctanhf64 F
-GLIBC_2.27 erfcf32 F
-GLIBC_2.27 erfcf32x F
-GLIBC_2.27 erfcf64 F
-GLIBC_2.27 erff32 F
-GLIBC_2.27 erff32x F
-GLIBC_2.27 erff64 F
-GLIBC_2.27 exp10f32 F
-GLIBC_2.27 exp10f32x F
-GLIBC_2.27 exp10f64 F
-GLIBC_2.27 exp2f F
-GLIBC_2.27 exp2f32 F
-GLIBC_2.27 exp2f32x F
-GLIBC_2.27 exp2f64 F
-GLIBC_2.27 expf F
-GLIBC_2.27 expf32 F
-GLIBC_2.27 expf32x F
-GLIBC_2.27 expf64 F
-GLIBC_2.27 expm1f32 F
-GLIBC_2.27 expm1f32x F
-GLIBC_2.27 expm1f64 F
-GLIBC_2.27 fabsf32 F
-GLIBC_2.27 fabsf32x F
-GLIBC_2.27 fabsf64 F
-GLIBC_2.27 fdimf32 F
-GLIBC_2.27 fdimf32x F
-GLIBC_2.27 fdimf64 F
-GLIBC_2.27 floorf32 F
-GLIBC_2.27 floorf32x F
-GLIBC_2.27 floorf64 F
-GLIBC_2.27 fmaf32 F
-GLIBC_2.27 fmaf32x F
-GLIBC_2.27 fmaf64 F
-GLIBC_2.27 fmaxf32 F
-GLIBC_2.27 fmaxf32x F
-GLIBC_2.27 fmaxf64 F
-GLIBC_2.27 fmaxmagf32 F
-GLIBC_2.27 fmaxmagf32x F
-GLIBC_2.27 fmaxmagf64 F
-GLIBC_2.27 fminf32 F
-GLIBC_2.27 fminf32x F
-GLIBC_2.27 fminf64 F
-GLIBC_2.27 fminmagf32 F
-GLIBC_2.27 fminmagf32x F
-GLIBC_2.27 fminmagf64 F
-GLIBC_2.27 fmodf32 F
-GLIBC_2.27 fmodf32x F
-GLIBC_2.27 fmodf64 F
-GLIBC_2.27 frexpf32 F
-GLIBC_2.27 frexpf32x F
-GLIBC_2.27 frexpf64 F
-GLIBC_2.27 fromfpf32 F
-GLIBC_2.27 fromfpf32x F
-GLIBC_2.27 fromfpf64 F
-GLIBC_2.27 fromfpxf32 F
-GLIBC_2.27 fromfpxf32x F
-GLIBC_2.27 fromfpxf64 F
-GLIBC_2.27 getpayloadf32 F
-GLIBC_2.27 getpayloadf32x F
-GLIBC_2.27 getpayloadf64 F
-GLIBC_2.27 hypotf32 F
-GLIBC_2.27 hypotf32x F
-GLIBC_2.27 hypotf64 F
-GLIBC_2.27 ilogbf32 F
-GLIBC_2.27 ilogbf32x F
-GLIBC_2.27 ilogbf64 F
-GLIBC_2.27 j0f32 F
-GLIBC_2.27 j0f32x F
-GLIBC_2.27 j0f64 F
-GLIBC_2.27 j1f32 F
-GLIBC_2.27 j1f32x F
-GLIBC_2.27 j1f64 F
-GLIBC_2.27 jnf32 F
-GLIBC_2.27 jnf32x F
-GLIBC_2.27 jnf64 F
-GLIBC_2.27 ldexpf32 F
-GLIBC_2.27 ldexpf32x F
-GLIBC_2.27 ldexpf64 F
-GLIBC_2.27 lgammaf32 F
-GLIBC_2.27 lgammaf32_r F
-GLIBC_2.27 lgammaf32x F
-GLIBC_2.27 lgammaf32x_r F
-GLIBC_2.27 lgammaf64 F
-GLIBC_2.27 lgammaf64_r F
-GLIBC_2.27 llogbf32 F
-GLIBC_2.27 llogbf32x F
-GLIBC_2.27 llogbf64 F
-GLIBC_2.27 llrintf32 F
-GLIBC_2.27 llrintf32x F
-GLIBC_2.27 llrintf64 F
-GLIBC_2.27 llroundf32 F
-GLIBC_2.27 llroundf32x F
-GLIBC_2.27 llroundf64 F
-GLIBC_2.27 log10f32 F
-GLIBC_2.27 log10f32x F
-GLIBC_2.27 log10f64 F
-GLIBC_2.27 log1pf32 F
-GLIBC_2.27 log1pf32x F
-GLIBC_2.27 log1pf64 F
-GLIBC_2.27 log2f F
-GLIBC_2.27 log2f32 F
-GLIBC_2.27 log2f32x F
-GLIBC_2.27 log2f64 F
-GLIBC_2.27 logbf32 F
-GLIBC_2.27 logbf32x F
-GLIBC_2.27 logbf64 F
-GLIBC_2.27 logf F
-GLIBC_2.27 logf32 F
-GLIBC_2.27 logf32x F
-GLIBC_2.27 logf64 F
-GLIBC_2.27 lrintf32 F
-GLIBC_2.27 lrintf32x F
-GLIBC_2.27 lrintf64 F
-GLIBC_2.27 lroundf32 F
-GLIBC_2.27 lroundf32x F
-GLIBC_2.27 lroundf64 F
-GLIBC_2.27 modff32 F
-GLIBC_2.27 modff32x F
-GLIBC_2.27 modff64 F
-GLIBC_2.27 nanf32 F
-GLIBC_2.27 nanf32x F
-GLIBC_2.27 nanf64 F
-GLIBC_2.27 nearbyintf32 F
-GLIBC_2.27 nearbyintf32x F
-GLIBC_2.27 nearbyintf64 F
-GLIBC_2.27 nextafterf32 F
-GLIBC_2.27 nextafterf32x F
-GLIBC_2.27 nextafterf64 F
-GLIBC_2.27 nextdownf32 F
-GLIBC_2.27 nextdownf32x F
-GLIBC_2.27 nextdownf64 F
-GLIBC_2.27 nextupf32 F
-GLIBC_2.27 nextupf32x F
-GLIBC_2.27 nextupf64 F
-GLIBC_2.27 powf F
-GLIBC_2.27 powf32 F
-GLIBC_2.27 powf32x F
-GLIBC_2.27 powf64 F
-GLIBC_2.27 remainderf32 F
-GLIBC_2.27 remainderf32x F
-GLIBC_2.27 remainderf64 F
-GLIBC_2.27 remquof32 F
-GLIBC_2.27 remquof32x F
-GLIBC_2.27 remquof64 F
-GLIBC_2.27 rintf32 F
-GLIBC_2.27 rintf32x F
-GLIBC_2.27 rintf64 F
-GLIBC_2.27 roundevenf32 F
-GLIBC_2.27 roundevenf32x F
-GLIBC_2.27 roundevenf64 F
-GLIBC_2.27 roundf32 F
-GLIBC_2.27 roundf32x F
-GLIBC_2.27 roundf64 F
-GLIBC_2.27 scalblnf32 F
-GLIBC_2.27 scalblnf32x F
-GLIBC_2.27 scalblnf64 F
-GLIBC_2.27 scalbnf32 F
-GLIBC_2.27 scalbnf32x F
-GLIBC_2.27 scalbnf64 F
-GLIBC_2.27 setpayloadf32 F
-GLIBC_2.27 setpayloadf32x F
-GLIBC_2.27 setpayloadf64 F
-GLIBC_2.27 setpayloadsigf32 F
-GLIBC_2.27 setpayloadsigf32x F
-GLIBC_2.27 setpayloadsigf64 F
-GLIBC_2.27 sincosf32 F
-GLIBC_2.27 sincosf32x F
-GLIBC_2.27 sincosf64 F
-GLIBC_2.27 sinf32 F
-GLIBC_2.27 sinf32x F
-GLIBC_2.27 sinf64 F
-GLIBC_2.27 sinhf32 F
-GLIBC_2.27 sinhf32x F
-GLIBC_2.27 sinhf64 F
-GLIBC_2.27 sqrtf32 F
-GLIBC_2.27 sqrtf32x F
-GLIBC_2.27 sqrtf64 F
-GLIBC_2.27 tanf32 F
-GLIBC_2.27 tanf32x F
-GLIBC_2.27 tanf64 F
-GLIBC_2.27 tanhf32 F
-GLIBC_2.27 tanhf32x F
-GLIBC_2.27 tanhf64 F
-GLIBC_2.27 tgammaf32 F
-GLIBC_2.27 tgammaf32x F
-GLIBC_2.27 tgammaf64 F
-GLIBC_2.27 totalorderf32 F
-GLIBC_2.27 totalorderf32x F
-GLIBC_2.27 totalorderf64 F
-GLIBC_2.27 totalordermagf32 F
-GLIBC_2.27 totalordermagf32x F
-GLIBC_2.27 totalordermagf64 F
-GLIBC_2.27 truncf32 F
-GLIBC_2.27 truncf32x F
-GLIBC_2.27 truncf64 F
-GLIBC_2.27 ufromfpf32 F
-GLIBC_2.27 ufromfpf32x F
-GLIBC_2.27 ufromfpf64 F
-GLIBC_2.27 ufromfpxf32 F
-GLIBC_2.27 ufromfpxf32x F
-GLIBC_2.27 ufromfpxf64 F
-GLIBC_2.27 y0f32 F
-GLIBC_2.27 y0f32x F
-GLIBC_2.27 y0f64 F
-GLIBC_2.27 y1f32 F
-GLIBC_2.27 y1f32x F
-GLIBC_2.27 y1f64 F
-GLIBC_2.27 ynf32 F
-GLIBC_2.27 ynf32x F
-GLIBC_2.27 ynf64 F
-GLIBC_2.28 GLIBC_2.28 A
-GLIBC_2.28 daddl F
-GLIBC_2.28 dsubl F
-GLIBC_2.28 f32addf32x F
-GLIBC_2.28 f32addf64 F
-GLIBC_2.28 f32subf32x F
-GLIBC_2.28 f32subf64 F
-GLIBC_2.28 f32xaddf64 F
-GLIBC_2.28 f32xsubf64 F
-GLIBC_2.28 fadd F
-GLIBC_2.28 faddl F
-GLIBC_2.28 fsub F
-GLIBC_2.28 fsubl F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist
deleted file mode 100644
index 0277e5c..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libnsl.abilist
+++ /dev/null
@@ -1,122 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __free_fdresult F
-GLIBC_2.12 __nis_default_access F
-GLIBC_2.12 __nis_default_group F
-GLIBC_2.12 __nis_default_owner F
-GLIBC_2.12 __nis_default_ttl F
-GLIBC_2.12 __nis_finddirectory F
-GLIBC_2.12 __nis_hash F
-GLIBC_2.12 __nisbind_connect F
-GLIBC_2.12 __nisbind_create F
-GLIBC_2.12 __nisbind_destroy F
-GLIBC_2.12 __nisbind_next F
-GLIBC_2.12 __yp_check F
-GLIBC_2.12 nis_add F
-GLIBC_2.12 nis_add_entry F
-GLIBC_2.12 nis_addmember F
-GLIBC_2.12 nis_checkpoint F
-GLIBC_2.12 nis_clone_directory F
-GLIBC_2.12 nis_clone_object F
-GLIBC_2.12 nis_clone_result F
-GLIBC_2.12 nis_creategroup F
-GLIBC_2.12 nis_destroy_object F
-GLIBC_2.12 nis_destroygroup F
-GLIBC_2.12 nis_dir_cmp F
-GLIBC_2.12 nis_domain_of F
-GLIBC_2.12 nis_domain_of_r F
-GLIBC_2.12 nis_first_entry F
-GLIBC_2.12 nis_free_directory F
-GLIBC_2.12 nis_free_object F
-GLIBC_2.12 nis_free_request F
-GLIBC_2.12 nis_freenames F
-GLIBC_2.12 nis_freeresult F
-GLIBC_2.12 nis_freeservlist F
-GLIBC_2.12 nis_freetags F
-GLIBC_2.12 nis_getnames F
-GLIBC_2.12 nis_getservlist F
-GLIBC_2.12 nis_ismember F
-GLIBC_2.12 nis_leaf_of F
-GLIBC_2.12 nis_leaf_of_r F
-GLIBC_2.12 nis_lerror F
-GLIBC_2.12 nis_list F
-GLIBC_2.12 nis_local_directory F
-GLIBC_2.12 nis_local_group F
-GLIBC_2.12 nis_local_host F
-GLIBC_2.12 nis_local_principal F
-GLIBC_2.12 nis_lookup F
-GLIBC_2.12 nis_mkdir F
-GLIBC_2.12 nis_modify F
-GLIBC_2.12 nis_modify_entry F
-GLIBC_2.12 nis_name_of F
-GLIBC_2.12 nis_name_of_r F
-GLIBC_2.12 nis_next_entry F
-GLIBC_2.12 nis_perror F
-GLIBC_2.12 nis_ping F
-GLIBC_2.12 nis_print_directory F
-GLIBC_2.12 nis_print_entry F
-GLIBC_2.12 nis_print_group F
-GLIBC_2.12 nis_print_group_entry F
-GLIBC_2.12 nis_print_link F
-GLIBC_2.12 nis_print_object F
-GLIBC_2.12 nis_print_result F
-GLIBC_2.12 nis_print_rights F
-GLIBC_2.12 nis_print_table F
-GLIBC_2.12 nis_read_obj F
-GLIBC_2.12 nis_remove F
-GLIBC_2.12 nis_remove_entry F
-GLIBC_2.12 nis_removemember F
-GLIBC_2.12 nis_rmdir F
-GLIBC_2.12 nis_servstate F
-GLIBC_2.12 nis_sperrno F
-GLIBC_2.12 nis_sperror F
-GLIBC_2.12 nis_sperror_r F
-GLIBC_2.12 nis_stats F
-GLIBC_2.12 nis_verifygroup F
-GLIBC_2.12 nis_write_obj F
-GLIBC_2.12 readColdStartFile F
-GLIBC_2.12 writeColdStartFile F
-GLIBC_2.12 xdr_cback_data F
-GLIBC_2.12 xdr_domainname F
-GLIBC_2.12 xdr_keydat F
-GLIBC_2.12 xdr_mapname F
-GLIBC_2.12 xdr_obj_p F
-GLIBC_2.12 xdr_peername F
-GLIBC_2.12 xdr_valdat F
-GLIBC_2.12 xdr_yp_buf F
-GLIBC_2.12 xdr_ypall F
-GLIBC_2.12 xdr_ypbind_binding F
-GLIBC_2.12 xdr_ypbind_resp F
-GLIBC_2.12 xdr_ypbind_resptype F
-GLIBC_2.12 xdr_ypbind_setdom F
-GLIBC_2.12 xdr_ypdelete_args F
-GLIBC_2.12 xdr_ypmap_parms F
-GLIBC_2.12 xdr_ypmaplist F
-GLIBC_2.12 xdr_yppush_status F
-GLIBC_2.12 xdr_yppushresp_xfr F
-GLIBC_2.12 xdr_ypreq_key F
-GLIBC_2.12 xdr_ypreq_nokey F
-GLIBC_2.12 xdr_ypreq_xfr F
-GLIBC_2.12 xdr_ypresp_all F
-GLIBC_2.12 xdr_ypresp_key_val F
-GLIBC_2.12 xdr_ypresp_maplist F
-GLIBC_2.12 xdr_ypresp_master F
-GLIBC_2.12 xdr_ypresp_order F
-GLIBC_2.12 xdr_ypresp_val F
-GLIBC_2.12 xdr_ypresp_xfr F
-GLIBC_2.12 xdr_ypstat F
-GLIBC_2.12 xdr_ypupdate_args F
-GLIBC_2.12 xdr_ypxfrstat F
-GLIBC_2.12 yp_all F
-GLIBC_2.12 yp_bind F
-GLIBC_2.12 yp_first F
-GLIBC_2.12 yp_get_default_domain F
-GLIBC_2.12 yp_maplist F
-GLIBC_2.12 yp_master F
-GLIBC_2.12 yp_match F
-GLIBC_2.12 yp_next F
-GLIBC_2.12 yp_order F
-GLIBC_2.12 yp_unbind F
-GLIBC_2.12 yp_update F
-GLIBC_2.12 ypbinderr_string F
-GLIBC_2.12 yperr_string F
-GLIBC_2.12 ypprot_err F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist
deleted file mode 100644
index d16158f..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libpthread.abilist
+++ /dev/null
@@ -1,226 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 _IO_flockfile F
-GLIBC_2.12 _IO_ftrylockfile F
-GLIBC_2.12 _IO_funlockfile F
-GLIBC_2.12 __close F
-GLIBC_2.12 __connect F
-GLIBC_2.12 __errno_location F
-GLIBC_2.12 __fcntl F
-GLIBC_2.12 __fork F
-GLIBC_2.12 __h_errno_location F
-GLIBC_2.12 __libc_allocate_rtsig F
-GLIBC_2.12 __libc_current_sigrtmax F
-GLIBC_2.12 __libc_current_sigrtmin F
-GLIBC_2.12 __lseek F
-GLIBC_2.12 __nanosleep F
-GLIBC_2.12 __open F
-GLIBC_2.12 __open64 F
-GLIBC_2.12 __pread64 F
-GLIBC_2.12 __pthread_cleanup_routine F
-GLIBC_2.12 __pthread_getspecific F
-GLIBC_2.12 __pthread_key_create F
-GLIBC_2.12 __pthread_mutex_destroy F
-GLIBC_2.12 __pthread_mutex_init F
-GLIBC_2.12 __pthread_mutex_lock F
-GLIBC_2.12 __pthread_mutex_trylock F
-GLIBC_2.12 __pthread_mutex_unlock F
-GLIBC_2.12 __pthread_mutexattr_destroy F
-GLIBC_2.12 __pthread_mutexattr_init F
-GLIBC_2.12 __pthread_mutexattr_settype F
-GLIBC_2.12 __pthread_once F
-GLIBC_2.12 __pthread_register_cancel F
-GLIBC_2.12 __pthread_register_cancel_defer F
-GLIBC_2.12 __pthread_rwlock_destroy F
-GLIBC_2.12 __pthread_rwlock_init F
-GLIBC_2.12 __pthread_rwlock_rdlock F
-GLIBC_2.12 __pthread_rwlock_tryrdlock F
-GLIBC_2.12 __pthread_rwlock_trywrlock F
-GLIBC_2.12 __pthread_rwlock_unlock F
-GLIBC_2.12 __pthread_rwlock_wrlock F
-GLIBC_2.12 __pthread_setspecific F
-GLIBC_2.12 __pthread_unregister_cancel F
-GLIBC_2.12 __pthread_unregister_cancel_restore F
-GLIBC_2.12 __pthread_unwind_next F
-GLIBC_2.12 __pwrite64 F
-GLIBC_2.12 __read F
-GLIBC_2.12 __res_state F
-GLIBC_2.12 __send F
-GLIBC_2.12 __sigaction F
-GLIBC_2.12 __vfork F
-GLIBC_2.12 __wait F
-GLIBC_2.12 __write F
-GLIBC_2.12 _pthread_cleanup_pop F
-GLIBC_2.12 _pthread_cleanup_pop_restore F
-GLIBC_2.12 _pthread_cleanup_push F
-GLIBC_2.12 _pthread_cleanup_push_defer F
-GLIBC_2.12 accept F
-GLIBC_2.12 close F
-GLIBC_2.12 connect F
-GLIBC_2.12 fcntl F
-GLIBC_2.12 flockfile F
-GLIBC_2.12 fork F
-GLIBC_2.12 fsync F
-GLIBC_2.12 ftrylockfile F
-GLIBC_2.12 funlockfile F
-GLIBC_2.12 longjmp F
-GLIBC_2.12 lseek F
-GLIBC_2.12 lseek64 F
-GLIBC_2.12 msync F
-GLIBC_2.12 nanosleep F
-GLIBC_2.12 open F
-GLIBC_2.12 open64 F
-GLIBC_2.12 pause F
-GLIBC_2.12 pread F
-GLIBC_2.12 pread64 F
-GLIBC_2.12 pthread_attr_destroy F
-GLIBC_2.12 pthread_attr_getaffinity_np F
-GLIBC_2.12 pthread_attr_getdetachstate F
-GLIBC_2.12 pthread_attr_getguardsize F
-GLIBC_2.12 pthread_attr_getinheritsched F
-GLIBC_2.12 pthread_attr_getschedparam F
-GLIBC_2.12 pthread_attr_getschedpolicy F
-GLIBC_2.12 pthread_attr_getscope F
-GLIBC_2.12 pthread_attr_getstack F
-GLIBC_2.12 pthread_attr_getstackaddr F
-GLIBC_2.12 pthread_attr_getstacksize F
-GLIBC_2.12 pthread_attr_init F
-GLIBC_2.12 pthread_attr_setaffinity_np F
-GLIBC_2.12 pthread_attr_setdetachstate F
-GLIBC_2.12 pthread_attr_setguardsize F
-GLIBC_2.12 pthread_attr_setinheritsched F
-GLIBC_2.12 pthread_attr_setschedparam F
-GLIBC_2.12 pthread_attr_setschedpolicy F
-GLIBC_2.12 pthread_attr_setscope F
-GLIBC_2.12 pthread_attr_setstack F
-GLIBC_2.12 pthread_attr_setstackaddr F
-GLIBC_2.12 pthread_attr_setstacksize F
-GLIBC_2.12 pthread_barrier_destroy F
-GLIBC_2.12 pthread_barrier_init F
-GLIBC_2.12 pthread_barrier_wait F
-GLIBC_2.12 pthread_barrierattr_destroy F
-GLIBC_2.12 pthread_barrierattr_getpshared F
-GLIBC_2.12 pthread_barrierattr_init F
-GLIBC_2.12 pthread_barrierattr_setpshared F
-GLIBC_2.12 pthread_cancel F
-GLIBC_2.12 pthread_cond_broadcast F
-GLIBC_2.12 pthread_cond_destroy F
-GLIBC_2.12 pthread_cond_init F
-GLIBC_2.12 pthread_cond_signal F
-GLIBC_2.12 pthread_cond_timedwait F
-GLIBC_2.12 pthread_cond_wait F
-GLIBC_2.12 pthread_condattr_destroy F
-GLIBC_2.12 pthread_condattr_getclock F
-GLIBC_2.12 pthread_condattr_getpshared F
-GLIBC_2.12 pthread_condattr_init F
-GLIBC_2.12 pthread_condattr_setclock F
-GLIBC_2.12 pthread_condattr_setpshared F
-GLIBC_2.12 pthread_create F
-GLIBC_2.12 pthread_detach F
-GLIBC_2.12 pthread_equal F
-GLIBC_2.12 pthread_exit F
-GLIBC_2.12 pthread_getaffinity_np F
-GLIBC_2.12 pthread_getattr_np F
-GLIBC_2.12 pthread_getconcurrency F
-GLIBC_2.12 pthread_getcpuclockid F
-GLIBC_2.12 pthread_getname_np F
-GLIBC_2.12 pthread_getschedparam F
-GLIBC_2.12 pthread_getspecific F
-GLIBC_2.12 pthread_join F
-GLIBC_2.12 pthread_key_create F
-GLIBC_2.12 pthread_key_delete F
-GLIBC_2.12 pthread_kill F
-GLIBC_2.12 pthread_kill_other_threads_np F
-GLIBC_2.12 pthread_mutex_consistent F
-GLIBC_2.12 pthread_mutex_consistent_np F
-GLIBC_2.12 pthread_mutex_destroy F
-GLIBC_2.12 pthread_mutex_getprioceiling F
-GLIBC_2.12 pthread_mutex_init F
-GLIBC_2.12 pthread_mutex_lock F
-GLIBC_2.12 pthread_mutex_setprioceiling F
-GLIBC_2.12 pthread_mutex_timedlock F
-GLIBC_2.12 pthread_mutex_trylock F
-GLIBC_2.12 pthread_mutex_unlock F
-GLIBC_2.12 pthread_mutexattr_destroy F
-GLIBC_2.12 pthread_mutexattr_getkind_np F
-GLIBC_2.12 pthread_mutexattr_getprioceiling F
-GLIBC_2.12 pthread_mutexattr_getprotocol F
-GLIBC_2.12 pthread_mutexattr_getpshared F
-GLIBC_2.12 pthread_mutexattr_getrobust F
-GLIBC_2.12 pthread_mutexattr_getrobust_np F
-GLIBC_2.12 pthread_mutexattr_gettype F
-GLIBC_2.12 pthread_mutexattr_init F
-GLIBC_2.12 pthread_mutexattr_setkind_np F
-GLIBC_2.12 pthread_mutexattr_setprioceiling F
-GLIBC_2.12 pthread_mutexattr_setprotocol F
-GLIBC_2.12 pthread_mutexattr_setpshared F
-GLIBC_2.12 pthread_mutexattr_setrobust F
-GLIBC_2.12 pthread_mutexattr_setrobust_np F
-GLIBC_2.12 pthread_mutexattr_settype F
-GLIBC_2.12 pthread_once F
-GLIBC_2.12 pthread_rwlock_destroy F
-GLIBC_2.12 pthread_rwlock_init F
-GLIBC_2.12 pthread_rwlock_rdlock F
-GLIBC_2.12 pthread_rwlock_timedrdlock F
-GLIBC_2.12 pthread_rwlock_timedwrlock F
-GLIBC_2.12 pthread_rwlock_tryrdlock F
-GLIBC_2.12 pthread_rwlock_trywrlock F
-GLIBC_2.12 pthread_rwlock_unlock F
-GLIBC_2.12 pthread_rwlock_wrlock F
-GLIBC_2.12 pthread_rwlockattr_destroy F
-GLIBC_2.12 pthread_rwlockattr_getkind_np F
-GLIBC_2.12 pthread_rwlockattr_getpshared F
-GLIBC_2.12 pthread_rwlockattr_init F
-GLIBC_2.12 pthread_rwlockattr_setkind_np F
-GLIBC_2.12 pthread_rwlockattr_setpshared F
-GLIBC_2.12 pthread_self F
-GLIBC_2.12 pthread_setaffinity_np F
-GLIBC_2.12 pthread_setcancelstate F
-GLIBC_2.12 pthread_setcanceltype F
-GLIBC_2.12 pthread_setconcurrency F
-GLIBC_2.12 pthread_setname_np F
-GLIBC_2.12 pthread_setschedparam F
-GLIBC_2.12 pthread_setschedprio F
-GLIBC_2.12 pthread_setspecific F
-GLIBC_2.12 pthread_sigmask F
-GLIBC_2.12 pthread_sigqueue F
-GLIBC_2.12 pthread_spin_destroy F
-GLIBC_2.12 pthread_spin_init F
-GLIBC_2.12 pthread_spin_lock F
-GLIBC_2.12 pthread_spin_trylock F
-GLIBC_2.12 pthread_spin_unlock F
-GLIBC_2.12 pthread_testcancel F
-GLIBC_2.12 pthread_timedjoin_np F
-GLIBC_2.12 pthread_tryjoin_np F
-GLIBC_2.12 pthread_yield F
-GLIBC_2.12 pwrite F
-GLIBC_2.12 pwrite64 F
-GLIBC_2.12 raise F
-GLIBC_2.12 read F
-GLIBC_2.12 recv F
-GLIBC_2.12 recvfrom F
-GLIBC_2.12 recvmsg F
-GLIBC_2.12 sem_close F
-GLIBC_2.12 sem_destroy F
-GLIBC_2.12 sem_getvalue F
-GLIBC_2.12 sem_init F
-GLIBC_2.12 sem_open F
-GLIBC_2.12 sem_post F
-GLIBC_2.12 sem_timedwait F
-GLIBC_2.12 sem_trywait F
-GLIBC_2.12 sem_unlink F
-GLIBC_2.12 sem_wait F
-GLIBC_2.12 send F
-GLIBC_2.12 sendmsg F
-GLIBC_2.12 sendto F
-GLIBC_2.12 sigaction F
-GLIBC_2.12 siglongjmp F
-GLIBC_2.12 sigwait F
-GLIBC_2.12 system F
-GLIBC_2.12 tcdrain F
-GLIBC_2.12 vfork F
-GLIBC_2.12 wait F
-GLIBC_2.12 waitpid F
-GLIBC_2.12 write F
-GLIBC_2.18 GLIBC_2.18 A
-GLIBC_2.18 pthread_getattr_default_np F
-GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist
deleted file mode 100644
index bd81642..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libresolv.abilist
+++ /dev/null
@@ -1,92 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __b64_ntop F
-GLIBC_2.12 __b64_pton F
-GLIBC_2.12 __dn_comp F
-GLIBC_2.12 __dn_count_labels F
-GLIBC_2.12 __dn_expand F
-GLIBC_2.12 __dn_skipname F
-GLIBC_2.12 __fp_nquery F
-GLIBC_2.12 __fp_query F
-GLIBC_2.12 __fp_resstat F
-GLIBC_2.12 __hostalias F
-GLIBC_2.12 __loc_aton F
-GLIBC_2.12 __loc_ntoa F
-GLIBC_2.12 __p_cdname F
-GLIBC_2.12 __p_cdnname F
-GLIBC_2.12 __p_class F
-GLIBC_2.12 __p_class_syms D 0xa8
-GLIBC_2.12 __p_fqname F
-GLIBC_2.12 __p_fqnname F
-GLIBC_2.12 __p_option F
-GLIBC_2.12 __p_query F
-GLIBC_2.12 __p_rcode F
-GLIBC_2.12 __p_secstodate F
-GLIBC_2.12 __p_time F
-GLIBC_2.12 __p_type F
-GLIBC_2.12 __p_type_syms D 0x450
-GLIBC_2.12 __putlong F
-GLIBC_2.12 __putshort F
-GLIBC_2.12 __res_close F
-GLIBC_2.12 __res_dnok F
-GLIBC_2.12 __res_hnok F
-GLIBC_2.12 __res_hostalias F
-GLIBC_2.12 __res_isourserver F
-GLIBC_2.12 __res_mailok F
-GLIBC_2.12 __res_mkquery F
-GLIBC_2.12 __res_nameinquery F
-GLIBC_2.12 __res_nmkquery F
-GLIBC_2.12 __res_nquery F
-GLIBC_2.12 __res_nquerydomain F
-GLIBC_2.12 __res_nsearch F
-GLIBC_2.12 __res_nsend F
-GLIBC_2.12 __res_ownok F
-GLIBC_2.12 __res_queriesmatch F
-GLIBC_2.12 __res_query F
-GLIBC_2.12 __res_querydomain F
-GLIBC_2.12 __res_search F
-GLIBC_2.12 __res_send F
-GLIBC_2.12 __sym_ntop F
-GLIBC_2.12 __sym_ntos F
-GLIBC_2.12 __sym_ston F
-GLIBC_2.12 _gethtbyaddr F
-GLIBC_2.12 _gethtbyname F
-GLIBC_2.12 _gethtbyname2 F
-GLIBC_2.12 _gethtent F
-GLIBC_2.12 _getlong F
-GLIBC_2.12 _getshort F
-GLIBC_2.12 _res_opcodes D 0x80
-GLIBC_2.12 _sethtent F
-GLIBC_2.12 inet_net_ntop F
-GLIBC_2.12 inet_net_pton F
-GLIBC_2.12 inet_neta F
-GLIBC_2.12 ns_datetosecs F
-GLIBC_2.12 ns_format_ttl F
-GLIBC_2.12 ns_get16 F
-GLIBC_2.12 ns_get32 F
-GLIBC_2.12 ns_initparse F
-GLIBC_2.12 ns_makecanon F
-GLIBC_2.12 ns_msg_getflag F
-GLIBC_2.12 ns_name_compress F
-GLIBC_2.12 ns_name_ntol F
-GLIBC_2.12 ns_name_ntop F
-GLIBC_2.12 ns_name_pack F
-GLIBC_2.12 ns_name_pton F
-GLIBC_2.12 ns_name_rollback F
-GLIBC_2.12 ns_name_skip F
-GLIBC_2.12 ns_name_uncompress F
-GLIBC_2.12 ns_name_unpack F
-GLIBC_2.12 ns_parse_ttl F
-GLIBC_2.12 ns_parserr F
-GLIBC_2.12 ns_put16 F
-GLIBC_2.12 ns_put32 F
-GLIBC_2.12 ns_samedomain F
-GLIBC_2.12 ns_samename F
-GLIBC_2.12 ns_skiprr F
-GLIBC_2.12 ns_sprintrr F
-GLIBC_2.12 ns_sprintrrf F
-GLIBC_2.12 ns_subdomain F
-GLIBC_2.12 res_gethostbyaddr F
-GLIBC_2.12 res_gethostbyname F
-GLIBC_2.12 res_gethostbyname2 F
-GLIBC_2.12 res_send_setqhook F
-GLIBC_2.12 res_send_setrhook F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist
deleted file mode 100644
index 14f5c82..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/librt.abilist
+++ /dev/null
@@ -1,41 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 __mq_open_2 F
-GLIBC_2.12 aio_cancel F
-GLIBC_2.12 aio_cancel64 F
-GLIBC_2.12 aio_error F
-GLIBC_2.12 aio_error64 F
-GLIBC_2.12 aio_fsync F
-GLIBC_2.12 aio_fsync64 F
-GLIBC_2.12 aio_init F
-GLIBC_2.12 aio_read F
-GLIBC_2.12 aio_read64 F
-GLIBC_2.12 aio_return F
-GLIBC_2.12 aio_return64 F
-GLIBC_2.12 aio_suspend F
-GLIBC_2.12 aio_suspend64 F
-GLIBC_2.12 aio_write F
-GLIBC_2.12 aio_write64 F
-GLIBC_2.12 clock_getcpuclockid F
-GLIBC_2.12 clock_getres F
-GLIBC_2.12 clock_gettime F
-GLIBC_2.12 clock_nanosleep F
-GLIBC_2.12 clock_settime F
-GLIBC_2.12 lio_listio F
-GLIBC_2.12 lio_listio64 F
-GLIBC_2.12 mq_close F
-GLIBC_2.12 mq_getattr F
-GLIBC_2.12 mq_notify F
-GLIBC_2.12 mq_open F
-GLIBC_2.12 mq_receive F
-GLIBC_2.12 mq_send F
-GLIBC_2.12 mq_setattr F
-GLIBC_2.12 mq_timedreceive F
-GLIBC_2.12 mq_timedsend F
-GLIBC_2.12 mq_unlink F
-GLIBC_2.12 shm_open F
-GLIBC_2.12 shm_unlink F
-GLIBC_2.12 timer_create F
-GLIBC_2.12 timer_delete F
-GLIBC_2.12 timer_getoverrun F
-GLIBC_2.12 timer_gettime F
-GLIBC_2.12 timer_settime F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist
deleted file mode 100644
index 4aade0b..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libthread_db.abilist
+++ /dev/null
@@ -1,41 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 td_init F
-GLIBC_2.12 td_log F
-GLIBC_2.12 td_symbol_list F
-GLIBC_2.12 td_ta_clear_event F
-GLIBC_2.12 td_ta_delete F
-GLIBC_2.12 td_ta_enable_stats F
-GLIBC_2.12 td_ta_event_addr F
-GLIBC_2.12 td_ta_event_getmsg F
-GLIBC_2.12 td_ta_get_nthreads F
-GLIBC_2.12 td_ta_get_ph F
-GLIBC_2.12 td_ta_get_stats F
-GLIBC_2.12 td_ta_map_id2thr F
-GLIBC_2.12 td_ta_map_lwp2thr F
-GLIBC_2.12 td_ta_new F
-GLIBC_2.12 td_ta_reset_stats F
-GLIBC_2.12 td_ta_set_event F
-GLIBC_2.12 td_ta_setconcurrency F
-GLIBC_2.12 td_ta_thr_iter F
-GLIBC_2.12 td_ta_tsd_iter F
-GLIBC_2.12 td_thr_clear_event F
-GLIBC_2.12 td_thr_dbresume F
-GLIBC_2.12 td_thr_dbsuspend F
-GLIBC_2.12 td_thr_event_enable F
-GLIBC_2.12 td_thr_event_getmsg F
-GLIBC_2.12 td_thr_get_info F
-GLIBC_2.12 td_thr_getfpregs F
-GLIBC_2.12 td_thr_getgregs F
-GLIBC_2.12 td_thr_getxregs F
-GLIBC_2.12 td_thr_getxregsize F
-GLIBC_2.12 td_thr_set_event F
-GLIBC_2.12 td_thr_setfpregs F
-GLIBC_2.12 td_thr_setgregs F
-GLIBC_2.12 td_thr_setprio F
-GLIBC_2.12 td_thr_setsigpending F
-GLIBC_2.12 td_thr_setxregs F
-GLIBC_2.12 td_thr_sigsetmask F
-GLIBC_2.12 td_thr_tls_get_addr F
-GLIBC_2.12 td_thr_tlsbase F
-GLIBC_2.12 td_thr_tsd F
-GLIBC_2.12 td_thr_validate F
diff --git a/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist b/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist
deleted file mode 100644
index e4d4326..0000000
--- a/sysdeps/unix/sysv/linux/tile/tilegx64/libutil.abilist
+++ /dev/null
@@ -1,7 +0,0 @@
-GLIBC_2.12 GLIBC_2.12 A
-GLIBC_2.12 forkpty F
-GLIBC_2.12 login F
-GLIBC_2.12 login_tty F
-GLIBC_2.12 logout F
-GLIBC_2.12 logwtmp F
-GLIBC_2.12 openpty F
diff --git a/sysdeps/unix/sysv/linux/tile/ucontext_i.h b/sysdeps/unix/sysv/linux/tile/ucontext_i.h
deleted file mode 100644
index 0d3ac42..0000000
--- a/sysdeps/unix/sysv/linux/tile/ucontext_i.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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/>. */
-
-/* Definitions of offsets within the ucontext_t structure. Note
- that for convenience we use __SIZEOF_POINTER__ for "long" and
- "ssize_t" fields (and their unsigned counterparts) as well. */
-
-#define UC_FLAGS_OFFSET 0
-#define UC_LINK_OFFSET (UC_FLAGS_OFFSET + __SIZEOF_POINTER__)
-#define UC_STACK_SP_OFFSET (UC_LINK_OFFSET + __SIZEOF_POINTER__)
-#define UC_STACK_FLAGS_OFFSET (UC_STACK_SP_OFFSET + __SIZEOF_POINTER__)
-#define UC_STACK_SIZE_OFFSET (UC_STACK_FLAGS_OFFSET + __SIZEOF_POINTER__)
-#define UC_STACK_MCONTEXT_OFFSET \
- ((UC_STACK_SIZE_OFFSET + __SIZEOF_POINTER__ + REGSIZE - 1) & -REGSIZE)
-#define UC_REG(i) (UC_STACK_MCONTEXT_OFFSET + ((i) * REGSIZE))
-#define UC_NREGS 64
-#define UC_SIGMASK_OFFSET UC_REG(UC_NREGS)
-#define UC_SIZE (UC_SIGMASK_OFFSET + (_NSIG / 8))
-
-/* From <asm/siginfo.h> */
-#define SI_MAX_SIZE 128
-
-/* From <asm/signal.h> */
-#define _NSIG 64
-#define SIG_BLOCK 0 /* for blocking signals */
-#define SIG_UNBLOCK 1 /* for unblocking signals */
-#define SIG_SETMASK 2 /* for setting the signal mask */
diff --git a/sysdeps/unix/sysv/linux/tile/vfork.S b/sysdeps/unix/sysv/linux/tile/vfork.S
deleted file mode 100644
index b4058f5..0000000
--- a/sysdeps/unix/sysv/linux/tile/vfork.S
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- 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 __ASSEMBLY__ /* for kernel headers */
-#include <linux/sched.h>
-#include <asm/signal.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. */
-
- .text
-ENTRY (__vfork)
- {
- moveli r0, CLONE_VFORK | CLONE_VM | SIGCHLD
- move r1, zero
- }
- {
- move r2, zero
- move r3, zero
- }
- moveli TREG_SYSCALL_NR_NAME, __NR_clone
- swint1
-
- bnez r1, 0f
- jrp lr
-PSEUDO_END (__vfork)
-libc_hidden_def (__vfork)
-
-weak_alias (__vfork, vfork)
-strong_alias (__vfork, __libc_vfork)