about summary refs log tree commit diff
path: root/REORG.TODO/sysdeps/unix/sysv/linux/aarch64
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/unix/sysv/linux/aarch64')
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions12
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h61
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure17
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac6
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h49
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c75
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h86
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c84
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c52
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h21
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h25
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h30
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h32
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist2105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist462
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist122
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist226
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist92
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c74
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h20
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c54
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c18
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S130
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c70
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h35
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S101
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h26
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h123
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h207
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h37
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h134
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h297
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h45
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym55
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S42
66 files changed, 6137 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies
new file mode 100644
index 0000000000..4409e19b92
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Implies
@@ -0,0 +1,3 @@
+aarch64/nptl
+unix/sysv/linux/generic
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile
new file mode 100644
index 0000000000..6b4e620896
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Makefile
@@ -0,0 +1,35 @@
+ifeq ($(subdir),csu)
+sysdep_routines      += __read_tp libc-__read_tp
+static-only-routines += __read_tp
+shared-only-routines += libc-__read_tp
+endif
+
+ifeq ($(subdir),elf)
+sysdep_routines	     += dl-vdso
+sysdep-rtld-routines += __read_tp
+ifeq ($(build-shared),yes)
+# This is needed for DSO loading from static binaries.
+sysdep-dl-routines += dl-static
+endif
+endif
+
+ifeq ($(subdir),misc)
+sysdep_headers += sys/elf.h
+endif
+
+ifeq ($(subdir),stdlib)
+gen-as-const-headers += ucontext_i.sym
+endif
+
+abi-variants := lp64
+abi-variants += lp64_be
+
+ifeq (,$(filter $(default-abi),$(abi-variants)))
+Unknown ABI, must be one of $(abi-variants)
+endif
+
+abi-lp64-options := -U__AARCH64EB__
+abi-lp64-condition := !defined __AARCH64EB__
+
+abi-lp64_be-options := -D__AARCH64EB__
+abi-lp64_be-condition := defined __AARCH64EB__
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions
new file mode 100644
index 0000000000..9bd87fe2d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/Versions
@@ -0,0 +1,12 @@
+ld {
+  GLIBC_PRIVATE {
+    # used for loading by static libraries
+    _dl_var_init;
+  }
+}
+libc {
+  GLIBC_PRIVATE {
+    __vdso_clock_gettime;
+    __vdso_clock_getres;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
new file mode 100644
index 0000000000..d355878b70
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/__read_tp.S
@@ -0,0 +1,25 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.hidden __read_tp
+ENTRY (__read_tp)
+	mrs	x0, tpidr_el0
+	RET
+END   (__read_tp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h
new file mode 100644
index 0000000000..7b1f9bdd1f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/arch-fork.h
@@ -0,0 +1,28 @@
+/* ARCH_FORK definition for Linux fork implementation.  AArch64 version.
+   Copyright (C) 2005-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sched.h>
+#include <signal.h>
+#include <sysdep.h>
+#include <tls.h>
+
+
+#define ARCH_FORK()							\
+  INLINE_SYSCALL (clone, 5,						\
+		  CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD,	\
+		  NULL, NULL, NULL, &THREAD_SELF->tid)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h
new file mode 100644
index 0000000000..6ba241c02c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h
@@ -0,0 +1,61 @@
+/* O_*, F_*, FD_* bit values for the AArch64 Linux ABI.
+   Copyright (C) 2011-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_FCNTL_H
+# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
+#endif
+
+#define __O_DIRECTORY	 040000
+#define __O_NOFOLLOW	0100000
+#define __O_DIRECT	0200000
+
+#ifdef __ILP32__
+# define __O_LARGEFILE	0400000
+#else
+# define __O_LARGEFILE	0
+#endif
+
+#ifdef __LP64__
+# define F_GETLK64	5
+# define F_SETLK64	6
+# define F_SETLKW64	7
+#endif
+
+struct flock
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off_t l_start;	/* Offset where the lock begins.  */
+    __off_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+  {
+    short int l_type;	/* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK.	*/
+    short int l_whence;	/* Where `l_start' is relative to (like `lseek').  */
+    __off64_t l_start;	/* Offset where the lock begins.  */
+    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
+    __pid_t l_pid;	/* Process holding the lock.  */
+  };
+#endif
+
+/* Include generic Linux declarations.  */
+#include <bits/fcntl-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
new file mode 100644
index 0000000000..117852da1c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/hwcap.h
@@ -0,0 +1,36 @@
+/* Defines for bits in AT_HWCAP.  AArch64 Linux version.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#if !defined (_SYS_AUXV_H)
+# error "Never include <bits/hwcap.h> directly; use <sys/auxv.h> instead."
+#endif
+
+/* The following must match the kernel's <asm/hwcap.h>.  */
+#define HWCAP_FP		(1 << 0)
+#define HWCAP_ASIMD		(1 << 1)
+#define HWCAP_EVTSTRM		(1 << 2)
+#define HWCAP_AES		(1 << 3)
+#define HWCAP_PMULL		(1 << 4)
+#define HWCAP_SHA1		(1 << 5)
+#define HWCAP_SHA2		(1 << 6)
+#define HWCAP_CRC32		(1 << 7)
+#define HWCAP_ATOMICS		(1 << 8)
+#define HWCAP_FPHP		(1 << 9)
+#define HWCAP_ASIMDHP		(1 << 10)
+#define HWCAP_CPUID		(1 << 11)
+#define HWCAP_ASIMDRDM		(1 << 12)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
new file mode 100644
index 0000000000..cd1f06e370
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_IPC_H
+# error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
+#endif
+
+#include <bits/types.h>
+
+/* Mode bits for `msgget', `semget', and `shmget'.  */
+#define IPC_CREAT	01000		/* Create key if key does not exist. */
+#define IPC_EXCL	02000		/* Fail if key exists.  */
+#define IPC_NOWAIT	04000		/* Return error on wait.  */
+
+/* Control commands for `msgctl', `semctl', and `shmctl'.  */
+#define IPC_RMID	0		/* Remove identifier.  */
+#define IPC_SET		1		/* Set `ipc_perm' options.  */
+#define IPC_STAT	2		/* Get `ipc_perm' options.  */
+#ifdef __USE_GNU
+# define IPC_INFO	3		/* See ipcs.  */
+#endif
+
+/* Special key values.  */
+#define IPC_PRIVATE	((__key_t) 0)	/* Private key.  */
+
+
+/* Data structure used to pass permission information to IPC operations.  */
+struct ipc_perm
+  {
+    __key_t __key;			/* Key.  */
+    __uid_t uid;			/* Owner's user ID.  */
+    __gid_t gid;			/* Owner's group ID.  */
+    __uid_t cuid;			/* Creator's user ID.  */
+    __gid_t cgid;			/* Creator's group ID.  */
+    unsigned int mode;			/* Read/write permission.  */
+    unsigned short int __seq;		/* Sequence number.  */
+    unsigned short int __pad1;
+    __syscall_ulong_t __glibc_reserved1;
+    __syscall_ulong_t __glibc_reserved2;
+  };
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h
new file mode 100644
index 0000000000..35a0326211
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/local_lim.h
@@ -0,0 +1,101 @@
+/* Minimum guaranteed maximum values for system limits.  Linux version.
+   Copyright (C) 1993-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* 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/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
new file mode 100644
index 0000000000..7fc3ef3e86
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/mman.h
@@ -0,0 +1,44 @@
+/* Definitions for POSIX memory map interface.  Linux/AArch64 version.
+
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#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.  */
+
+/* These are Linux-specific.  */
+#ifdef __USE_MISC
+# define MAP_GROWSDOWN	0x00100		/* Stack-like segment.  */
+# define MAP_DENYWRITE	0x00800		/* ETXTBSY */
+# define MAP_EXECUTABLE	0x01000		/* Mark it as an executable.  */
+# define MAP_LOCKED	0x02000		/* Lock the mapping.  */
+# define MAP_NORESERVE	0x04000		/* Don't check for reservations.  */
+# define MAP_POPULATE	0x08000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
+# define MAP_STACK	0x20000		/* Allocation is for a stack.  */
+# define MAP_HUGETLB	0x40000		/* Create huge page mapping.  */
+#endif
+
+
+
+/* Include generic Linux declarations.  */
+#include <bits/mman-linux.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
new file mode 100644
index 0000000000..434b24e926
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/bits/sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+   Copyright (C) 2015-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly.  Use <signal.h> instead"
+#endif
+
+/* Minimum stack size for a signal handler.  */
+#define MINSIGSTKSZ	5120
+
+/* System default stack size.  */
+#define SIGSTKSZ	16384
+
+#endif /* bits/sigstack.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data
new file mode 100644
index 0000000000..ac925ccb36
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/c++-types.data
@@ -0,0 +1,67 @@
+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/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S
new file mode 100644
index 0000000000..259ec073c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/clone.S
@@ -0,0 +1,92 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+#define CLONE_VM_BIT      8
+#define CLONE_VM          (1 << CLONE_VM_BIT)
+
+#define CLONE_THREAD_BIT  16
+#define CLONE_THREAD      (1 << CLONE_THREAD_BIT)
+
+/* int clone(int (*fn)(void *arg),            x0
+	     void *child_stack,               x1
+	     int flags,                       x2
+	     void *arg,                       x3
+	     pid_t *ptid,                     x4
+	     struct user_desc *tls,           x5
+             pid_t *ctid);                    x6
+ */
+        .text
+ENTRY(__clone)
+	DELOUSE (0)
+	DELOUSE (1)
+	DELOUSE (2)
+	DELOUSE (3)
+	DELOUSE (4)
+	DELOUSE (5)
+	DELOUSE (6)
+	/* Save args for the child.  */
+	mov	x10, x0
+	mov	x11, x2
+	mov	x12, x3
+
+	/* Sanity check args.  */
+	mov	x0, #-EINVAL
+	cbz	x10, .Lsyscall_error
+	cbz	x1, .Lsyscall_error
+
+	/* Do the system call.  */
+	/* X0:flags, x1:newsp, x2:parenttidptr, x3:newtls, x4:childtid.  */
+	mov	x0, x2                  /* flags  */
+	/* New sp is already in x1.  */
+	mov	x2, x4			/* ptid  */
+	mov	x3, x5			/* tls  */
+	mov	x4, x6			/* ctid  */
+	mov	x8, #SYS_ify(clone)
+	svc	0x0
+
+	cmp	x0, #0
+	beq	thread_start
+	blt	.Lsyscall_error
+	RET
+PSEUDO_END (__clone)
+
+	.align 4
+	.type thread_start, %function
+thread_start:
+	cfi_startproc
+	cfi_undefined (x30)
+	mov	x29, 0
+
+	/* Pick the function arg and execute.  */
+	mov	x0, x12
+	blr	x10
+
+	/* We are done, pass the return value through x0.  */
+	b	HIDDEN_JUMPTARGET(_exit)
+	cfi_endproc
+	.size thread_start, .-thread_start
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure
new file mode 100644
index 0000000000..f48472c5b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure
@@ -0,0 +1,17 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/aarch64.
+
+arch_minimum_kernel=3.7.0
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib
+  if test "$libdir" = '${exec_prefix}/lib'; then
+    libdir='${exec_prefix}/lib64';
+    # Locale data can be shared between 32-bit and 64-bit libraries.
+    libc_cv_complocaledir='${exec_prefix}/lib/locale'
+  fi
+  ;;
+esac
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac
new file mode 100644
index 0000000000..211fa9c317
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/configure.ac
@@ -0,0 +1,6 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/aarch64.
+
+arch_minimum_kernel=3.7.0
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
new file mode 100644
index 0000000000..ef6eecd17e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.c
@@ -0,0 +1,37 @@
+/* Initialize CPU feature data.  AArch64 version.
+   This file is part of the GNU C Library.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <cpu-features.h>
+#include <sys/auxv.h>
+#include <elf/dl-hwcaps.h>
+
+static inline void
+init_cpu_features (struct cpu_features *cpu_features)
+{
+  uint64_t hwcap_mask = GET_HWCAP_MASK();
+  uint64_t hwcap = GLRO (dl_hwcap) & hwcap_mask;
+
+  if (hwcap & HWCAP_CPUID)
+    {
+      register uint64_t id = 0;
+      asm volatile ("mrs %0, midr_el1" : "=r"(id));
+      cpu_features->midr_el1 = id;
+    }
+  else
+    cpu_features->midr_el1 = 0;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
new file mode 100644
index 0000000000..c92b650984
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/cpu-features.h
@@ -0,0 +1,49 @@
+/* Initialize CPU feature data.  AArch64 version.
+   This file is part of the GNU C Library.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 _CPU_FEATURES_AARCH64_H
+#define _CPU_FEATURES_AARCH64_H
+
+#include <stdint.h>
+
+#define MIDR_PARTNUM_SHIFT	4
+#define MIDR_PARTNUM_MASK	(0xfff << MIDR_PARTNUM_SHIFT)
+#define MIDR_PARTNUM(midr)	\
+	(((midr) & MIDR_PARTNUM_MASK) >> MIDR_PARTNUM_SHIFT)
+#define MIDR_ARCHITECTURE_SHIFT	16
+#define MIDR_ARCHITECTURE_MASK	(0xf << MIDR_ARCHITECTURE_SHIFT)
+#define MIDR_ARCHITECTURE(midr)	\
+	(((midr) & MIDR_ARCHITECTURE_MASK) >> MIDR_ARCHITECTURE_SHIFT)
+#define MIDR_VARIANT_SHIFT	20
+#define MIDR_VARIANT_MASK	(0xf << MIDR_VARIANT_SHIFT)
+#define MIDR_VARIANT(midr)	\
+	(((midr) & MIDR_VARIANT_MASK) >> MIDR_VARIANT_SHIFT)
+#define MIDR_IMPLEMENTOR_SHIFT	24
+#define MIDR_IMPLEMENTOR_MASK	(0xff << MIDR_IMPLEMENTOR_SHIFT)
+#define MIDR_IMPLEMENTOR(midr)	\
+	(((midr) & MIDR_IMPLEMENTOR_MASK) >> MIDR_IMPLEMENTOR_SHIFT)
+
+#define IS_THUNDERX(midr) (MIDR_IMPLEMENTOR(midr) == 'C'	\
+			   && MIDR_PARTNUM(midr) == 0x0a1)
+
+struct cpu_features
+{
+  uint64_t midr_el1;
+};
+
+#endif /* _CPU_FEATURES_AARCH64_H  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h
new file mode 100644
index 0000000000..90e1734347
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-cache.h
@@ -0,0 +1,56 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   Copyright (C) 2003-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <ldconfig.h>
+
+#ifdef __LP64__
+# define _DL_CACHE_DEFAULT_ID    (FLAG_AARCH64_LIB64 | FLAG_ELF_LIBC6)
+#else
+# define _DL_CACHE_DEFAULT_ID    (FLAG_AARCH64_LIB32 | FLAG_ELF_LIBC6)
+#endif
+
+#define _dl_cache_check_flags(flags)                    \
+  ((flags) == _DL_CACHE_DEFAULT_ID)
+
+#define add_system_dir(dir) \
+  do								\
+    {								\
+      size_t len = strlen (dir);				\
+      char path[len + 6];					\
+      memcpy (path, dir, len + 1);				\
+      if (len >= 6 && ! memcmp (path + len - 6, "/lib64", 6))	\
+	{							\
+	  len -= 2;						\
+	  path[len] = '\0';					\
+	}							\
+      if (len >= 9 && ! memcmp (path + len - 9, "/libilp32", 9))\
+	{							\
+	  len -= 5;						\
+	  path[len] = '\0';					\
+	}							\
+      add_dir (path);						\
+      if (len >= 4 && ! memcmp (path + len - 4, "/lib", 4))	\
+	{							\
+	  memcpy (path + len, "64", 3);				\
+	  add_dir (path);					\
+	  memcpy (path + len, "ilp32", 6);			\
+	  add_dir (path);					\
+	}							\
+    } while (0)
+
+#include_next <dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
new file mode 100644
index 0000000000..bc37bad782
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.c
@@ -0,0 +1,75 @@
+/* Data for AArch64 version of processor capability information.
+   Linux version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* If anything should be added here check whether the size of each string
+   is still ok with the given array size.
+
+   All the #ifdefs in the definitions are quite irritating but
+   necessary if we want to avoid duplicating the information.  There
+   are three different modes:
+
+   - PROCINFO_DECL is defined.  This means we are only interested in
+     declarations.
+
+   - PROCINFO_DECL is not defined:
+
+     + if SHARED is defined the file is included in an array
+       initializer.  The .element = { ... } syntax is needed.
+
+     + if SHARED is not defined a normal array initialization is
+       needed.
+  */
+
+#ifndef PROCINFO_CLASS
+# define PROCINFO_CLASS
+#endif
+
+#if !IS_IN (ldconfig)
+# if !defined PROCINFO_DECL && defined SHARED
+  ._dl_aarch64_cpu_features
+# else
+PROCINFO_CLASS struct cpu_features _dl_aarch64_cpu_features
+# endif
+# ifndef PROCINFO_DECL
+= { }
+# endif
+# if !defined SHARED || defined PROCINFO_DECL
+;
+# else
+,
+# endif
+#endif
+
+#if !defined PROCINFO_DECL && defined SHARED
+  ._dl_aarch64_cap_flags
+#else
+PROCINFO_CLASS const char _dl_aarch64_cap_flags[13][10]
+#endif
+#ifndef PROCINFO_DECL
+= { "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2", "crc32",
+    "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm"}
+#endif
+#if !defined SHARED || defined PROCINFO_DECL
+;
+#else
+,
+#endif
+
+#undef PROCINFO_DECL
+#undef PROCINFO_CLASS
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
new file mode 100644
index 0000000000..cdb36d3316
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-procinfo.h
@@ -0,0 +1,86 @@
+/* Processor capability information handling macros - aarch64 version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _DL_PROCINFO_H
+#define _DL_PROCINFO_H	1
+
+#include <sys/auxv.h>
+#include <unistd.h>
+#include <ldsodefs.h>
+#include <sysdep.h>
+
+/* We cannot provide a general printing function.  */
+static inline int
+__attribute__ ((unused))
+_dl_procinfo (unsigned int type, unsigned long int word)
+{
+  /* This table should match the information from arch/arm64/kernel/cpuinfo.c
+     in the kernel sources.  */
+  int i;
+
+  /* Fallback to unknown output mechanism.  */
+  if (type == AT_HWCAP2)
+    return -1;
+
+  _dl_printf ("AT_HWCAP:   ");
+
+  for (i = 0; i < 32; ++i)
+    if (word & (1 << i))
+      _dl_printf (" %s", GLRO(dl_aarch64_cap_flags)[i]);
+
+  _dl_printf ("\n");
+
+  return 0;
+}
+
+static inline const char *
+__attribute__ ((unused))
+_dl_hwcap_string (int idx)
+{
+  return GLRO(dl_aarch64_cap_flags)[idx];
+};
+
+
+/* 13 HWCAP bits set.  */
+#define _DL_HWCAP_COUNT 13
+
+/* Low 13 bits are allocated in HWCAP.  */
+#define _DL_HWCAP_LAST 12
+
+/* HWCAP_CPUID should be available by default to influence IFUNC as well as
+   library search.  */
+#define HWCAP_IMPORTANT HWCAP_CPUID
+
+static inline int
+__attribute__ ((unused))
+_dl_string_hwcap (const char *str)
+{
+  for (int i = 0; i < _DL_HWCAP_COUNT; i++)
+    {
+      if (strcmp (str, _dl_hwcap_string (i)) == 0)
+	return i;
+    }
+  return -1;
+};
+
+/* There're no platforms to filter out.  */
+#define _DL_HWCAP_PLATFORM 0
+
+#define _dl_string_platform(str) (-1)
+
+#endif /* dl-procinfo.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c
new file mode 100644
index 0000000000..fcda0df16f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/dl-static.c
@@ -0,0 +1,84 @@
+/* Variable initialization.  AArch64 version.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <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/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S
new file mode 100644
index 0000000000..fa7074c590
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/getcontext.S
@@ -0,0 +1,109 @@
+/* Save current context.
+
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+#include "ucontext-internal.h"
+
+/* int getcontext (ucontext_t *ucp)
+
+   Returns 0 on success -1 and errno on failure.
+ */
+
+	.text
+
+ENTRY(__getcontext)
+	DELOUSE (0)
+	/* The saved context will return to the getcontext() call point
+	   with a return value of 0 */
+	str	xzr,	  [x0, oX0 +  0 * SZREG]
+
+	stp	x18, x19, [x0, oX0 + 18 * SZREG]
+	stp	x20, x21, [x0, oX0 + 20 * SZREG]
+	stp	x22, x23, [x0, oX0 + 22 * SZREG]
+	stp	x24, x25, [x0, oX0 + 24 * SZREG]
+	stp	x26, x27, [x0, oX0 + 26 * SZREG]
+	stp	x28, x29, [x0, oX0 + 28 * SZREG]
+	str     x30,      [x0, oX0 + 30 * SZREG]
+
+	/* Place LR into the saved PC, this will ensure that when
+	   switching to this saved context with setcontext() control
+	   will pass back to the caller of getcontext(), we have
+	   already arrange to return the appropriate return value in x0
+	   above.  */
+	str	x30, [x0, oPC]
+
+	/* Save the current SP */
+	mov	x2, sp
+	str     x2, [x0, oSP]
+
+	/* Initialize the pstate.  */
+	str	xzr, [x0, oPSTATE]
+
+	/* Figure out where to place the first context extension
+	   block.  */
+	add     x2, x0, #oEXTENSION
+
+	/* Write the context extension fpsimd header.  */
+	mov	w3, #(FPSIMD_MAGIC & 0xffff)
+	movk	w3, #(FPSIMD_MAGIC >> 16), lsl #16
+	str	w3, [x2, #oHEAD + oMAGIC]
+	mov	w3, #FPSIMD_CONTEXT_SIZE
+	str	w3, [x2, #oHEAD + oSIZE]
+
+	/* Fill in the FP SIMD context.  */
+	add	x3, x2, #oV0 + 8 * SZVREG
+	stp	 q8,  q9, [x3], # 2 * SZVREG
+	stp	q10, q11, [x3], # 2 * SZVREG
+	stp	q12, q13, [x3], # 2 * SZVREG
+	stp	q14, q15, [x3], # 2 * SZVREG
+
+	add	x3, x2, oFPSR
+
+	mrs	x4, fpsr
+	str	w4, [x3]
+
+	mrs	x4, fpcr
+	str	w4, [x3, oFPCR - oFPSR]
+
+	/* Write the termination context extension header.  */
+	add	x2, x2, #FPSIMD_CONTEXT_SIZE
+
+	str	xzr, [x2, #oHEAD + oMAGIC]
+	str	xzr, [x2, #oHEAD + oSIZE]
+
+	/* Grab the signal mask */
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	add	PTR_REG (2), PTR_REG (0), #UCONTEXT_SIGMASK
+	mov	x0, SIG_BLOCK
+	mov	x1, 0
+	mov	x3, _NSIG8
+	mov	x8, SYS_ify (rt_sigprocmask)
+	svc	0
+	cbnz	x0, 1f
+
+	/* Return 0 for success */
+	mov	x0, 0
+	RET
+1:
+	b	C_SYMBOL_NAME(__syscall_error)
+
+	PSEUDO_END (__getcontext)
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c
new file mode 100644
index 0000000000..96f5338994
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/init-first.c
@@ -0,0 +1,52 @@
+/* Copyright (C) 2007-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifdef SHARED
+# include <dl-vdso.h>
+# include <libc-vdso.h>
+
+int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *) attribute_hidden;
+int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+
+static inline void
+_libc_vdso_platform_setup (void)
+{
+#ifdef __LP64__
+  PREPARE_VERSION (linux_version, "LINUX_2.6.39", 123718537);
+#else
+  PREPARE_VERSION (linux_version, "LINUX_4.9", 61765625);
+#endif
+
+  void *p = _dl_vdso_vsym ("__kernel_gettimeofday", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(gettimeofday) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_gettime", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(clock_gettime) = p;
+
+  p = _dl_vdso_vsym ("__kernel_clock_getres", &linux_version);
+  PTR_MANGLE (p);
+  VDSO_SYMBOL(clock_getres) = p;
+}
+
+# define VDSO_SETUP _libc_vdso_platform_setup
+#endif
+
+#include <csu/init-first.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S
new file mode 100644
index 0000000000..866d6ef12d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ioctl.S
@@ -0,0 +1,31 @@
+/* Copyright (C) 2012-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+	.text
+ENTRY(__ioctl)
+	mov	x8, #__NR_ioctl
+	sxtw	x0, w0
+	svc	#0x0
+	cmn	x0, #4095
+	b.cs	.Lsyscall_error
+	ret
+PSEUDO_END (__ioctl)
+
+weak_alias (__ioctl, ioctl)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h
new file mode 100644
index 0000000000..8d12f31573
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ipc_priv.h
@@ -0,0 +1,21 @@
+/* Old SysV permission definition for Linux.  AArch64 version.
+   Copyright (C) 2016-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/ipc.h>  /* For __key_t  */
+
+#define __IPC_64	0x0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h
new file mode 100644
index 0000000000..e67ddfa91c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/kernel_rt_sigframe.h
@@ -0,0 +1,25 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* This structure must have the same shape as the linux kernel
+   equivalent.  */
+struct kernel_rt_sigframe
+{
+  siginfo_t info;
+  struct ucontext uc;
+};
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist
new file mode 100644
index 0000000000..ec7f6174c5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ld.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __libc_stack_end D 0x8
+GLIBC_2.17 __stack_chk_guard D 0x8
+GLIBC_2.17 __tls_get_addr F
+GLIBC_2.17 _dl_mcount F
+GLIBC_2.17 _r_debug D 0x28
+GLIBC_2.17 calloc F
+GLIBC_2.17 free F
+GLIBC_2.17 malloc F
+GLIBC_2.17 realloc F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
new file mode 100644
index 0000000000..e1c334c478
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldconfig.h
@@ -0,0 +1,30 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdeps/generic/ldconfig.h>
+
+#define SYSDEP_KNOWN_INTERPRETER_NAMES \
+  { "/lib/ld-linux-aarch64.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-aarch64_be.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-aarch64_ilp32.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-aarch64_be_ilp32.so.1", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux.so.3", FLAG_ELF_LIBC6 }, \
+  { "/lib/ld-linux-armhf.so.3", FLAG_ELF_LIBC6 },
+#define SYSDEP_KNOWN_LIBRARY_NAMES \
+  { "libc.so.6", FLAG_ELF_LIBC6 },	\
+  { "libm.so.6", FLAG_ELF_LIBC6 },
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
new file mode 100644
index 0000000000..74ce6aa797
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ldsodefs.h
@@ -0,0 +1,32 @@
+/* Run-time dynamic linker data structures for loaded ELF shared objects. Tile.
+   Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef	_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/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..5e54974368
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist
new file mode 100644
index 0000000000..21330fc8d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 gai_cancel F
+GLIBC_2.17 gai_error F
+GLIBC_2.17 gai_suspend F
+GLIBC_2.17 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S
new file mode 100644
index 0000000000..47df81abe6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-__read_tp.S
@@ -0,0 +1,19 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <__read_tp.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c
new file mode 100644
index 0000000000..089a728a87
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-start.c
@@ -0,0 +1,28 @@
+/* Override csu/libc-start.c on AArch64.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef SHARED
+# include <ldsodefs.h>
+# include <cpu-features.c>
+
+extern struct cpu_features _dl_aarch64_cpu_features;
+
+# define ARCH_INIT_CPU_FEATURES() init_cpu_features (&_dl_aarch64_cpu_features)
+
+#endif
+#include <csu/libc-start.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h
new file mode 100644
index 0000000000..599ae9852c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc-vdso.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBC_VDSO_H
+#define _LIBC_VDSO_H
+
+#ifdef SHARED
+
+# include <sysdep-vdso.h>
+
+extern int (*VDSO_SYMBOL(gettimeofday)) (struct timeval *, void *)
+   attribute_hidden;
+extern int (*VDSO_SYMBOL(clock_gettime)) (clockid_t, struct timespec *);
+extern int (*VDSO_SYMBOL(clock_getres)) (clockid_t, struct timespec *);
+
+#endif
+
+#endif /* _LIBC_VDSO_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist
new file mode 100644
index 0000000000..81e4fe9d9c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -0,0 +1,2105 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _Exit F
+GLIBC_2.17 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.17 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.17 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.17 _IO_adjust_column F
+GLIBC_2.17 _IO_adjust_wcolumn F
+GLIBC_2.17 _IO_default_doallocate F
+GLIBC_2.17 _IO_default_finish F
+GLIBC_2.17 _IO_default_pbackfail F
+GLIBC_2.17 _IO_default_uflow F
+GLIBC_2.17 _IO_default_xsgetn F
+GLIBC_2.17 _IO_default_xsputn F
+GLIBC_2.17 _IO_do_write F
+GLIBC_2.17 _IO_doallocbuf F
+GLIBC_2.17 _IO_fclose F
+GLIBC_2.17 _IO_fdopen F
+GLIBC_2.17 _IO_feof F
+GLIBC_2.17 _IO_ferror F
+GLIBC_2.17 _IO_fflush F
+GLIBC_2.17 _IO_fgetpos F
+GLIBC_2.17 _IO_fgetpos64 F
+GLIBC_2.17 _IO_fgets F
+GLIBC_2.17 _IO_file_attach F
+GLIBC_2.17 _IO_file_close F
+GLIBC_2.17 _IO_file_close_it F
+GLIBC_2.17 _IO_file_doallocate F
+GLIBC_2.17 _IO_file_finish F
+GLIBC_2.17 _IO_file_fopen F
+GLIBC_2.17 _IO_file_init F
+GLIBC_2.17 _IO_file_jumps D 0xa8
+GLIBC_2.17 _IO_file_open F
+GLIBC_2.17 _IO_file_overflow F
+GLIBC_2.17 _IO_file_read F
+GLIBC_2.17 _IO_file_seek F
+GLIBC_2.17 _IO_file_seekoff F
+GLIBC_2.17 _IO_file_setbuf F
+GLIBC_2.17 _IO_file_stat F
+GLIBC_2.17 _IO_file_sync F
+GLIBC_2.17 _IO_file_underflow F
+GLIBC_2.17 _IO_file_write F
+GLIBC_2.17 _IO_file_xsputn F
+GLIBC_2.17 _IO_flockfile F
+GLIBC_2.17 _IO_flush_all F
+GLIBC_2.17 _IO_flush_all_linebuffered F
+GLIBC_2.17 _IO_fopen F
+GLIBC_2.17 _IO_fprintf F
+GLIBC_2.17 _IO_fputs F
+GLIBC_2.17 _IO_fread F
+GLIBC_2.17 _IO_free_backup_area F
+GLIBC_2.17 _IO_free_wbackup_area F
+GLIBC_2.17 _IO_fsetpos F
+GLIBC_2.17 _IO_fsetpos64 F
+GLIBC_2.17 _IO_ftell F
+GLIBC_2.17 _IO_ftrylockfile F
+GLIBC_2.17 _IO_funlockfile F
+GLIBC_2.17 _IO_fwrite F
+GLIBC_2.17 _IO_getc F
+GLIBC_2.17 _IO_getline F
+GLIBC_2.17 _IO_getline_info F
+GLIBC_2.17 _IO_gets F
+GLIBC_2.17 _IO_init F
+GLIBC_2.17 _IO_init_marker F
+GLIBC_2.17 _IO_init_wmarker F
+GLIBC_2.17 _IO_iter_begin F
+GLIBC_2.17 _IO_iter_end F
+GLIBC_2.17 _IO_iter_file F
+GLIBC_2.17 _IO_iter_next F
+GLIBC_2.17 _IO_least_wmarker F
+GLIBC_2.17 _IO_link_in F
+GLIBC_2.17 _IO_list_all D 0x8
+GLIBC_2.17 _IO_list_lock F
+GLIBC_2.17 _IO_list_resetlock F
+GLIBC_2.17 _IO_list_unlock F
+GLIBC_2.17 _IO_marker_delta F
+GLIBC_2.17 _IO_marker_difference F
+GLIBC_2.17 _IO_padn F
+GLIBC_2.17 _IO_peekc_locked F
+GLIBC_2.17 _IO_popen F
+GLIBC_2.17 _IO_printf F
+GLIBC_2.17 _IO_proc_close F
+GLIBC_2.17 _IO_proc_open F
+GLIBC_2.17 _IO_putc F
+GLIBC_2.17 _IO_puts F
+GLIBC_2.17 _IO_remove_marker F
+GLIBC_2.17 _IO_seekmark F
+GLIBC_2.17 _IO_seekoff F
+GLIBC_2.17 _IO_seekpos F
+GLIBC_2.17 _IO_seekwmark F
+GLIBC_2.17 _IO_setb F
+GLIBC_2.17 _IO_setbuffer F
+GLIBC_2.17 _IO_setvbuf F
+GLIBC_2.17 _IO_sgetn F
+GLIBC_2.17 _IO_sprintf F
+GLIBC_2.17 _IO_sputbackc F
+GLIBC_2.17 _IO_sputbackwc F
+GLIBC_2.17 _IO_sscanf F
+GLIBC_2.17 _IO_str_init_readonly F
+GLIBC_2.17 _IO_str_init_static F
+GLIBC_2.17 _IO_str_overflow F
+GLIBC_2.17 _IO_str_pbackfail F
+GLIBC_2.17 _IO_str_seekoff F
+GLIBC_2.17 _IO_str_underflow F
+GLIBC_2.17 _IO_sungetc F
+GLIBC_2.17 _IO_sungetwc F
+GLIBC_2.17 _IO_switch_to_get_mode F
+GLIBC_2.17 _IO_switch_to_main_wget_area F
+GLIBC_2.17 _IO_switch_to_wbackup_area F
+GLIBC_2.17 _IO_switch_to_wget_mode F
+GLIBC_2.17 _IO_un_link F
+GLIBC_2.17 _IO_ungetc F
+GLIBC_2.17 _IO_unsave_markers F
+GLIBC_2.17 _IO_unsave_wmarkers F
+GLIBC_2.17 _IO_vfprintf F
+GLIBC_2.17 _IO_vfscanf F
+GLIBC_2.17 _IO_vsprintf F
+GLIBC_2.17 _IO_wdefault_doallocate F
+GLIBC_2.17 _IO_wdefault_finish F
+GLIBC_2.17 _IO_wdefault_pbackfail F
+GLIBC_2.17 _IO_wdefault_uflow F
+GLIBC_2.17 _IO_wdefault_xsgetn F
+GLIBC_2.17 _IO_wdefault_xsputn F
+GLIBC_2.17 _IO_wdo_write F
+GLIBC_2.17 _IO_wdoallocbuf F
+GLIBC_2.17 _IO_wfile_jumps D 0xa8
+GLIBC_2.17 _IO_wfile_overflow F
+GLIBC_2.17 _IO_wfile_seekoff F
+GLIBC_2.17 _IO_wfile_sync F
+GLIBC_2.17 _IO_wfile_underflow F
+GLIBC_2.17 _IO_wfile_xsputn F
+GLIBC_2.17 _IO_wmarker_delta F
+GLIBC_2.17 _IO_wsetb F
+GLIBC_2.17 ___brk_addr D 0x8
+GLIBC_2.17 __adjtimex F
+GLIBC_2.17 __after_morecore_hook D 0x8
+GLIBC_2.17 __argz_count F
+GLIBC_2.17 __argz_next F
+GLIBC_2.17 __argz_stringify F
+GLIBC_2.17 __asprintf F
+GLIBC_2.17 __asprintf_chk F
+GLIBC_2.17 __assert F
+GLIBC_2.17 __assert_fail F
+GLIBC_2.17 __assert_perror_fail F
+GLIBC_2.17 __backtrace F
+GLIBC_2.17 __backtrace_symbols F
+GLIBC_2.17 __backtrace_symbols_fd F
+GLIBC_2.17 __bsd_getpgrp F
+GLIBC_2.17 __bzero F
+GLIBC_2.17 __check_rhosts_file D 0x4
+GLIBC_2.17 __chk_fail F
+GLIBC_2.17 __clone F
+GLIBC_2.17 __close F
+GLIBC_2.17 __cmsg_nxthdr F
+GLIBC_2.17 __confstr_chk F
+GLIBC_2.17 __connect F
+GLIBC_2.17 __ctype_b_loc F
+GLIBC_2.17 __ctype_get_mb_cur_max F
+GLIBC_2.17 __ctype_tolower_loc F
+GLIBC_2.17 __ctype_toupper_loc F
+GLIBC_2.17 __curbrk D 0x8
+GLIBC_2.17 __cxa_at_quick_exit F
+GLIBC_2.17 __cxa_atexit F
+GLIBC_2.17 __cxa_finalize F
+GLIBC_2.17 __cyg_profile_func_enter F
+GLIBC_2.17 __cyg_profile_func_exit F
+GLIBC_2.17 __daylight D 0x4
+GLIBC_2.17 __dcgettext F
+GLIBC_2.17 __default_morecore F
+GLIBC_2.17 __dgettext F
+GLIBC_2.17 __dprintf_chk F
+GLIBC_2.17 __dup2 F
+GLIBC_2.17 __duplocale F
+GLIBC_2.17 __endmntent F
+GLIBC_2.17 __environ D 0x8
+GLIBC_2.17 __errno_location F
+GLIBC_2.17 __fbufsize F
+GLIBC_2.17 __fcntl F
+GLIBC_2.17 __fdelt_chk F
+GLIBC_2.17 __fdelt_warn F
+GLIBC_2.17 __ffs F
+GLIBC_2.17 __fgets_chk F
+GLIBC_2.17 __fgets_unlocked_chk F
+GLIBC_2.17 __fgetws_chk F
+GLIBC_2.17 __fgetws_unlocked_chk F
+GLIBC_2.17 __finite F
+GLIBC_2.17 __finitef F
+GLIBC_2.17 __finitel F
+GLIBC_2.17 __flbf F
+GLIBC_2.17 __fork F
+GLIBC_2.17 __fpending F
+GLIBC_2.17 __fprintf_chk F
+GLIBC_2.17 __fpu_control D 0x4
+GLIBC_2.17 __fpurge F
+GLIBC_2.17 __fread_chk F
+GLIBC_2.17 __fread_unlocked_chk F
+GLIBC_2.17 __freadable F
+GLIBC_2.17 __freading F
+GLIBC_2.17 __free_hook D 0x8
+GLIBC_2.17 __freelocale F
+GLIBC_2.17 __fsetlocking F
+GLIBC_2.17 __fwprintf_chk F
+GLIBC_2.17 __fwritable F
+GLIBC_2.17 __fwriting F
+GLIBC_2.17 __fxstat F
+GLIBC_2.17 __fxstat64 F
+GLIBC_2.17 __fxstatat F
+GLIBC_2.17 __fxstatat64 F
+GLIBC_2.17 __getauxval F
+GLIBC_2.17 __getcwd_chk F
+GLIBC_2.17 __getdelim F
+GLIBC_2.17 __getdomainname_chk F
+GLIBC_2.17 __getgroups_chk F
+GLIBC_2.17 __gethostname_chk F
+GLIBC_2.17 __getlogin_r_chk F
+GLIBC_2.17 __getmntent_r F
+GLIBC_2.17 __getpagesize F
+GLIBC_2.17 __getpgid F
+GLIBC_2.17 __getpid F
+GLIBC_2.17 __gets_chk F
+GLIBC_2.17 __gettimeofday F
+GLIBC_2.17 __getwd_chk F
+GLIBC_2.17 __gmtime_r F
+GLIBC_2.17 __h_errno_location F
+GLIBC_2.17 __isalnum_l F
+GLIBC_2.17 __isalpha_l F
+GLIBC_2.17 __isascii_l F
+GLIBC_2.17 __isblank_l F
+GLIBC_2.17 __iscntrl_l F
+GLIBC_2.17 __isctype F
+GLIBC_2.17 __isdigit_l F
+GLIBC_2.17 __isgraph_l F
+GLIBC_2.17 __isinf F
+GLIBC_2.17 __isinff F
+GLIBC_2.17 __isinfl F
+GLIBC_2.17 __islower_l F
+GLIBC_2.17 __isnan F
+GLIBC_2.17 __isnanf F
+GLIBC_2.17 __isnanl F
+GLIBC_2.17 __isoc99_fscanf F
+GLIBC_2.17 __isoc99_fwscanf F
+GLIBC_2.17 __isoc99_scanf F
+GLIBC_2.17 __isoc99_sscanf F
+GLIBC_2.17 __isoc99_swscanf F
+GLIBC_2.17 __isoc99_vfscanf F
+GLIBC_2.17 __isoc99_vfwscanf F
+GLIBC_2.17 __isoc99_vscanf F
+GLIBC_2.17 __isoc99_vsscanf F
+GLIBC_2.17 __isoc99_vswscanf F
+GLIBC_2.17 __isoc99_vwscanf F
+GLIBC_2.17 __isoc99_wscanf F
+GLIBC_2.17 __isprint_l F
+GLIBC_2.17 __ispunct_l F
+GLIBC_2.17 __isspace_l F
+GLIBC_2.17 __isupper_l F
+GLIBC_2.17 __iswalnum_l F
+GLIBC_2.17 __iswalpha_l F
+GLIBC_2.17 __iswblank_l F
+GLIBC_2.17 __iswcntrl_l F
+GLIBC_2.17 __iswctype F
+GLIBC_2.17 __iswctype_l F
+GLIBC_2.17 __iswdigit_l F
+GLIBC_2.17 __iswgraph_l F
+GLIBC_2.17 __iswlower_l F
+GLIBC_2.17 __iswprint_l F
+GLIBC_2.17 __iswpunct_l F
+GLIBC_2.17 __iswspace_l F
+GLIBC_2.17 __iswupper_l F
+GLIBC_2.17 __iswxdigit_l F
+GLIBC_2.17 __isxdigit_l F
+GLIBC_2.17 __ivaliduser F
+GLIBC_2.17 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.17 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.17 __key_gendes_LOCAL D 0x8
+GLIBC_2.17 __libc_allocate_rtsig F
+GLIBC_2.17 __libc_calloc F
+GLIBC_2.17 __libc_current_sigrtmax F
+GLIBC_2.17 __libc_current_sigrtmin F
+GLIBC_2.17 __libc_free F
+GLIBC_2.17 __libc_freeres F
+GLIBC_2.17 __libc_init_first F
+GLIBC_2.17 __libc_mallinfo F
+GLIBC_2.17 __libc_malloc F
+GLIBC_2.17 __libc_mallopt F
+GLIBC_2.17 __libc_memalign F
+GLIBC_2.17 __libc_pvalloc F
+GLIBC_2.17 __libc_realloc F
+GLIBC_2.17 __libc_sa_len F
+GLIBC_2.17 __libc_start_main F
+GLIBC_2.17 __libc_valloc F
+GLIBC_2.17 __longjmp_chk F
+GLIBC_2.17 __lseek F
+GLIBC_2.17 __lxstat F
+GLIBC_2.17 __lxstat64 F
+GLIBC_2.17 __malloc_hook D 0x8
+GLIBC_2.17 __malloc_initialize_hook D 0x8
+GLIBC_2.17 __mbrlen F
+GLIBC_2.17 __mbrtowc F
+GLIBC_2.17 __mbsnrtowcs_chk F
+GLIBC_2.17 __mbsrtowcs_chk F
+GLIBC_2.17 __mbstowcs_chk F
+GLIBC_2.17 __memalign_hook D 0x8
+GLIBC_2.17 __memcpy_chk F
+GLIBC_2.17 __memmove_chk F
+GLIBC_2.17 __mempcpy F
+GLIBC_2.17 __mempcpy_chk F
+GLIBC_2.17 __mempcpy_small F
+GLIBC_2.17 __memset_chk F
+GLIBC_2.17 __monstartup F
+GLIBC_2.17 __morecore D 0x8
+GLIBC_2.17 __nanosleep F
+GLIBC_2.17 __newlocale F
+GLIBC_2.17 __nl_langinfo_l F
+GLIBC_2.17 __nss_configure_lookup F
+GLIBC_2.17 __nss_database_lookup F
+GLIBC_2.17 __nss_group_lookup F
+GLIBC_2.17 __nss_hostname_digits_dots F
+GLIBC_2.17 __nss_hosts_lookup F
+GLIBC_2.17 __nss_next F
+GLIBC_2.17 __nss_passwd_lookup F
+GLIBC_2.17 __obstack_printf_chk F
+GLIBC_2.17 __obstack_vprintf_chk F
+GLIBC_2.17 __open F
+GLIBC_2.17 __open64 F
+GLIBC_2.17 __open64_2 F
+GLIBC_2.17 __open_2 F
+GLIBC_2.17 __openat64_2 F
+GLIBC_2.17 __openat_2 F
+GLIBC_2.17 __overflow F
+GLIBC_2.17 __pipe F
+GLIBC_2.17 __poll F
+GLIBC_2.17 __poll_chk F
+GLIBC_2.17 __posix_getopt F
+GLIBC_2.17 __ppoll_chk F
+GLIBC_2.17 __pread64 F
+GLIBC_2.17 __pread64_chk F
+GLIBC_2.17 __pread_chk F
+GLIBC_2.17 __printf_chk F
+GLIBC_2.17 __printf_fp F
+GLIBC_2.17 __profile_frequency F
+GLIBC_2.17 __progname D 0x8
+GLIBC_2.17 __progname_full D 0x8
+GLIBC_2.17 __ptsname_r_chk F
+GLIBC_2.17 __pwrite64 F
+GLIBC_2.17 __rawmemchr F
+GLIBC_2.17 __rcmd_errstr D 0x8
+GLIBC_2.17 __read F
+GLIBC_2.17 __read_chk F
+GLIBC_2.17 __readlink_chk F
+GLIBC_2.17 __readlinkat_chk F
+GLIBC_2.17 __realloc_hook D 0x8
+GLIBC_2.17 __realpath_chk F
+GLIBC_2.17 __recv_chk F
+GLIBC_2.17 __recvfrom_chk F
+GLIBC_2.17 __register_atfork F
+GLIBC_2.17 __res_init F
+GLIBC_2.17 __res_nclose F
+GLIBC_2.17 __res_ninit F
+GLIBC_2.17 __res_randomid F
+GLIBC_2.17 __res_state F
+GLIBC_2.17 __rpc_thread_createerr F
+GLIBC_2.17 __rpc_thread_svc_fdset F
+GLIBC_2.17 __rpc_thread_svc_max_pollfd F
+GLIBC_2.17 __rpc_thread_svc_pollfd F
+GLIBC_2.17 __sbrk F
+GLIBC_2.17 __sched_cpualloc F
+GLIBC_2.17 __sched_cpucount F
+GLIBC_2.17 __sched_cpufree F
+GLIBC_2.17 __sched_get_priority_max F
+GLIBC_2.17 __sched_get_priority_min F
+GLIBC_2.17 __sched_getparam F
+GLIBC_2.17 __sched_getscheduler F
+GLIBC_2.17 __sched_setscheduler F
+GLIBC_2.17 __sched_yield F
+GLIBC_2.17 __select F
+GLIBC_2.17 __setmntent F
+GLIBC_2.17 __setpgid F
+GLIBC_2.17 __sigaction F
+GLIBC_2.17 __sigaddset F
+GLIBC_2.17 __sigdelset F
+GLIBC_2.17 __sigismember F
+GLIBC_2.17 __signbit F
+GLIBC_2.17 __signbitf F
+GLIBC_2.17 __signbitl F
+GLIBC_2.17 __sigpause F
+GLIBC_2.17 __sigsetjmp F
+GLIBC_2.17 __sigsuspend F
+GLIBC_2.17 __snprintf_chk F
+GLIBC_2.17 __sprintf_chk F
+GLIBC_2.17 __stack_chk_fail F
+GLIBC_2.17 __statfs F
+GLIBC_2.17 __stpcpy F
+GLIBC_2.17 __stpcpy_chk F
+GLIBC_2.17 __stpcpy_small F
+GLIBC_2.17 __stpncpy F
+GLIBC_2.17 __stpncpy_chk F
+GLIBC_2.17 __strcasecmp F
+GLIBC_2.17 __strcasecmp_l F
+GLIBC_2.17 __strcasestr F
+GLIBC_2.17 __strcat_chk F
+GLIBC_2.17 __strcoll_l F
+GLIBC_2.17 __strcpy_chk F
+GLIBC_2.17 __strcpy_small F
+GLIBC_2.17 __strcspn_c1 F
+GLIBC_2.17 __strcspn_c2 F
+GLIBC_2.17 __strcspn_c3 F
+GLIBC_2.17 __strdup F
+GLIBC_2.17 __strerror_r F
+GLIBC_2.17 __strfmon_l F
+GLIBC_2.17 __strftime_l F
+GLIBC_2.17 __strncasecmp_l F
+GLIBC_2.17 __strncat_chk F
+GLIBC_2.17 __strncpy_chk F
+GLIBC_2.17 __strndup F
+GLIBC_2.17 __strpbrk_c2 F
+GLIBC_2.17 __strpbrk_c3 F
+GLIBC_2.17 __strsep_1c F
+GLIBC_2.17 __strsep_2c F
+GLIBC_2.17 __strsep_3c F
+GLIBC_2.17 __strsep_g F
+GLIBC_2.17 __strspn_c1 F
+GLIBC_2.17 __strspn_c2 F
+GLIBC_2.17 __strspn_c3 F
+GLIBC_2.17 __strtod_internal F
+GLIBC_2.17 __strtod_l F
+GLIBC_2.17 __strtof_internal F
+GLIBC_2.17 __strtof_l F
+GLIBC_2.17 __strtok_r F
+GLIBC_2.17 __strtok_r_1c F
+GLIBC_2.17 __strtol_internal F
+GLIBC_2.17 __strtol_l F
+GLIBC_2.17 __strtold_internal F
+GLIBC_2.17 __strtold_l F
+GLIBC_2.17 __strtoll_internal F
+GLIBC_2.17 __strtoll_l F
+GLIBC_2.17 __strtoul_internal F
+GLIBC_2.17 __strtoul_l F
+GLIBC_2.17 __strtoull_internal F
+GLIBC_2.17 __strtoull_l F
+GLIBC_2.17 __strverscmp F
+GLIBC_2.17 __strxfrm_l F
+GLIBC_2.17 __swprintf_chk F
+GLIBC_2.17 __sysconf F
+GLIBC_2.17 __syslog_chk F
+GLIBC_2.17 __sysv_signal F
+GLIBC_2.17 __timezone D 0x8
+GLIBC_2.17 __toascii_l F
+GLIBC_2.17 __tolower_l F
+GLIBC_2.17 __toupper_l F
+GLIBC_2.17 __towctrans F
+GLIBC_2.17 __towctrans_l F
+GLIBC_2.17 __towlower_l F
+GLIBC_2.17 __towupper_l F
+GLIBC_2.17 __ttyname_r_chk F
+GLIBC_2.17 __tzname D 0x10
+GLIBC_2.17 __uflow F
+GLIBC_2.17 __underflow F
+GLIBC_2.17 __uselocale F
+GLIBC_2.17 __vasprintf_chk F
+GLIBC_2.17 __vdprintf_chk F
+GLIBC_2.17 __vfork F
+GLIBC_2.17 __vfprintf_chk F
+GLIBC_2.17 __vfscanf F
+GLIBC_2.17 __vfwprintf_chk F
+GLIBC_2.17 __vprintf_chk F
+GLIBC_2.17 __vsnprintf F
+GLIBC_2.17 __vsnprintf_chk F
+GLIBC_2.17 __vsprintf_chk F
+GLIBC_2.17 __vsscanf F
+GLIBC_2.17 __vswprintf_chk F
+GLIBC_2.17 __vsyslog_chk F
+GLIBC_2.17 __vwprintf_chk F
+GLIBC_2.17 __wait F
+GLIBC_2.17 __waitpid F
+GLIBC_2.17 __wcpcpy_chk F
+GLIBC_2.17 __wcpncpy_chk F
+GLIBC_2.17 __wcrtomb_chk F
+GLIBC_2.17 __wcscasecmp_l F
+GLIBC_2.17 __wcscat_chk F
+GLIBC_2.17 __wcscoll_l F
+GLIBC_2.17 __wcscpy_chk F
+GLIBC_2.17 __wcsftime_l F
+GLIBC_2.17 __wcsncasecmp_l F
+GLIBC_2.17 __wcsncat_chk F
+GLIBC_2.17 __wcsncpy_chk F
+GLIBC_2.17 __wcsnrtombs_chk F
+GLIBC_2.17 __wcsrtombs_chk F
+GLIBC_2.17 __wcstod_internal F
+GLIBC_2.17 __wcstod_l F
+GLIBC_2.17 __wcstof_internal F
+GLIBC_2.17 __wcstof_l F
+GLIBC_2.17 __wcstol_internal F
+GLIBC_2.17 __wcstol_l F
+GLIBC_2.17 __wcstold_internal F
+GLIBC_2.17 __wcstold_l F
+GLIBC_2.17 __wcstoll_internal F
+GLIBC_2.17 __wcstoll_l F
+GLIBC_2.17 __wcstombs_chk F
+GLIBC_2.17 __wcstoul_internal F
+GLIBC_2.17 __wcstoul_l F
+GLIBC_2.17 __wcstoull_internal F
+GLIBC_2.17 __wcstoull_l F
+GLIBC_2.17 __wcsxfrm_l F
+GLIBC_2.17 __wctomb_chk F
+GLIBC_2.17 __wctrans_l F
+GLIBC_2.17 __wctype_l F
+GLIBC_2.17 __wmemcpy_chk F
+GLIBC_2.17 __wmemmove_chk F
+GLIBC_2.17 __wmempcpy_chk F
+GLIBC_2.17 __wmemset_chk F
+GLIBC_2.17 __woverflow F
+GLIBC_2.17 __wprintf_chk F
+GLIBC_2.17 __write F
+GLIBC_2.17 __wuflow F
+GLIBC_2.17 __wunderflow F
+GLIBC_2.17 __xmknod F
+GLIBC_2.17 __xmknodat F
+GLIBC_2.17 __xpg_basename F
+GLIBC_2.17 __xpg_sigpause F
+GLIBC_2.17 __xpg_strerror_r F
+GLIBC_2.17 __xstat F
+GLIBC_2.17 __xstat64 F
+GLIBC_2.17 _authenticate F
+GLIBC_2.17 _dl_mcount_wrapper F
+GLIBC_2.17 _dl_mcount_wrapper_check F
+GLIBC_2.17 _environ D 0x8
+GLIBC_2.17 _exit F
+GLIBC_2.17 _flushlbf F
+GLIBC_2.17 _libc_intl_domainname D 0x5
+GLIBC_2.17 _longjmp F
+GLIBC_2.17 _mcleanup F
+GLIBC_2.17 _nl_default_dirname D 0x12
+GLIBC_2.17 _nl_domain_bindings D 0x8
+GLIBC_2.17 _nl_msg_cat_cntr D 0x4
+GLIBC_2.17 _null_auth D 0x18
+GLIBC_2.17 _obstack_allocated_p F
+GLIBC_2.17 _obstack_begin F
+GLIBC_2.17 _obstack_begin_1 F
+GLIBC_2.17 _obstack_free F
+GLIBC_2.17 _obstack_memory_used F
+GLIBC_2.17 _obstack_newchunk F
+GLIBC_2.17 _res D 0x238
+GLIBC_2.17 _res_hconf D 0x48
+GLIBC_2.17 _rpc_dtablesize F
+GLIBC_2.17 _seterr_reply F
+GLIBC_2.17 _setjmp F
+GLIBC_2.17 _sys_errlist D 0x438
+GLIBC_2.17 _sys_nerr D 0x4
+GLIBC_2.17 _sys_siglist D 0x208
+GLIBC_2.17 _tolower F
+GLIBC_2.17 _toupper F
+GLIBC_2.17 a64l F
+GLIBC_2.17 abort F
+GLIBC_2.17 abs F
+GLIBC_2.17 accept F
+GLIBC_2.17 accept4 F
+GLIBC_2.17 access F
+GLIBC_2.17 acct F
+GLIBC_2.17 addmntent F
+GLIBC_2.17 addseverity F
+GLIBC_2.17 adjtime F
+GLIBC_2.17 adjtimex F
+GLIBC_2.17 advance F
+GLIBC_2.17 alarm F
+GLIBC_2.17 aligned_alloc F
+GLIBC_2.17 alphasort F
+GLIBC_2.17 alphasort64 F
+GLIBC_2.17 argp_err_exit_status D 0x4
+GLIBC_2.17 argp_error F
+GLIBC_2.17 argp_failure F
+GLIBC_2.17 argp_help F
+GLIBC_2.17 argp_parse F
+GLIBC_2.17 argp_program_bug_address D 0x8
+GLIBC_2.17 argp_program_version D 0x8
+GLIBC_2.17 argp_program_version_hook D 0x8
+GLIBC_2.17 argp_state_help F
+GLIBC_2.17 argp_usage F
+GLIBC_2.17 argz_add F
+GLIBC_2.17 argz_add_sep F
+GLIBC_2.17 argz_append F
+GLIBC_2.17 argz_count F
+GLIBC_2.17 argz_create F
+GLIBC_2.17 argz_create_sep F
+GLIBC_2.17 argz_delete F
+GLIBC_2.17 argz_extract F
+GLIBC_2.17 argz_insert F
+GLIBC_2.17 argz_next F
+GLIBC_2.17 argz_replace F
+GLIBC_2.17 argz_stringify F
+GLIBC_2.17 asctime F
+GLIBC_2.17 asctime_r F
+GLIBC_2.17 asprintf F
+GLIBC_2.17 atof F
+GLIBC_2.17 atoi F
+GLIBC_2.17 atol F
+GLIBC_2.17 atoll F
+GLIBC_2.17 authdes_create F
+GLIBC_2.17 authdes_getucred F
+GLIBC_2.17 authdes_pk_create F
+GLIBC_2.17 authnone_create F
+GLIBC_2.17 authunix_create F
+GLIBC_2.17 authunix_create_default F
+GLIBC_2.17 backtrace F
+GLIBC_2.17 backtrace_symbols F
+GLIBC_2.17 backtrace_symbols_fd F
+GLIBC_2.17 basename F
+GLIBC_2.17 bcmp F
+GLIBC_2.17 bcopy F
+GLIBC_2.17 bdflush F
+GLIBC_2.17 bind F
+GLIBC_2.17 bind_textdomain_codeset F
+GLIBC_2.17 bindresvport F
+GLIBC_2.17 bindtextdomain F
+GLIBC_2.17 brk F
+GLIBC_2.17 bsd_signal F
+GLIBC_2.17 bsearch F
+GLIBC_2.17 btowc F
+GLIBC_2.17 bzero F
+GLIBC_2.17 c16rtomb F
+GLIBC_2.17 c32rtomb F
+GLIBC_2.17 calloc F
+GLIBC_2.17 callrpc F
+GLIBC_2.17 canonicalize_file_name F
+GLIBC_2.17 capget F
+GLIBC_2.17 capset F
+GLIBC_2.17 catclose F
+GLIBC_2.17 catgets F
+GLIBC_2.17 catopen F
+GLIBC_2.17 cbc_crypt F
+GLIBC_2.17 cfgetispeed F
+GLIBC_2.17 cfgetospeed F
+GLIBC_2.17 cfmakeraw F
+GLIBC_2.17 cfree F
+GLIBC_2.17 cfsetispeed F
+GLIBC_2.17 cfsetospeed F
+GLIBC_2.17 cfsetspeed F
+GLIBC_2.17 chdir F
+GLIBC_2.17 chflags F
+GLIBC_2.17 chmod F
+GLIBC_2.17 chown F
+GLIBC_2.17 chroot F
+GLIBC_2.17 clearenv F
+GLIBC_2.17 clearerr F
+GLIBC_2.17 clearerr_unlocked F
+GLIBC_2.17 clnt_broadcast F
+GLIBC_2.17 clnt_create F
+GLIBC_2.17 clnt_pcreateerror F
+GLIBC_2.17 clnt_perrno F
+GLIBC_2.17 clnt_perror F
+GLIBC_2.17 clnt_spcreateerror F
+GLIBC_2.17 clnt_sperrno F
+GLIBC_2.17 clnt_sperror F
+GLIBC_2.17 clntraw_create F
+GLIBC_2.17 clnttcp_create F
+GLIBC_2.17 clntudp_bufcreate F
+GLIBC_2.17 clntudp_create F
+GLIBC_2.17 clntunix_create F
+GLIBC_2.17 clock F
+GLIBC_2.17 clock_adjtime F
+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 clone F
+GLIBC_2.17 close F
+GLIBC_2.17 closedir F
+GLIBC_2.17 closelog F
+GLIBC_2.17 confstr F
+GLIBC_2.17 connect F
+GLIBC_2.17 copysign F
+GLIBC_2.17 copysignf F
+GLIBC_2.17 copysignl F
+GLIBC_2.17 creat F
+GLIBC_2.17 creat64 F
+GLIBC_2.17 create_module F
+GLIBC_2.17 ctermid F
+GLIBC_2.17 ctime F
+GLIBC_2.17 ctime_r F
+GLIBC_2.17 cuserid F
+GLIBC_2.17 daemon F
+GLIBC_2.17 daylight D 0x4
+GLIBC_2.17 dcgettext F
+GLIBC_2.17 dcngettext F
+GLIBC_2.17 delete_module F
+GLIBC_2.17 des_setparity F
+GLIBC_2.17 dgettext F
+GLIBC_2.17 difftime F
+GLIBC_2.17 dirfd F
+GLIBC_2.17 dirname F
+GLIBC_2.17 div F
+GLIBC_2.17 dl_iterate_phdr F
+GLIBC_2.17 dngettext F
+GLIBC_2.17 dprintf F
+GLIBC_2.17 drand48 F
+GLIBC_2.17 drand48_r F
+GLIBC_2.17 dup F
+GLIBC_2.17 dup2 F
+GLIBC_2.17 dup3 F
+GLIBC_2.17 duplocale F
+GLIBC_2.17 dysize F
+GLIBC_2.17 eaccess F
+GLIBC_2.17 ecb_crypt F
+GLIBC_2.17 ecvt F
+GLIBC_2.17 ecvt_r F
+GLIBC_2.17 endaliasent F
+GLIBC_2.17 endfsent F
+GLIBC_2.17 endgrent F
+GLIBC_2.17 endhostent F
+GLIBC_2.17 endmntent F
+GLIBC_2.17 endnetent F
+GLIBC_2.17 endnetgrent F
+GLIBC_2.17 endprotoent F
+GLIBC_2.17 endpwent F
+GLIBC_2.17 endrpcent F
+GLIBC_2.17 endservent F
+GLIBC_2.17 endsgent F
+GLIBC_2.17 endspent F
+GLIBC_2.17 endttyent F
+GLIBC_2.17 endusershell F
+GLIBC_2.17 endutent F
+GLIBC_2.17 endutxent F
+GLIBC_2.17 environ D 0x8
+GLIBC_2.17 envz_add F
+GLIBC_2.17 envz_entry F
+GLIBC_2.17 envz_get F
+GLIBC_2.17 envz_merge F
+GLIBC_2.17 envz_remove F
+GLIBC_2.17 envz_strip F
+GLIBC_2.17 epoll_create F
+GLIBC_2.17 epoll_create1 F
+GLIBC_2.17 epoll_ctl F
+GLIBC_2.17 epoll_pwait F
+GLIBC_2.17 epoll_wait F
+GLIBC_2.17 erand48 F
+GLIBC_2.17 erand48_r F
+GLIBC_2.17 err F
+GLIBC_2.17 error F
+GLIBC_2.17 error_at_line F
+GLIBC_2.17 error_message_count D 0x4
+GLIBC_2.17 error_one_per_line D 0x4
+GLIBC_2.17 error_print_progname D 0x8
+GLIBC_2.17 errx F
+GLIBC_2.17 ether_aton F
+GLIBC_2.17 ether_aton_r F
+GLIBC_2.17 ether_hostton F
+GLIBC_2.17 ether_line F
+GLIBC_2.17 ether_ntoa F
+GLIBC_2.17 ether_ntoa_r F
+GLIBC_2.17 ether_ntohost F
+GLIBC_2.17 euidaccess F
+GLIBC_2.17 eventfd F
+GLIBC_2.17 eventfd_read F
+GLIBC_2.17 eventfd_write F
+GLIBC_2.17 execl F
+GLIBC_2.17 execle F
+GLIBC_2.17 execlp F
+GLIBC_2.17 execv F
+GLIBC_2.17 execve F
+GLIBC_2.17 execvp F
+GLIBC_2.17 execvpe F
+GLIBC_2.17 exit F
+GLIBC_2.17 faccessat F
+GLIBC_2.17 fallocate F
+GLIBC_2.17 fallocate64 F
+GLIBC_2.17 fanotify_init F
+GLIBC_2.17 fanotify_mark F
+GLIBC_2.17 fattach F
+GLIBC_2.17 fchdir F
+GLIBC_2.17 fchflags F
+GLIBC_2.17 fchmod F
+GLIBC_2.17 fchmodat F
+GLIBC_2.17 fchown F
+GLIBC_2.17 fchownat F
+GLIBC_2.17 fclose F
+GLIBC_2.17 fcloseall F
+GLIBC_2.17 fcntl F
+GLIBC_2.17 fcvt F
+GLIBC_2.17 fcvt_r F
+GLIBC_2.17 fdatasync F
+GLIBC_2.17 fdetach F
+GLIBC_2.17 fdopen F
+GLIBC_2.17 fdopendir F
+GLIBC_2.17 feof F
+GLIBC_2.17 feof_unlocked F
+GLIBC_2.17 ferror F
+GLIBC_2.17 ferror_unlocked F
+GLIBC_2.17 fexecve F
+GLIBC_2.17 fflush F
+GLIBC_2.17 fflush_unlocked F
+GLIBC_2.17 ffs F
+GLIBC_2.17 ffsl F
+GLIBC_2.17 ffsll F
+GLIBC_2.17 fgetc F
+GLIBC_2.17 fgetc_unlocked F
+GLIBC_2.17 fgetgrent F
+GLIBC_2.17 fgetgrent_r F
+GLIBC_2.17 fgetpos F
+GLIBC_2.17 fgetpos64 F
+GLIBC_2.17 fgetpwent F
+GLIBC_2.17 fgetpwent_r F
+GLIBC_2.17 fgets F
+GLIBC_2.17 fgets_unlocked F
+GLIBC_2.17 fgetsgent F
+GLIBC_2.17 fgetsgent_r F
+GLIBC_2.17 fgetspent F
+GLIBC_2.17 fgetspent_r F
+GLIBC_2.17 fgetwc F
+GLIBC_2.17 fgetwc_unlocked F
+GLIBC_2.17 fgetws F
+GLIBC_2.17 fgetws_unlocked F
+GLIBC_2.17 fgetxattr F
+GLIBC_2.17 fileno F
+GLIBC_2.17 fileno_unlocked F
+GLIBC_2.17 finite F
+GLIBC_2.17 finitef F
+GLIBC_2.17 finitel F
+GLIBC_2.17 flistxattr F
+GLIBC_2.17 flock F
+GLIBC_2.17 flockfile F
+GLIBC_2.17 fmemopen F
+GLIBC_2.17 fmtmsg F
+GLIBC_2.17 fnmatch F
+GLIBC_2.17 fopen F
+GLIBC_2.17 fopen64 F
+GLIBC_2.17 fopencookie F
+GLIBC_2.17 fork F
+GLIBC_2.17 fpathconf F
+GLIBC_2.17 fprintf F
+GLIBC_2.17 fputc F
+GLIBC_2.17 fputc_unlocked F
+GLIBC_2.17 fputs F
+GLIBC_2.17 fputs_unlocked F
+GLIBC_2.17 fputwc F
+GLIBC_2.17 fputwc_unlocked F
+GLIBC_2.17 fputws F
+GLIBC_2.17 fputws_unlocked F
+GLIBC_2.17 fread F
+GLIBC_2.17 fread_unlocked F
+GLIBC_2.17 free F
+GLIBC_2.17 freeaddrinfo F
+GLIBC_2.17 freeifaddrs F
+GLIBC_2.17 freelocale F
+GLIBC_2.17 fremovexattr F
+GLIBC_2.17 freopen F
+GLIBC_2.17 freopen64 F
+GLIBC_2.17 frexp F
+GLIBC_2.17 frexpf F
+GLIBC_2.17 frexpl F
+GLIBC_2.17 fscanf F
+GLIBC_2.17 fseek F
+GLIBC_2.17 fseeko F
+GLIBC_2.17 fseeko64 F
+GLIBC_2.17 fsetpos F
+GLIBC_2.17 fsetpos64 F
+GLIBC_2.17 fsetxattr F
+GLIBC_2.17 fstatfs F
+GLIBC_2.17 fstatfs64 F
+GLIBC_2.17 fstatvfs F
+GLIBC_2.17 fstatvfs64 F
+GLIBC_2.17 fsync F
+GLIBC_2.17 ftell F
+GLIBC_2.17 ftello F
+GLIBC_2.17 ftello64 F
+GLIBC_2.17 ftime F
+GLIBC_2.17 ftok F
+GLIBC_2.17 ftruncate F
+GLIBC_2.17 ftruncate64 F
+GLIBC_2.17 ftrylockfile F
+GLIBC_2.17 fts_children F
+GLIBC_2.17 fts_close F
+GLIBC_2.17 fts_open F
+GLIBC_2.17 fts_read F
+GLIBC_2.17 fts_set F
+GLIBC_2.17 ftw F
+GLIBC_2.17 ftw64 F
+GLIBC_2.17 funlockfile F
+GLIBC_2.17 futimens F
+GLIBC_2.17 futimes F
+GLIBC_2.17 futimesat F
+GLIBC_2.17 fwide F
+GLIBC_2.17 fwprintf F
+GLIBC_2.17 fwrite F
+GLIBC_2.17 fwrite_unlocked F
+GLIBC_2.17 fwscanf F
+GLIBC_2.17 gai_strerror F
+GLIBC_2.17 gcvt F
+GLIBC_2.17 get_avphys_pages F
+GLIBC_2.17 get_current_dir_name F
+GLIBC_2.17 get_kernel_syms F
+GLIBC_2.17 get_myaddress F
+GLIBC_2.17 get_nprocs F
+GLIBC_2.17 get_nprocs_conf F
+GLIBC_2.17 get_phys_pages F
+GLIBC_2.17 getaddrinfo F
+GLIBC_2.17 getaliasbyname F
+GLIBC_2.17 getaliasbyname_r F
+GLIBC_2.17 getaliasent F
+GLIBC_2.17 getaliasent_r F
+GLIBC_2.17 getauxval F
+GLIBC_2.17 getc F
+GLIBC_2.17 getc_unlocked F
+GLIBC_2.17 getchar F
+GLIBC_2.17 getchar_unlocked F
+GLIBC_2.17 getcontext F
+GLIBC_2.17 getcwd F
+GLIBC_2.17 getdate F
+GLIBC_2.17 getdate_err D 0x4
+GLIBC_2.17 getdate_r F
+GLIBC_2.17 getdelim F
+GLIBC_2.17 getdirentries F
+GLIBC_2.17 getdirentries64 F
+GLIBC_2.17 getdomainname F
+GLIBC_2.17 getdtablesize F
+GLIBC_2.17 getegid F
+GLIBC_2.17 getenv F
+GLIBC_2.17 geteuid F
+GLIBC_2.17 getfsent F
+GLIBC_2.17 getfsfile F
+GLIBC_2.17 getfsspec F
+GLIBC_2.17 getgid F
+GLIBC_2.17 getgrent F
+GLIBC_2.17 getgrent_r F
+GLIBC_2.17 getgrgid F
+GLIBC_2.17 getgrgid_r F
+GLIBC_2.17 getgrnam F
+GLIBC_2.17 getgrnam_r F
+GLIBC_2.17 getgrouplist F
+GLIBC_2.17 getgroups F
+GLIBC_2.17 gethostbyaddr F
+GLIBC_2.17 gethostbyaddr_r F
+GLIBC_2.17 gethostbyname F
+GLIBC_2.17 gethostbyname2 F
+GLIBC_2.17 gethostbyname2_r F
+GLIBC_2.17 gethostbyname_r F
+GLIBC_2.17 gethostent F
+GLIBC_2.17 gethostent_r F
+GLIBC_2.17 gethostid F
+GLIBC_2.17 gethostname F
+GLIBC_2.17 getifaddrs F
+GLIBC_2.17 getipv4sourcefilter F
+GLIBC_2.17 getitimer F
+GLIBC_2.17 getline F
+GLIBC_2.17 getloadavg F
+GLIBC_2.17 getlogin F
+GLIBC_2.17 getlogin_r F
+GLIBC_2.17 getmntent F
+GLIBC_2.17 getmntent_r F
+GLIBC_2.17 getmsg F
+GLIBC_2.17 getnameinfo F
+GLIBC_2.17 getnetbyaddr F
+GLIBC_2.17 getnetbyaddr_r F
+GLIBC_2.17 getnetbyname F
+GLIBC_2.17 getnetbyname_r F
+GLIBC_2.17 getnetent F
+GLIBC_2.17 getnetent_r F
+GLIBC_2.17 getnetgrent F
+GLIBC_2.17 getnetgrent_r F
+GLIBC_2.17 getnetname F
+GLIBC_2.17 getopt F
+GLIBC_2.17 getopt_long F
+GLIBC_2.17 getopt_long_only F
+GLIBC_2.17 getpagesize F
+GLIBC_2.17 getpass F
+GLIBC_2.17 getpeername F
+GLIBC_2.17 getpgid F
+GLIBC_2.17 getpgrp F
+GLIBC_2.17 getpid F
+GLIBC_2.17 getpmsg F
+GLIBC_2.17 getppid F
+GLIBC_2.17 getpriority F
+GLIBC_2.17 getprotobyname F
+GLIBC_2.17 getprotobyname_r F
+GLIBC_2.17 getprotobynumber F
+GLIBC_2.17 getprotobynumber_r F
+GLIBC_2.17 getprotoent F
+GLIBC_2.17 getprotoent_r F
+GLIBC_2.17 getpt F
+GLIBC_2.17 getpublickey F
+GLIBC_2.17 getpw F
+GLIBC_2.17 getpwent F
+GLIBC_2.17 getpwent_r F
+GLIBC_2.17 getpwnam F
+GLIBC_2.17 getpwnam_r F
+GLIBC_2.17 getpwuid F
+GLIBC_2.17 getpwuid_r F
+GLIBC_2.17 getresgid F
+GLIBC_2.17 getresuid F
+GLIBC_2.17 getrlimit F
+GLIBC_2.17 getrlimit64 F
+GLIBC_2.17 getrpcbyname F
+GLIBC_2.17 getrpcbyname_r F
+GLIBC_2.17 getrpcbynumber F
+GLIBC_2.17 getrpcbynumber_r F
+GLIBC_2.17 getrpcent F
+GLIBC_2.17 getrpcent_r F
+GLIBC_2.17 getrpcport F
+GLIBC_2.17 getrusage F
+GLIBC_2.17 gets F
+GLIBC_2.17 getsecretkey F
+GLIBC_2.17 getservbyname F
+GLIBC_2.17 getservbyname_r F
+GLIBC_2.17 getservbyport F
+GLIBC_2.17 getservbyport_r F
+GLIBC_2.17 getservent F
+GLIBC_2.17 getservent_r F
+GLIBC_2.17 getsgent F
+GLIBC_2.17 getsgent_r F
+GLIBC_2.17 getsgnam F
+GLIBC_2.17 getsgnam_r F
+GLIBC_2.17 getsid F
+GLIBC_2.17 getsockname F
+GLIBC_2.17 getsockopt F
+GLIBC_2.17 getsourcefilter F
+GLIBC_2.17 getspent F
+GLIBC_2.17 getspent_r F
+GLIBC_2.17 getspnam F
+GLIBC_2.17 getspnam_r F
+GLIBC_2.17 getsubopt F
+GLIBC_2.17 gettext F
+GLIBC_2.17 gettimeofday F
+GLIBC_2.17 getttyent F
+GLIBC_2.17 getttynam F
+GLIBC_2.17 getuid F
+GLIBC_2.17 getusershell F
+GLIBC_2.17 getutent F
+GLIBC_2.17 getutent_r F
+GLIBC_2.17 getutid F
+GLIBC_2.17 getutid_r F
+GLIBC_2.17 getutline F
+GLIBC_2.17 getutline_r F
+GLIBC_2.17 getutmp F
+GLIBC_2.17 getutmpx F
+GLIBC_2.17 getutxent F
+GLIBC_2.17 getutxid F
+GLIBC_2.17 getutxline F
+GLIBC_2.17 getw F
+GLIBC_2.17 getwc F
+GLIBC_2.17 getwc_unlocked F
+GLIBC_2.17 getwchar F
+GLIBC_2.17 getwchar_unlocked F
+GLIBC_2.17 getwd F
+GLIBC_2.17 getxattr F
+GLIBC_2.17 glob F
+GLIBC_2.17 glob64 F
+GLIBC_2.17 glob_pattern_p F
+GLIBC_2.17 globfree F
+GLIBC_2.17 globfree64 F
+GLIBC_2.17 gmtime F
+GLIBC_2.17 gmtime_r F
+GLIBC_2.17 gnu_dev_major F
+GLIBC_2.17 gnu_dev_makedev F
+GLIBC_2.17 gnu_dev_minor F
+GLIBC_2.17 gnu_get_libc_release F
+GLIBC_2.17 gnu_get_libc_version F
+GLIBC_2.17 grantpt F
+GLIBC_2.17 group_member F
+GLIBC_2.17 gsignal F
+GLIBC_2.17 gtty F
+GLIBC_2.17 h_errlist D 0x28
+GLIBC_2.17 h_nerr D 0x4
+GLIBC_2.17 hasmntopt F
+GLIBC_2.17 hcreate F
+GLIBC_2.17 hcreate_r F
+GLIBC_2.17 hdestroy F
+GLIBC_2.17 hdestroy_r F
+GLIBC_2.17 herror F
+GLIBC_2.17 host2netname F
+GLIBC_2.17 hsearch F
+GLIBC_2.17 hsearch_r F
+GLIBC_2.17 hstrerror F
+GLIBC_2.17 htonl F
+GLIBC_2.17 htons F
+GLIBC_2.17 iconv F
+GLIBC_2.17 iconv_close F
+GLIBC_2.17 iconv_open F
+GLIBC_2.17 if_freenameindex F
+GLIBC_2.17 if_indextoname F
+GLIBC_2.17 if_nameindex F
+GLIBC_2.17 if_nametoindex F
+GLIBC_2.17 imaxabs F
+GLIBC_2.17 imaxdiv F
+GLIBC_2.17 in6addr_any D 0x10
+GLIBC_2.17 in6addr_loopback D 0x10
+GLIBC_2.17 index F
+GLIBC_2.17 inet6_opt_append F
+GLIBC_2.17 inet6_opt_find F
+GLIBC_2.17 inet6_opt_finish F
+GLIBC_2.17 inet6_opt_get_val F
+GLIBC_2.17 inet6_opt_init F
+GLIBC_2.17 inet6_opt_next F
+GLIBC_2.17 inet6_opt_set_val F
+GLIBC_2.17 inet6_option_alloc F
+GLIBC_2.17 inet6_option_append F
+GLIBC_2.17 inet6_option_find F
+GLIBC_2.17 inet6_option_init F
+GLIBC_2.17 inet6_option_next F
+GLIBC_2.17 inet6_option_space F
+GLIBC_2.17 inet6_rth_add F
+GLIBC_2.17 inet6_rth_getaddr F
+GLIBC_2.17 inet6_rth_init F
+GLIBC_2.17 inet6_rth_reverse F
+GLIBC_2.17 inet6_rth_segments F
+GLIBC_2.17 inet6_rth_space F
+GLIBC_2.17 inet_addr F
+GLIBC_2.17 inet_aton F
+GLIBC_2.17 inet_lnaof F
+GLIBC_2.17 inet_makeaddr F
+GLIBC_2.17 inet_netof F
+GLIBC_2.17 inet_network F
+GLIBC_2.17 inet_nsap_addr F
+GLIBC_2.17 inet_nsap_ntoa F
+GLIBC_2.17 inet_ntoa F
+GLIBC_2.17 inet_ntop F
+GLIBC_2.17 inet_pton F
+GLIBC_2.17 init_module F
+GLIBC_2.17 initgroups F
+GLIBC_2.17 initstate F
+GLIBC_2.17 initstate_r F
+GLIBC_2.17 innetgr F
+GLIBC_2.17 inotify_add_watch F
+GLIBC_2.17 inotify_init F
+GLIBC_2.17 inotify_init1 F
+GLIBC_2.17 inotify_rm_watch F
+GLIBC_2.17 insque F
+GLIBC_2.17 ioctl F
+GLIBC_2.17 iruserok F
+GLIBC_2.17 iruserok_af F
+GLIBC_2.17 isalnum F
+GLIBC_2.17 isalnum_l F
+GLIBC_2.17 isalpha F
+GLIBC_2.17 isalpha_l F
+GLIBC_2.17 isascii F
+GLIBC_2.17 isastream F
+GLIBC_2.17 isatty F
+GLIBC_2.17 isblank F
+GLIBC_2.17 isblank_l F
+GLIBC_2.17 iscntrl F
+GLIBC_2.17 iscntrl_l F
+GLIBC_2.17 isctype F
+GLIBC_2.17 isdigit F
+GLIBC_2.17 isdigit_l F
+GLIBC_2.17 isfdtype F
+GLIBC_2.17 isgraph F
+GLIBC_2.17 isgraph_l F
+GLIBC_2.17 isinf F
+GLIBC_2.17 isinff F
+GLIBC_2.17 isinfl F
+GLIBC_2.17 islower F
+GLIBC_2.17 islower_l F
+GLIBC_2.17 isnan F
+GLIBC_2.17 isnanf F
+GLIBC_2.17 isnanl F
+GLIBC_2.17 isprint F
+GLIBC_2.17 isprint_l F
+GLIBC_2.17 ispunct F
+GLIBC_2.17 ispunct_l F
+GLIBC_2.17 isspace F
+GLIBC_2.17 isspace_l F
+GLIBC_2.17 isupper F
+GLIBC_2.17 isupper_l F
+GLIBC_2.17 iswalnum F
+GLIBC_2.17 iswalnum_l F
+GLIBC_2.17 iswalpha F
+GLIBC_2.17 iswalpha_l F
+GLIBC_2.17 iswblank F
+GLIBC_2.17 iswblank_l F
+GLIBC_2.17 iswcntrl F
+GLIBC_2.17 iswcntrl_l F
+GLIBC_2.17 iswctype F
+GLIBC_2.17 iswctype_l F
+GLIBC_2.17 iswdigit F
+GLIBC_2.17 iswdigit_l F
+GLIBC_2.17 iswgraph F
+GLIBC_2.17 iswgraph_l F
+GLIBC_2.17 iswlower F
+GLIBC_2.17 iswlower_l F
+GLIBC_2.17 iswprint F
+GLIBC_2.17 iswprint_l F
+GLIBC_2.17 iswpunct F
+GLIBC_2.17 iswpunct_l F
+GLIBC_2.17 iswspace F
+GLIBC_2.17 iswspace_l F
+GLIBC_2.17 iswupper F
+GLIBC_2.17 iswupper_l F
+GLIBC_2.17 iswxdigit F
+GLIBC_2.17 iswxdigit_l F
+GLIBC_2.17 isxdigit F
+GLIBC_2.17 isxdigit_l F
+GLIBC_2.17 jrand48 F
+GLIBC_2.17 jrand48_r F
+GLIBC_2.17 key_decryptsession F
+GLIBC_2.17 key_decryptsession_pk F
+GLIBC_2.17 key_encryptsession F
+GLIBC_2.17 key_encryptsession_pk F
+GLIBC_2.17 key_gendes F
+GLIBC_2.17 key_get_conv F
+GLIBC_2.17 key_secretkey_is_set F
+GLIBC_2.17 key_setnet F
+GLIBC_2.17 key_setsecret F
+GLIBC_2.17 kill F
+GLIBC_2.17 killpg F
+GLIBC_2.17 klogctl F
+GLIBC_2.17 l64a F
+GLIBC_2.17 labs F
+GLIBC_2.17 lchmod F
+GLIBC_2.17 lchown F
+GLIBC_2.17 lckpwdf F
+GLIBC_2.17 lcong48 F
+GLIBC_2.17 lcong48_r F
+GLIBC_2.17 ldexp F
+GLIBC_2.17 ldexpf F
+GLIBC_2.17 ldexpl F
+GLIBC_2.17 ldiv F
+GLIBC_2.17 lfind F
+GLIBC_2.17 lgetxattr F
+GLIBC_2.17 link F
+GLIBC_2.17 linkat F
+GLIBC_2.17 listen F
+GLIBC_2.17 listxattr F
+GLIBC_2.17 llabs F
+GLIBC_2.17 lldiv F
+GLIBC_2.17 llistxattr F
+GLIBC_2.17 llseek F
+GLIBC_2.17 loc1 D 0x8
+GLIBC_2.17 loc2 D 0x8
+GLIBC_2.17 localeconv F
+GLIBC_2.17 localtime F
+GLIBC_2.17 localtime_r F
+GLIBC_2.17 lockf F
+GLIBC_2.17 lockf64 F
+GLIBC_2.17 locs D 0x8
+GLIBC_2.17 longjmp F
+GLIBC_2.17 lrand48 F
+GLIBC_2.17 lrand48_r F
+GLIBC_2.17 lremovexattr F
+GLIBC_2.17 lsearch F
+GLIBC_2.17 lseek F
+GLIBC_2.17 lseek64 F
+GLIBC_2.17 lsetxattr F
+GLIBC_2.17 lutimes F
+GLIBC_2.17 madvise F
+GLIBC_2.17 makecontext F
+GLIBC_2.17 mallinfo F
+GLIBC_2.17 malloc F
+GLIBC_2.17 malloc_get_state F
+GLIBC_2.17 malloc_info F
+GLIBC_2.17 malloc_set_state F
+GLIBC_2.17 malloc_stats F
+GLIBC_2.17 malloc_trim F
+GLIBC_2.17 malloc_usable_size F
+GLIBC_2.17 mallopt F
+GLIBC_2.17 mallwatch D 0x8
+GLIBC_2.17 mblen F
+GLIBC_2.17 mbrlen F
+GLIBC_2.17 mbrtoc16 F
+GLIBC_2.17 mbrtoc32 F
+GLIBC_2.17 mbrtowc F
+GLIBC_2.17 mbsinit F
+GLIBC_2.17 mbsnrtowcs F
+GLIBC_2.17 mbsrtowcs F
+GLIBC_2.17 mbstowcs F
+GLIBC_2.17 mbtowc F
+GLIBC_2.17 mcheck F
+GLIBC_2.17 mcheck_check_all F
+GLIBC_2.17 mcheck_pedantic F
+GLIBC_2.17 memalign F
+GLIBC_2.17 memccpy F
+GLIBC_2.17 memchr F
+GLIBC_2.17 memcmp F
+GLIBC_2.17 memcpy F
+GLIBC_2.17 memfrob F
+GLIBC_2.17 memmem F
+GLIBC_2.17 memmove F
+GLIBC_2.17 mempcpy F
+GLIBC_2.17 memrchr F
+GLIBC_2.17 memset F
+GLIBC_2.17 mincore F
+GLIBC_2.17 mkdir F
+GLIBC_2.17 mkdirat F
+GLIBC_2.17 mkdtemp F
+GLIBC_2.17 mkfifo F
+GLIBC_2.17 mkfifoat F
+GLIBC_2.17 mkostemp F
+GLIBC_2.17 mkostemp64 F
+GLIBC_2.17 mkostemps F
+GLIBC_2.17 mkostemps64 F
+GLIBC_2.17 mkstemp F
+GLIBC_2.17 mkstemp64 F
+GLIBC_2.17 mkstemps F
+GLIBC_2.17 mkstemps64 F
+GLIBC_2.17 mktemp F
+GLIBC_2.17 mktime F
+GLIBC_2.17 mlock F
+GLIBC_2.17 mlockall F
+GLIBC_2.17 mmap F
+GLIBC_2.17 mmap64 F
+GLIBC_2.17 modf F
+GLIBC_2.17 modff F
+GLIBC_2.17 modfl F
+GLIBC_2.17 moncontrol F
+GLIBC_2.17 monstartup F
+GLIBC_2.17 mount F
+GLIBC_2.17 mprobe F
+GLIBC_2.17 mprotect F
+GLIBC_2.17 mrand48 F
+GLIBC_2.17 mrand48_r F
+GLIBC_2.17 mremap F
+GLIBC_2.17 msgctl F
+GLIBC_2.17 msgget F
+GLIBC_2.17 msgrcv F
+GLIBC_2.17 msgsnd F
+GLIBC_2.17 msync F
+GLIBC_2.17 mtrace F
+GLIBC_2.17 munlock F
+GLIBC_2.17 munlockall F
+GLIBC_2.17 munmap F
+GLIBC_2.17 muntrace F
+GLIBC_2.17 name_to_handle_at F
+GLIBC_2.17 nanosleep F
+GLIBC_2.17 netname2host F
+GLIBC_2.17 netname2user F
+GLIBC_2.17 newlocale F
+GLIBC_2.17 nfsservctl F
+GLIBC_2.17 nftw F
+GLIBC_2.17 nftw64 F
+GLIBC_2.17 ngettext F
+GLIBC_2.17 nice F
+GLIBC_2.17 nl_langinfo F
+GLIBC_2.17 nl_langinfo_l F
+GLIBC_2.17 nrand48 F
+GLIBC_2.17 nrand48_r F
+GLIBC_2.17 ntohl F
+GLIBC_2.17 ntohs F
+GLIBC_2.17 ntp_adjtime F
+GLIBC_2.17 ntp_gettime F
+GLIBC_2.17 ntp_gettimex F
+GLIBC_2.17 obstack_alloc_failed_handler D 0x8
+GLIBC_2.17 obstack_exit_failure D 0x4
+GLIBC_2.17 obstack_free F
+GLIBC_2.17 obstack_printf F
+GLIBC_2.17 obstack_vprintf F
+GLIBC_2.17 on_exit F
+GLIBC_2.17 open F
+GLIBC_2.17 open64 F
+GLIBC_2.17 open_by_handle_at F
+GLIBC_2.17 open_memstream F
+GLIBC_2.17 open_wmemstream F
+GLIBC_2.17 openat F
+GLIBC_2.17 openat64 F
+GLIBC_2.17 opendir F
+GLIBC_2.17 openlog F
+GLIBC_2.17 optarg D 0x8
+GLIBC_2.17 opterr D 0x4
+GLIBC_2.17 optind D 0x4
+GLIBC_2.17 optopt D 0x4
+GLIBC_2.17 parse_printf_format F
+GLIBC_2.17 passwd2des F
+GLIBC_2.17 pathconf F
+GLIBC_2.17 pause F
+GLIBC_2.17 pclose F
+GLIBC_2.17 perror F
+GLIBC_2.17 personality F
+GLIBC_2.17 pipe F
+GLIBC_2.17 pipe2 F
+GLIBC_2.17 pivot_root F
+GLIBC_2.17 pmap_getmaps F
+GLIBC_2.17 pmap_getport F
+GLIBC_2.17 pmap_rmtcall F
+GLIBC_2.17 pmap_set F
+GLIBC_2.17 pmap_unset F
+GLIBC_2.17 poll F
+GLIBC_2.17 popen F
+GLIBC_2.17 posix_fadvise F
+GLIBC_2.17 posix_fadvise64 F
+GLIBC_2.17 posix_fallocate F
+GLIBC_2.17 posix_fallocate64 F
+GLIBC_2.17 posix_madvise F
+GLIBC_2.17 posix_memalign F
+GLIBC_2.17 posix_openpt F
+GLIBC_2.17 posix_spawn F
+GLIBC_2.17 posix_spawn_file_actions_addclose F
+GLIBC_2.17 posix_spawn_file_actions_adddup2 F
+GLIBC_2.17 posix_spawn_file_actions_addopen F
+GLIBC_2.17 posix_spawn_file_actions_destroy F
+GLIBC_2.17 posix_spawn_file_actions_init F
+GLIBC_2.17 posix_spawnattr_destroy F
+GLIBC_2.17 posix_spawnattr_getflags F
+GLIBC_2.17 posix_spawnattr_getpgroup F
+GLIBC_2.17 posix_spawnattr_getschedparam F
+GLIBC_2.17 posix_spawnattr_getschedpolicy F
+GLIBC_2.17 posix_spawnattr_getsigdefault F
+GLIBC_2.17 posix_spawnattr_getsigmask F
+GLIBC_2.17 posix_spawnattr_init F
+GLIBC_2.17 posix_spawnattr_setflags F
+GLIBC_2.17 posix_spawnattr_setpgroup F
+GLIBC_2.17 posix_spawnattr_setschedparam F
+GLIBC_2.17 posix_spawnattr_setschedpolicy F
+GLIBC_2.17 posix_spawnattr_setsigdefault F
+GLIBC_2.17 posix_spawnattr_setsigmask F
+GLIBC_2.17 posix_spawnp F
+GLIBC_2.17 ppoll F
+GLIBC_2.17 prctl F
+GLIBC_2.17 pread F
+GLIBC_2.17 pread64 F
+GLIBC_2.17 preadv F
+GLIBC_2.17 preadv64 F
+GLIBC_2.17 printf F
+GLIBC_2.17 printf_size F
+GLIBC_2.17 printf_size_info F
+GLIBC_2.17 prlimit F
+GLIBC_2.17 prlimit64 F
+GLIBC_2.17 process_vm_readv F
+GLIBC_2.17 process_vm_writev F
+GLIBC_2.17 profil F
+GLIBC_2.17 program_invocation_name D 0x8
+GLIBC_2.17 program_invocation_short_name D 0x8
+GLIBC_2.17 pselect F
+GLIBC_2.17 psiginfo F
+GLIBC_2.17 psignal F
+GLIBC_2.17 pthread_attr_destroy F
+GLIBC_2.17 pthread_attr_getdetachstate F
+GLIBC_2.17 pthread_attr_getinheritsched F
+GLIBC_2.17 pthread_attr_getschedparam F
+GLIBC_2.17 pthread_attr_getschedpolicy F
+GLIBC_2.17 pthread_attr_getscope F
+GLIBC_2.17 pthread_attr_init F
+GLIBC_2.17 pthread_attr_setdetachstate F
+GLIBC_2.17 pthread_attr_setinheritsched F
+GLIBC_2.17 pthread_attr_setschedparam F
+GLIBC_2.17 pthread_attr_setschedpolicy F
+GLIBC_2.17 pthread_attr_setscope F
+GLIBC_2.17 pthread_cond_broadcast F
+GLIBC_2.17 pthread_cond_destroy F
+GLIBC_2.17 pthread_cond_init F
+GLIBC_2.17 pthread_cond_signal F
+GLIBC_2.17 pthread_cond_timedwait F
+GLIBC_2.17 pthread_cond_wait F
+GLIBC_2.17 pthread_condattr_destroy F
+GLIBC_2.17 pthread_condattr_init F
+GLIBC_2.17 pthread_equal F
+GLIBC_2.17 pthread_exit F
+GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_mutex_destroy F
+GLIBC_2.17 pthread_mutex_init F
+GLIBC_2.17 pthread_mutex_lock F
+GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_self F
+GLIBC_2.17 pthread_setcancelstate F
+GLIBC_2.17 pthread_setcanceltype F
+GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 ptrace F
+GLIBC_2.17 ptsname F
+GLIBC_2.17 ptsname_r F
+GLIBC_2.17 putc F
+GLIBC_2.17 putc_unlocked F
+GLIBC_2.17 putchar F
+GLIBC_2.17 putchar_unlocked F
+GLIBC_2.17 putenv F
+GLIBC_2.17 putgrent F
+GLIBC_2.17 putmsg F
+GLIBC_2.17 putpmsg F
+GLIBC_2.17 putpwent F
+GLIBC_2.17 puts F
+GLIBC_2.17 putsgent F
+GLIBC_2.17 putspent F
+GLIBC_2.17 pututline F
+GLIBC_2.17 pututxline F
+GLIBC_2.17 putw F
+GLIBC_2.17 putwc F
+GLIBC_2.17 putwc_unlocked F
+GLIBC_2.17 putwchar F
+GLIBC_2.17 putwchar_unlocked F
+GLIBC_2.17 pvalloc F
+GLIBC_2.17 pwrite F
+GLIBC_2.17 pwrite64 F
+GLIBC_2.17 pwritev F
+GLIBC_2.17 pwritev64 F
+GLIBC_2.17 qecvt F
+GLIBC_2.17 qecvt_r F
+GLIBC_2.17 qfcvt F
+GLIBC_2.17 qfcvt_r F
+GLIBC_2.17 qgcvt F
+GLIBC_2.17 qsort F
+GLIBC_2.17 qsort_r F
+GLIBC_2.17 query_module F
+GLIBC_2.17 quick_exit F
+GLIBC_2.17 quotactl F
+GLIBC_2.17 raise F
+GLIBC_2.17 rand F
+GLIBC_2.17 rand_r F
+GLIBC_2.17 random F
+GLIBC_2.17 random_r F
+GLIBC_2.17 rawmemchr F
+GLIBC_2.17 rcmd F
+GLIBC_2.17 rcmd_af F
+GLIBC_2.17 re_comp F
+GLIBC_2.17 re_compile_fastmap F
+GLIBC_2.17 re_compile_pattern F
+GLIBC_2.17 re_exec F
+GLIBC_2.17 re_match F
+GLIBC_2.17 re_match_2 F
+GLIBC_2.17 re_search F
+GLIBC_2.17 re_search_2 F
+GLIBC_2.17 re_set_registers F
+GLIBC_2.17 re_set_syntax F
+GLIBC_2.17 re_syntax_options D 0x8
+GLIBC_2.17 read F
+GLIBC_2.17 readahead F
+GLIBC_2.17 readdir F
+GLIBC_2.17 readdir64 F
+GLIBC_2.17 readdir64_r F
+GLIBC_2.17 readdir_r F
+GLIBC_2.17 readlink F
+GLIBC_2.17 readlinkat F
+GLIBC_2.17 readv F
+GLIBC_2.17 realloc F
+GLIBC_2.17 realpath F
+GLIBC_2.17 reboot F
+GLIBC_2.17 recv F
+GLIBC_2.17 recvfrom F
+GLIBC_2.17 recvmmsg F
+GLIBC_2.17 recvmsg F
+GLIBC_2.17 regcomp F
+GLIBC_2.17 regerror F
+GLIBC_2.17 regexec F
+GLIBC_2.17 regfree F
+GLIBC_2.17 register_printf_function F
+GLIBC_2.17 register_printf_modifier F
+GLIBC_2.17 register_printf_specifier F
+GLIBC_2.17 register_printf_type F
+GLIBC_2.17 registerrpc F
+GLIBC_2.17 remap_file_pages F
+GLIBC_2.17 remove F
+GLIBC_2.17 removexattr F
+GLIBC_2.17 remque F
+GLIBC_2.17 rename F
+GLIBC_2.17 renameat F
+GLIBC_2.17 revoke F
+GLIBC_2.17 rewind F
+GLIBC_2.17 rewinddir F
+GLIBC_2.17 rexec F
+GLIBC_2.17 rexec_af F
+GLIBC_2.17 rexecoptions D 0x4
+GLIBC_2.17 rindex F
+GLIBC_2.17 rmdir F
+GLIBC_2.17 rpc_createerr D 0x20
+GLIBC_2.17 rpmatch F
+GLIBC_2.17 rresvport F
+GLIBC_2.17 rresvport_af F
+GLIBC_2.17 rtime F
+GLIBC_2.17 ruserok F
+GLIBC_2.17 ruserok_af F
+GLIBC_2.17 ruserpass F
+GLIBC_2.17 sbrk F
+GLIBC_2.17 scalbn F
+GLIBC_2.17 scalbnf F
+GLIBC_2.17 scalbnl F
+GLIBC_2.17 scandir F
+GLIBC_2.17 scandir64 F
+GLIBC_2.17 scandirat F
+GLIBC_2.17 scandirat64 F
+GLIBC_2.17 scanf F
+GLIBC_2.17 sched_get_priority_max F
+GLIBC_2.17 sched_get_priority_min F
+GLIBC_2.17 sched_getaffinity F
+GLIBC_2.17 sched_getcpu F
+GLIBC_2.17 sched_getparam F
+GLIBC_2.17 sched_getscheduler F
+GLIBC_2.17 sched_rr_get_interval F
+GLIBC_2.17 sched_setaffinity F
+GLIBC_2.17 sched_setparam F
+GLIBC_2.17 sched_setscheduler F
+GLIBC_2.17 sched_yield F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.17 seed48 F
+GLIBC_2.17 seed48_r F
+GLIBC_2.17 seekdir F
+GLIBC_2.17 select F
+GLIBC_2.17 semctl F
+GLIBC_2.17 semget F
+GLIBC_2.17 semop F
+GLIBC_2.17 semtimedop F
+GLIBC_2.17 send F
+GLIBC_2.17 sendfile F
+GLIBC_2.17 sendfile64 F
+GLIBC_2.17 sendmmsg F
+GLIBC_2.17 sendmsg F
+GLIBC_2.17 sendto F
+GLIBC_2.17 setaliasent F
+GLIBC_2.17 setbuf F
+GLIBC_2.17 setbuffer F
+GLIBC_2.17 setcontext F
+GLIBC_2.17 setdomainname F
+GLIBC_2.17 setegid F
+GLIBC_2.17 setenv F
+GLIBC_2.17 seteuid F
+GLIBC_2.17 setfsent F
+GLIBC_2.17 setfsgid F
+GLIBC_2.17 setfsuid F
+GLIBC_2.17 setgid F
+GLIBC_2.17 setgrent F
+GLIBC_2.17 setgroups F
+GLIBC_2.17 sethostent F
+GLIBC_2.17 sethostid F
+GLIBC_2.17 sethostname F
+GLIBC_2.17 setipv4sourcefilter F
+GLIBC_2.17 setitimer F
+GLIBC_2.17 setjmp F
+GLIBC_2.17 setlinebuf F
+GLIBC_2.17 setlocale F
+GLIBC_2.17 setlogin F
+GLIBC_2.17 setlogmask F
+GLIBC_2.17 setmntent F
+GLIBC_2.17 setnetent F
+GLIBC_2.17 setnetgrent F
+GLIBC_2.17 setns F
+GLIBC_2.17 setpgid F
+GLIBC_2.17 setpgrp F
+GLIBC_2.17 setpriority F
+GLIBC_2.17 setprotoent F
+GLIBC_2.17 setpwent F
+GLIBC_2.17 setregid F
+GLIBC_2.17 setresgid F
+GLIBC_2.17 setresuid F
+GLIBC_2.17 setreuid F
+GLIBC_2.17 setrlimit F
+GLIBC_2.17 setrlimit64 F
+GLIBC_2.17 setrpcent F
+GLIBC_2.17 setservent F
+GLIBC_2.17 setsgent F
+GLIBC_2.17 setsid F
+GLIBC_2.17 setsockopt F
+GLIBC_2.17 setsourcefilter F
+GLIBC_2.17 setspent F
+GLIBC_2.17 setstate F
+GLIBC_2.17 setstate_r F
+GLIBC_2.17 settimeofday F
+GLIBC_2.17 setttyent F
+GLIBC_2.17 setuid F
+GLIBC_2.17 setusershell F
+GLIBC_2.17 setutent F
+GLIBC_2.17 setutxent F
+GLIBC_2.17 setvbuf F
+GLIBC_2.17 setxattr F
+GLIBC_2.17 sgetsgent F
+GLIBC_2.17 sgetsgent_r F
+GLIBC_2.17 sgetspent F
+GLIBC_2.17 sgetspent_r F
+GLIBC_2.17 shmat F
+GLIBC_2.17 shmctl F
+GLIBC_2.17 shmdt F
+GLIBC_2.17 shmget F
+GLIBC_2.17 shutdown F
+GLIBC_2.17 sigaction F
+GLIBC_2.17 sigaddset F
+GLIBC_2.17 sigaltstack F
+GLIBC_2.17 sigandset F
+GLIBC_2.17 sigblock F
+GLIBC_2.17 sigdelset F
+GLIBC_2.17 sigemptyset F
+GLIBC_2.17 sigfillset F
+GLIBC_2.17 siggetmask F
+GLIBC_2.17 sighold F
+GLIBC_2.17 sigignore F
+GLIBC_2.17 siginterrupt F
+GLIBC_2.17 sigisemptyset F
+GLIBC_2.17 sigismember F
+GLIBC_2.17 siglongjmp F
+GLIBC_2.17 signal F
+GLIBC_2.17 signalfd F
+GLIBC_2.17 sigorset F
+GLIBC_2.17 sigpause F
+GLIBC_2.17 sigpending F
+GLIBC_2.17 sigprocmask F
+GLIBC_2.17 sigqueue F
+GLIBC_2.17 sigrelse F
+GLIBC_2.17 sigreturn F
+GLIBC_2.17 sigset F
+GLIBC_2.17 sigsetmask F
+GLIBC_2.17 sigstack F
+GLIBC_2.17 sigsuspend F
+GLIBC_2.17 sigtimedwait F
+GLIBC_2.17 sigvec F
+GLIBC_2.17 sigwait F
+GLIBC_2.17 sigwaitinfo F
+GLIBC_2.17 sleep F
+GLIBC_2.17 snprintf F
+GLIBC_2.17 sockatmark F
+GLIBC_2.17 socket F
+GLIBC_2.17 socketpair F
+GLIBC_2.17 splice F
+GLIBC_2.17 sprintf F
+GLIBC_2.17 sprofil F
+GLIBC_2.17 srand F
+GLIBC_2.17 srand48 F
+GLIBC_2.17 srand48_r F
+GLIBC_2.17 srandom F
+GLIBC_2.17 srandom_r F
+GLIBC_2.17 sscanf F
+GLIBC_2.17 ssignal F
+GLIBC_2.17 sstk F
+GLIBC_2.17 statfs F
+GLIBC_2.17 statfs64 F
+GLIBC_2.17 statvfs F
+GLIBC_2.17 statvfs64 F
+GLIBC_2.17 stderr D 0x8
+GLIBC_2.17 stdin D 0x8
+GLIBC_2.17 stdout D 0x8
+GLIBC_2.17 step F
+GLIBC_2.17 stime F
+GLIBC_2.17 stpcpy F
+GLIBC_2.17 stpncpy F
+GLIBC_2.17 strcasecmp F
+GLIBC_2.17 strcasecmp_l F
+GLIBC_2.17 strcasestr F
+GLIBC_2.17 strcat F
+GLIBC_2.17 strchr F
+GLIBC_2.17 strchrnul F
+GLIBC_2.17 strcmp F
+GLIBC_2.17 strcoll F
+GLIBC_2.17 strcoll_l F
+GLIBC_2.17 strcpy F
+GLIBC_2.17 strcspn F
+GLIBC_2.17 strdup F
+GLIBC_2.17 strerror F
+GLIBC_2.17 strerror_l F
+GLIBC_2.17 strerror_r F
+GLIBC_2.17 strfmon F
+GLIBC_2.17 strfmon_l F
+GLIBC_2.17 strfry F
+GLIBC_2.17 strftime F
+GLIBC_2.17 strftime_l F
+GLIBC_2.17 strlen F
+GLIBC_2.17 strncasecmp F
+GLIBC_2.17 strncasecmp_l F
+GLIBC_2.17 strncat F
+GLIBC_2.17 strncmp F
+GLIBC_2.17 strncpy F
+GLIBC_2.17 strndup F
+GLIBC_2.17 strnlen F
+GLIBC_2.17 strpbrk F
+GLIBC_2.17 strptime F
+GLIBC_2.17 strptime_l F
+GLIBC_2.17 strrchr F
+GLIBC_2.17 strsep F
+GLIBC_2.17 strsignal F
+GLIBC_2.17 strspn F
+GLIBC_2.17 strstr F
+GLIBC_2.17 strtod F
+GLIBC_2.17 strtod_l F
+GLIBC_2.17 strtof F
+GLIBC_2.17 strtof_l F
+GLIBC_2.17 strtoimax F
+GLIBC_2.17 strtok F
+GLIBC_2.17 strtok_r F
+GLIBC_2.17 strtol F
+GLIBC_2.17 strtol_l F
+GLIBC_2.17 strtold F
+GLIBC_2.17 strtold_l F
+GLIBC_2.17 strtoll F
+GLIBC_2.17 strtoll_l F
+GLIBC_2.17 strtoq F
+GLIBC_2.17 strtoul F
+GLIBC_2.17 strtoul_l F
+GLIBC_2.17 strtoull F
+GLIBC_2.17 strtoull_l F
+GLIBC_2.17 strtoumax F
+GLIBC_2.17 strtouq F
+GLIBC_2.17 strverscmp F
+GLIBC_2.17 strxfrm F
+GLIBC_2.17 strxfrm_l F
+GLIBC_2.17 stty F
+GLIBC_2.17 svc_exit F
+GLIBC_2.17 svc_fdset D 0x80
+GLIBC_2.17 svc_getreq F
+GLIBC_2.17 svc_getreq_common F
+GLIBC_2.17 svc_getreq_poll F
+GLIBC_2.17 svc_getreqset F
+GLIBC_2.17 svc_max_pollfd D 0x4
+GLIBC_2.17 svc_pollfd D 0x8
+GLIBC_2.17 svc_register F
+GLIBC_2.17 svc_run F
+GLIBC_2.17 svc_sendreply F
+GLIBC_2.17 svc_unregister F
+GLIBC_2.17 svcauthdes_stats D 0x18
+GLIBC_2.17 svcerr_auth F
+GLIBC_2.17 svcerr_decode F
+GLIBC_2.17 svcerr_noproc F
+GLIBC_2.17 svcerr_noprog F
+GLIBC_2.17 svcerr_progvers F
+GLIBC_2.17 svcerr_systemerr F
+GLIBC_2.17 svcerr_weakauth F
+GLIBC_2.17 svcfd_create F
+GLIBC_2.17 svcraw_create F
+GLIBC_2.17 svctcp_create F
+GLIBC_2.17 svcudp_bufcreate F
+GLIBC_2.17 svcudp_create F
+GLIBC_2.17 svcudp_enablecache F
+GLIBC_2.17 svcunix_create F
+GLIBC_2.17 svcunixfd_create F
+GLIBC_2.17 swab F
+GLIBC_2.17 swapcontext F
+GLIBC_2.17 swapoff F
+GLIBC_2.17 swapon F
+GLIBC_2.17 swprintf F
+GLIBC_2.17 swscanf F
+GLIBC_2.17 symlink F
+GLIBC_2.17 symlinkat F
+GLIBC_2.17 sync F
+GLIBC_2.17 sync_file_range F
+GLIBC_2.17 syncfs F
+GLIBC_2.17 sys_errlist D 0x438
+GLIBC_2.17 sys_nerr D 0x4
+GLIBC_2.17 sys_sigabbrev D 0x208
+GLIBC_2.17 sys_siglist D 0x208
+GLIBC_2.17 syscall F
+GLIBC_2.17 sysconf F
+GLIBC_2.17 sysctl F
+GLIBC_2.17 sysinfo F
+GLIBC_2.17 syslog F
+GLIBC_2.17 system F
+GLIBC_2.17 sysv_signal F
+GLIBC_2.17 tcdrain F
+GLIBC_2.17 tcflow F
+GLIBC_2.17 tcflush F
+GLIBC_2.17 tcgetattr F
+GLIBC_2.17 tcgetpgrp F
+GLIBC_2.17 tcgetsid F
+GLIBC_2.17 tcsendbreak F
+GLIBC_2.17 tcsetattr F
+GLIBC_2.17 tcsetpgrp F
+GLIBC_2.17 tdelete F
+GLIBC_2.17 tdestroy F
+GLIBC_2.17 tee F
+GLIBC_2.17 telldir F
+GLIBC_2.17 tempnam F
+GLIBC_2.17 textdomain F
+GLIBC_2.17 tfind F
+GLIBC_2.17 time F
+GLIBC_2.17 timegm F
+GLIBC_2.17 timelocal F
+GLIBC_2.17 timerfd_create F
+GLIBC_2.17 timerfd_gettime F
+GLIBC_2.17 timerfd_settime F
+GLIBC_2.17 times F
+GLIBC_2.17 timespec_get F
+GLIBC_2.17 timezone D 0x8
+GLIBC_2.17 tmpfile F
+GLIBC_2.17 tmpfile64 F
+GLIBC_2.17 tmpnam F
+GLIBC_2.17 tmpnam_r F
+GLIBC_2.17 toascii F
+GLIBC_2.17 tolower F
+GLIBC_2.17 tolower_l F
+GLIBC_2.17 toupper F
+GLIBC_2.17 toupper_l F
+GLIBC_2.17 towctrans F
+GLIBC_2.17 towctrans_l F
+GLIBC_2.17 towlower F
+GLIBC_2.17 towlower_l F
+GLIBC_2.17 towupper F
+GLIBC_2.17 towupper_l F
+GLIBC_2.17 tr_break F
+GLIBC_2.17 truncate F
+GLIBC_2.17 truncate64 F
+GLIBC_2.17 tsearch F
+GLIBC_2.17 ttyname F
+GLIBC_2.17 ttyname_r F
+GLIBC_2.17 ttyslot F
+GLIBC_2.17 twalk F
+GLIBC_2.17 tzname D 0x10
+GLIBC_2.17 tzset F
+GLIBC_2.17 ualarm F
+GLIBC_2.17 ulckpwdf F
+GLIBC_2.17 ulimit F
+GLIBC_2.17 umask F
+GLIBC_2.17 umount F
+GLIBC_2.17 umount2 F
+GLIBC_2.17 uname F
+GLIBC_2.17 ungetc F
+GLIBC_2.17 ungetwc F
+GLIBC_2.17 unlink F
+GLIBC_2.17 unlinkat F
+GLIBC_2.17 unlockpt F
+GLIBC_2.17 unsetenv F
+GLIBC_2.17 unshare F
+GLIBC_2.17 updwtmp F
+GLIBC_2.17 updwtmpx F
+GLIBC_2.17 uselib F
+GLIBC_2.17 uselocale F
+GLIBC_2.17 user2netname F
+GLIBC_2.17 usleep F
+GLIBC_2.17 ustat F
+GLIBC_2.17 utime F
+GLIBC_2.17 utimensat F
+GLIBC_2.17 utimes F
+GLIBC_2.17 utmpname F
+GLIBC_2.17 utmpxname F
+GLIBC_2.17 valloc F
+GLIBC_2.17 vasprintf F
+GLIBC_2.17 vdprintf F
+GLIBC_2.17 verr F
+GLIBC_2.17 verrx F
+GLIBC_2.17 versionsort F
+GLIBC_2.17 versionsort64 F
+GLIBC_2.17 vfork F
+GLIBC_2.17 vfprintf F
+GLIBC_2.17 vfscanf F
+GLIBC_2.17 vfwprintf F
+GLIBC_2.17 vfwscanf F
+GLIBC_2.17 vhangup F
+GLIBC_2.17 vlimit F
+GLIBC_2.17 vmsplice F
+GLIBC_2.17 vprintf F
+GLIBC_2.17 vscanf F
+GLIBC_2.17 vsnprintf F
+GLIBC_2.17 vsprintf F
+GLIBC_2.17 vsscanf F
+GLIBC_2.17 vswprintf F
+GLIBC_2.17 vswscanf F
+GLIBC_2.17 vsyslog F
+GLIBC_2.17 vtimes F
+GLIBC_2.17 vwarn F
+GLIBC_2.17 vwarnx F
+GLIBC_2.17 vwprintf F
+GLIBC_2.17 vwscanf F
+GLIBC_2.17 wait F
+GLIBC_2.17 wait3 F
+GLIBC_2.17 wait4 F
+GLIBC_2.17 waitid F
+GLIBC_2.17 waitpid F
+GLIBC_2.17 warn F
+GLIBC_2.17 warnx F
+GLIBC_2.17 wcpcpy F
+GLIBC_2.17 wcpncpy F
+GLIBC_2.17 wcrtomb F
+GLIBC_2.17 wcscasecmp F
+GLIBC_2.17 wcscasecmp_l F
+GLIBC_2.17 wcscat F
+GLIBC_2.17 wcschr F
+GLIBC_2.17 wcschrnul F
+GLIBC_2.17 wcscmp F
+GLIBC_2.17 wcscoll F
+GLIBC_2.17 wcscoll_l F
+GLIBC_2.17 wcscpy F
+GLIBC_2.17 wcscspn F
+GLIBC_2.17 wcsdup F
+GLIBC_2.17 wcsftime F
+GLIBC_2.17 wcsftime_l F
+GLIBC_2.17 wcslen F
+GLIBC_2.17 wcsncasecmp F
+GLIBC_2.17 wcsncasecmp_l F
+GLIBC_2.17 wcsncat F
+GLIBC_2.17 wcsncmp F
+GLIBC_2.17 wcsncpy F
+GLIBC_2.17 wcsnlen F
+GLIBC_2.17 wcsnrtombs F
+GLIBC_2.17 wcspbrk F
+GLIBC_2.17 wcsrchr F
+GLIBC_2.17 wcsrtombs F
+GLIBC_2.17 wcsspn F
+GLIBC_2.17 wcsstr F
+GLIBC_2.17 wcstod F
+GLIBC_2.17 wcstod_l F
+GLIBC_2.17 wcstof F
+GLIBC_2.17 wcstof_l F
+GLIBC_2.17 wcstoimax F
+GLIBC_2.17 wcstok F
+GLIBC_2.17 wcstol F
+GLIBC_2.17 wcstol_l F
+GLIBC_2.17 wcstold F
+GLIBC_2.17 wcstold_l F
+GLIBC_2.17 wcstoll F
+GLIBC_2.17 wcstoll_l F
+GLIBC_2.17 wcstombs F
+GLIBC_2.17 wcstoq F
+GLIBC_2.17 wcstoul F
+GLIBC_2.17 wcstoul_l F
+GLIBC_2.17 wcstoull F
+GLIBC_2.17 wcstoull_l F
+GLIBC_2.17 wcstoumax F
+GLIBC_2.17 wcstouq F
+GLIBC_2.17 wcswcs F
+GLIBC_2.17 wcswidth F
+GLIBC_2.17 wcsxfrm F
+GLIBC_2.17 wcsxfrm_l F
+GLIBC_2.17 wctob F
+GLIBC_2.17 wctomb F
+GLIBC_2.17 wctrans F
+GLIBC_2.17 wctrans_l F
+GLIBC_2.17 wctype F
+GLIBC_2.17 wctype_l F
+GLIBC_2.17 wcwidth F
+GLIBC_2.17 wmemchr F
+GLIBC_2.17 wmemcmp F
+GLIBC_2.17 wmemcpy F
+GLIBC_2.17 wmemmove F
+GLIBC_2.17 wmempcpy F
+GLIBC_2.17 wmemset F
+GLIBC_2.17 wordexp F
+GLIBC_2.17 wordfree F
+GLIBC_2.17 wprintf F
+GLIBC_2.17 write F
+GLIBC_2.17 writev F
+GLIBC_2.17 wscanf F
+GLIBC_2.17 xdecrypt F
+GLIBC_2.17 xdr_accepted_reply F
+GLIBC_2.17 xdr_array F
+GLIBC_2.17 xdr_authdes_cred F
+GLIBC_2.17 xdr_authdes_verf F
+GLIBC_2.17 xdr_authunix_parms F
+GLIBC_2.17 xdr_bool F
+GLIBC_2.17 xdr_bytes F
+GLIBC_2.17 xdr_callhdr F
+GLIBC_2.17 xdr_callmsg F
+GLIBC_2.17 xdr_char F
+GLIBC_2.17 xdr_cryptkeyarg F
+GLIBC_2.17 xdr_cryptkeyarg2 F
+GLIBC_2.17 xdr_cryptkeyres F
+GLIBC_2.17 xdr_des_block F
+GLIBC_2.17 xdr_double F
+GLIBC_2.17 xdr_enum F
+GLIBC_2.17 xdr_float F
+GLIBC_2.17 xdr_free F
+GLIBC_2.17 xdr_getcredres F
+GLIBC_2.17 xdr_hyper F
+GLIBC_2.17 xdr_int F
+GLIBC_2.17 xdr_int16_t F
+GLIBC_2.17 xdr_int32_t F
+GLIBC_2.17 xdr_int64_t F
+GLIBC_2.17 xdr_int8_t F
+GLIBC_2.17 xdr_key_netstarg F
+GLIBC_2.17 xdr_key_netstres F
+GLIBC_2.17 xdr_keybuf F
+GLIBC_2.17 xdr_keystatus F
+GLIBC_2.17 xdr_long F
+GLIBC_2.17 xdr_longlong_t F
+GLIBC_2.17 xdr_netnamestr F
+GLIBC_2.17 xdr_netobj F
+GLIBC_2.17 xdr_opaque F
+GLIBC_2.17 xdr_opaque_auth F
+GLIBC_2.17 xdr_pmap F
+GLIBC_2.17 xdr_pmaplist F
+GLIBC_2.17 xdr_pointer F
+GLIBC_2.17 xdr_quad_t F
+GLIBC_2.17 xdr_reference F
+GLIBC_2.17 xdr_rejected_reply F
+GLIBC_2.17 xdr_replymsg F
+GLIBC_2.17 xdr_rmtcall_args F
+GLIBC_2.17 xdr_rmtcallres F
+GLIBC_2.17 xdr_short F
+GLIBC_2.17 xdr_sizeof F
+GLIBC_2.17 xdr_string F
+GLIBC_2.17 xdr_u_char F
+GLIBC_2.17 xdr_u_hyper F
+GLIBC_2.17 xdr_u_int F
+GLIBC_2.17 xdr_u_long F
+GLIBC_2.17 xdr_u_longlong_t F
+GLIBC_2.17 xdr_u_quad_t F
+GLIBC_2.17 xdr_u_short F
+GLIBC_2.17 xdr_uint16_t F
+GLIBC_2.17 xdr_uint32_t F
+GLIBC_2.17 xdr_uint64_t F
+GLIBC_2.17 xdr_uint8_t F
+GLIBC_2.17 xdr_union F
+GLIBC_2.17 xdr_unixcred F
+GLIBC_2.17 xdr_vector F
+GLIBC_2.17 xdr_void F
+GLIBC_2.17 xdr_wrapstring F
+GLIBC_2.17 xdrmem_create F
+GLIBC_2.17 xdrrec_create F
+GLIBC_2.17 xdrrec_endofrecord F
+GLIBC_2.17 xdrrec_eof F
+GLIBC_2.17 xdrrec_skiprecord F
+GLIBC_2.17 xdrstdio_create F
+GLIBC_2.17 xencrypt F
+GLIBC_2.17 xprt_register F
+GLIBC_2.17 xprt_unregister F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.18 _mcount F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist
new file mode 100644
index 0000000000..58944b3d83
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 crypt F
+GLIBC_2.17 crypt_r F
+GLIBC_2.17 encrypt F
+GLIBC_2.17 encrypt_r F
+GLIBC_2.17 fcrypt F
+GLIBC_2.17 setkey F
+GLIBC_2.17 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
new file mode 100644
index 0000000000..1b4b1f77ed
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libdl.abilist
@@ -0,0 +1,10 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 dladdr F
+GLIBC_2.17 dladdr1 F
+GLIBC_2.17 dlclose F
+GLIBC_2.17 dlerror F
+GLIBC_2.17 dlinfo F
+GLIBC_2.17 dlmopen F
+GLIBC_2.17 dlopen F
+GLIBC_2.17 dlsym F
+GLIBC_2.17 dlvsym F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist
new file mode 100644
index 0000000000..6266864ea7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -0,0 +1,462 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _LIB_VERSION D 0x4
+GLIBC_2.17 __acos_finite F
+GLIBC_2.17 __acosf_finite F
+GLIBC_2.17 __acosh_finite F
+GLIBC_2.17 __acoshf_finite F
+GLIBC_2.17 __acoshl_finite F
+GLIBC_2.17 __acosl_finite F
+GLIBC_2.17 __asin_finite F
+GLIBC_2.17 __asinf_finite F
+GLIBC_2.17 __asinl_finite F
+GLIBC_2.17 __atan2_finite F
+GLIBC_2.17 __atan2f_finite F
+GLIBC_2.17 __atan2l_finite F
+GLIBC_2.17 __atanh_finite F
+GLIBC_2.17 __atanhf_finite F
+GLIBC_2.17 __atanhl_finite F
+GLIBC_2.17 __clog10 F
+GLIBC_2.17 __clog10f F
+GLIBC_2.17 __clog10l F
+GLIBC_2.17 __cosh_finite F
+GLIBC_2.17 __coshf_finite F
+GLIBC_2.17 __coshl_finite F
+GLIBC_2.17 __exp10_finite F
+GLIBC_2.17 __exp10f_finite F
+GLIBC_2.17 __exp10l_finite F
+GLIBC_2.17 __exp2_finite F
+GLIBC_2.17 __exp2f_finite F
+GLIBC_2.17 __exp2l_finite F
+GLIBC_2.17 __exp_finite F
+GLIBC_2.17 __expf_finite F
+GLIBC_2.17 __expl_finite F
+GLIBC_2.17 __finite F
+GLIBC_2.17 __finitef F
+GLIBC_2.17 __finitel F
+GLIBC_2.17 __fmod_finite F
+GLIBC_2.17 __fmodf_finite F
+GLIBC_2.17 __fmodl_finite F
+GLIBC_2.17 __fpclassify F
+GLIBC_2.17 __fpclassifyf F
+GLIBC_2.17 __fpclassifyl F
+GLIBC_2.17 __gamma_r_finite F
+GLIBC_2.17 __gammaf_r_finite F
+GLIBC_2.17 __gammal_r_finite F
+GLIBC_2.17 __hypot_finite F
+GLIBC_2.17 __hypotf_finite F
+GLIBC_2.17 __hypotl_finite F
+GLIBC_2.17 __j0_finite F
+GLIBC_2.17 __j0f_finite F
+GLIBC_2.17 __j0l_finite F
+GLIBC_2.17 __j1_finite F
+GLIBC_2.17 __j1f_finite F
+GLIBC_2.17 __j1l_finite F
+GLIBC_2.17 __jn_finite F
+GLIBC_2.17 __jnf_finite F
+GLIBC_2.17 __jnl_finite F
+GLIBC_2.17 __lgamma_r_finite F
+GLIBC_2.17 __lgammaf_r_finite F
+GLIBC_2.17 __lgammal_r_finite F
+GLIBC_2.17 __log10_finite F
+GLIBC_2.17 __log10f_finite F
+GLIBC_2.17 __log10l_finite F
+GLIBC_2.17 __log2_finite F
+GLIBC_2.17 __log2f_finite F
+GLIBC_2.17 __log2l_finite F
+GLIBC_2.17 __log_finite F
+GLIBC_2.17 __logf_finite F
+GLIBC_2.17 __logl_finite F
+GLIBC_2.17 __pow_finite F
+GLIBC_2.17 __powf_finite F
+GLIBC_2.17 __powl_finite F
+GLIBC_2.17 __remainder_finite F
+GLIBC_2.17 __remainderf_finite F
+GLIBC_2.17 __remainderl_finite F
+GLIBC_2.17 __scalb_finite F
+GLIBC_2.17 __scalbf_finite F
+GLIBC_2.17 __scalbl_finite F
+GLIBC_2.17 __signbit F
+GLIBC_2.17 __signbitf F
+GLIBC_2.17 __signbitl F
+GLIBC_2.17 __sinh_finite F
+GLIBC_2.17 __sinhf_finite F
+GLIBC_2.17 __sinhl_finite F
+GLIBC_2.17 __sqrt_finite F
+GLIBC_2.17 __sqrtf_finite F
+GLIBC_2.17 __sqrtl_finite F
+GLIBC_2.17 __y0_finite F
+GLIBC_2.17 __y0f_finite F
+GLIBC_2.17 __y0l_finite F
+GLIBC_2.17 __y1_finite F
+GLIBC_2.17 __y1f_finite F
+GLIBC_2.17 __y1l_finite F
+GLIBC_2.17 __yn_finite F
+GLIBC_2.17 __ynf_finite F
+GLIBC_2.17 __ynl_finite F
+GLIBC_2.17 acos F
+GLIBC_2.17 acosf F
+GLIBC_2.17 acosh F
+GLIBC_2.17 acoshf F
+GLIBC_2.17 acoshl F
+GLIBC_2.17 acosl F
+GLIBC_2.17 asin F
+GLIBC_2.17 asinf F
+GLIBC_2.17 asinh F
+GLIBC_2.17 asinhf F
+GLIBC_2.17 asinhl F
+GLIBC_2.17 asinl F
+GLIBC_2.17 atan F
+GLIBC_2.17 atan2 F
+GLIBC_2.17 atan2f F
+GLIBC_2.17 atan2l F
+GLIBC_2.17 atanf F
+GLIBC_2.17 atanh F
+GLIBC_2.17 atanhf F
+GLIBC_2.17 atanhl F
+GLIBC_2.17 atanl F
+GLIBC_2.17 cabs F
+GLIBC_2.17 cabsf F
+GLIBC_2.17 cabsl F
+GLIBC_2.17 cacos F
+GLIBC_2.17 cacosf F
+GLIBC_2.17 cacosh F
+GLIBC_2.17 cacoshf F
+GLIBC_2.17 cacoshl F
+GLIBC_2.17 cacosl F
+GLIBC_2.17 carg F
+GLIBC_2.17 cargf F
+GLIBC_2.17 cargl F
+GLIBC_2.17 casin F
+GLIBC_2.17 casinf F
+GLIBC_2.17 casinh F
+GLIBC_2.17 casinhf F
+GLIBC_2.17 casinhl F
+GLIBC_2.17 casinl F
+GLIBC_2.17 catan F
+GLIBC_2.17 catanf F
+GLIBC_2.17 catanh F
+GLIBC_2.17 catanhf F
+GLIBC_2.17 catanhl F
+GLIBC_2.17 catanl F
+GLIBC_2.17 cbrt F
+GLIBC_2.17 cbrtf F
+GLIBC_2.17 cbrtl F
+GLIBC_2.17 ccos F
+GLIBC_2.17 ccosf F
+GLIBC_2.17 ccosh F
+GLIBC_2.17 ccoshf F
+GLIBC_2.17 ccoshl F
+GLIBC_2.17 ccosl F
+GLIBC_2.17 ceil F
+GLIBC_2.17 ceilf F
+GLIBC_2.17 ceill F
+GLIBC_2.17 cexp F
+GLIBC_2.17 cexpf F
+GLIBC_2.17 cexpl F
+GLIBC_2.17 cimag F
+GLIBC_2.17 cimagf F
+GLIBC_2.17 cimagl F
+GLIBC_2.17 clog F
+GLIBC_2.17 clog10 F
+GLIBC_2.17 clog10f F
+GLIBC_2.17 clog10l F
+GLIBC_2.17 clogf F
+GLIBC_2.17 clogl F
+GLIBC_2.17 conj F
+GLIBC_2.17 conjf F
+GLIBC_2.17 conjl F
+GLIBC_2.17 copysign F
+GLIBC_2.17 copysignf F
+GLIBC_2.17 copysignl F
+GLIBC_2.17 cos F
+GLIBC_2.17 cosf F
+GLIBC_2.17 cosh F
+GLIBC_2.17 coshf F
+GLIBC_2.17 coshl F
+GLIBC_2.17 cosl F
+GLIBC_2.17 cpow F
+GLIBC_2.17 cpowf F
+GLIBC_2.17 cpowl F
+GLIBC_2.17 cproj F
+GLIBC_2.17 cprojf F
+GLIBC_2.17 cprojl F
+GLIBC_2.17 creal F
+GLIBC_2.17 crealf F
+GLIBC_2.17 creall F
+GLIBC_2.17 csin F
+GLIBC_2.17 csinf F
+GLIBC_2.17 csinh F
+GLIBC_2.17 csinhf F
+GLIBC_2.17 csinhl F
+GLIBC_2.17 csinl F
+GLIBC_2.17 csqrt F
+GLIBC_2.17 csqrtf F
+GLIBC_2.17 csqrtl F
+GLIBC_2.17 ctan F
+GLIBC_2.17 ctanf F
+GLIBC_2.17 ctanh F
+GLIBC_2.17 ctanhf F
+GLIBC_2.17 ctanhl F
+GLIBC_2.17 ctanl F
+GLIBC_2.17 drem F
+GLIBC_2.17 dremf F
+GLIBC_2.17 dreml F
+GLIBC_2.17 erf F
+GLIBC_2.17 erfc F
+GLIBC_2.17 erfcf F
+GLIBC_2.17 erfcl F
+GLIBC_2.17 erff F
+GLIBC_2.17 erfl F
+GLIBC_2.17 exp F
+GLIBC_2.17 exp10 F
+GLIBC_2.17 exp10f F
+GLIBC_2.17 exp10l F
+GLIBC_2.17 exp2 F
+GLIBC_2.17 exp2f F
+GLIBC_2.17 exp2l F
+GLIBC_2.17 expf F
+GLIBC_2.17 expl F
+GLIBC_2.17 expm1 F
+GLIBC_2.17 expm1f F
+GLIBC_2.17 expm1l F
+GLIBC_2.17 fabs F
+GLIBC_2.17 fabsf F
+GLIBC_2.17 fabsl F
+GLIBC_2.17 fdim F
+GLIBC_2.17 fdimf F
+GLIBC_2.17 fdiml F
+GLIBC_2.17 feclearexcept F
+GLIBC_2.17 fedisableexcept F
+GLIBC_2.17 feenableexcept F
+GLIBC_2.17 fegetenv F
+GLIBC_2.17 fegetexcept F
+GLIBC_2.17 fegetexceptflag F
+GLIBC_2.17 fegetround F
+GLIBC_2.17 feholdexcept F
+GLIBC_2.17 feraiseexcept F
+GLIBC_2.17 fesetenv F
+GLIBC_2.17 fesetexceptflag F
+GLIBC_2.17 fesetround F
+GLIBC_2.17 fetestexcept F
+GLIBC_2.17 feupdateenv F
+GLIBC_2.17 finite F
+GLIBC_2.17 finitef F
+GLIBC_2.17 finitel F
+GLIBC_2.17 floor F
+GLIBC_2.17 floorf F
+GLIBC_2.17 floorl F
+GLIBC_2.17 fma F
+GLIBC_2.17 fmaf F
+GLIBC_2.17 fmal F
+GLIBC_2.17 fmax F
+GLIBC_2.17 fmaxf F
+GLIBC_2.17 fmaxl F
+GLIBC_2.17 fmin F
+GLIBC_2.17 fminf F
+GLIBC_2.17 fminl F
+GLIBC_2.17 fmod F
+GLIBC_2.17 fmodf F
+GLIBC_2.17 fmodl F
+GLIBC_2.17 frexp F
+GLIBC_2.17 frexpf F
+GLIBC_2.17 frexpl F
+GLIBC_2.17 gamma F
+GLIBC_2.17 gammaf F
+GLIBC_2.17 gammal F
+GLIBC_2.17 hypot F
+GLIBC_2.17 hypotf F
+GLIBC_2.17 hypotl F
+GLIBC_2.17 ilogb F
+GLIBC_2.17 ilogbf F
+GLIBC_2.17 ilogbl F
+GLIBC_2.17 j0 F
+GLIBC_2.17 j0f F
+GLIBC_2.17 j0l F
+GLIBC_2.17 j1 F
+GLIBC_2.17 j1f F
+GLIBC_2.17 j1l F
+GLIBC_2.17 jn F
+GLIBC_2.17 jnf F
+GLIBC_2.17 jnl F
+GLIBC_2.17 ldexp F
+GLIBC_2.17 ldexpf F
+GLIBC_2.17 ldexpl F
+GLIBC_2.17 lgamma F
+GLIBC_2.17 lgamma_r F
+GLIBC_2.17 lgammaf F
+GLIBC_2.17 lgammaf_r F
+GLIBC_2.17 lgammal F
+GLIBC_2.17 lgammal_r F
+GLIBC_2.17 llrint F
+GLIBC_2.17 llrintf F
+GLIBC_2.17 llrintl F
+GLIBC_2.17 llround F
+GLIBC_2.17 llroundf F
+GLIBC_2.17 llroundl F
+GLIBC_2.17 log F
+GLIBC_2.17 log10 F
+GLIBC_2.17 log10f F
+GLIBC_2.17 log10l F
+GLIBC_2.17 log1p F
+GLIBC_2.17 log1pf F
+GLIBC_2.17 log1pl F
+GLIBC_2.17 log2 F
+GLIBC_2.17 log2f F
+GLIBC_2.17 log2l F
+GLIBC_2.17 logb F
+GLIBC_2.17 logbf F
+GLIBC_2.17 logbl F
+GLIBC_2.17 logf F
+GLIBC_2.17 logl F
+GLIBC_2.17 lrint F
+GLIBC_2.17 lrintf F
+GLIBC_2.17 lrintl F
+GLIBC_2.17 lround F
+GLIBC_2.17 lroundf F
+GLIBC_2.17 lroundl F
+GLIBC_2.17 matherr F
+GLIBC_2.17 modf F
+GLIBC_2.17 modff F
+GLIBC_2.17 modfl F
+GLIBC_2.17 nan F
+GLIBC_2.17 nanf F
+GLIBC_2.17 nanl F
+GLIBC_2.17 nearbyint F
+GLIBC_2.17 nearbyintf F
+GLIBC_2.17 nearbyintl F
+GLIBC_2.17 nextafter F
+GLIBC_2.17 nextafterf F
+GLIBC_2.17 nextafterl F
+GLIBC_2.17 nexttoward F
+GLIBC_2.17 nexttowardf F
+GLIBC_2.17 nexttowardl F
+GLIBC_2.17 pow F
+GLIBC_2.17 pow10 F
+GLIBC_2.17 pow10f F
+GLIBC_2.17 pow10l F
+GLIBC_2.17 powf F
+GLIBC_2.17 powl F
+GLIBC_2.17 remainder F
+GLIBC_2.17 remainderf F
+GLIBC_2.17 remainderl F
+GLIBC_2.17 remquo F
+GLIBC_2.17 remquof F
+GLIBC_2.17 remquol F
+GLIBC_2.17 rint F
+GLIBC_2.17 rintf F
+GLIBC_2.17 rintl F
+GLIBC_2.17 round F
+GLIBC_2.17 roundf F
+GLIBC_2.17 roundl F
+GLIBC_2.17 scalb F
+GLIBC_2.17 scalbf F
+GLIBC_2.17 scalbl F
+GLIBC_2.17 scalbln F
+GLIBC_2.17 scalblnf F
+GLIBC_2.17 scalblnl F
+GLIBC_2.17 scalbn F
+GLIBC_2.17 scalbnf F
+GLIBC_2.17 scalbnl F
+GLIBC_2.17 signgam D 0x4
+GLIBC_2.17 significand F
+GLIBC_2.17 significandf F
+GLIBC_2.17 significandl F
+GLIBC_2.17 sin F
+GLIBC_2.17 sincos F
+GLIBC_2.17 sincosf F
+GLIBC_2.17 sincosl F
+GLIBC_2.17 sinf F
+GLIBC_2.17 sinh F
+GLIBC_2.17 sinhf F
+GLIBC_2.17 sinhl F
+GLIBC_2.17 sinl F
+GLIBC_2.17 sqrt F
+GLIBC_2.17 sqrtf F
+GLIBC_2.17 sqrtl F
+GLIBC_2.17 tan F
+GLIBC_2.17 tanf F
+GLIBC_2.17 tanh F
+GLIBC_2.17 tanhf F
+GLIBC_2.17 tanhl F
+GLIBC_2.17 tanl F
+GLIBC_2.17 tgamma F
+GLIBC_2.17 tgammaf F
+GLIBC_2.17 tgammal F
+GLIBC_2.17 trunc F
+GLIBC_2.17 truncf F
+GLIBC_2.17 truncl F
+GLIBC_2.17 y0 F
+GLIBC_2.17 y0f F
+GLIBC_2.17 y0l F
+GLIBC_2.17 y1 F
+GLIBC_2.17 y1f F
+GLIBC_2.17 y1l F
+GLIBC_2.17 yn F
+GLIBC_2.17 ynf F
+GLIBC_2.17 ynl F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 __signgam D 0x4
+GLIBC_2.23 lgamma F
+GLIBC_2.23 lgammaf F
+GLIBC_2.23 lgammal F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 nextdown F
+GLIBC_2.24 nextdownf F
+GLIBC_2.24 nextdownl F
+GLIBC_2.24 nextup F
+GLIBC_2.24 nextupf F
+GLIBC_2.24 nextupl F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __iseqsig F
+GLIBC_2.25 __iseqsigf F
+GLIBC_2.25 __iseqsigl F
+GLIBC_2.25 canonicalize F
+GLIBC_2.25 canonicalizef F
+GLIBC_2.25 canonicalizel F
+GLIBC_2.25 fegetmode F
+GLIBC_2.25 fesetexcept F
+GLIBC_2.25 fesetmode F
+GLIBC_2.25 fetestexceptflag F
+GLIBC_2.25 fmaxmag F
+GLIBC_2.25 fmaxmagf F
+GLIBC_2.25 fmaxmagl F
+GLIBC_2.25 fminmag F
+GLIBC_2.25 fminmagf F
+GLIBC_2.25 fminmagl F
+GLIBC_2.25 fromfp F
+GLIBC_2.25 fromfpf F
+GLIBC_2.25 fromfpl F
+GLIBC_2.25 fromfpx F
+GLIBC_2.25 fromfpxf F
+GLIBC_2.25 fromfpxl F
+GLIBC_2.25 getpayload F
+GLIBC_2.25 getpayloadf F
+GLIBC_2.25 getpayloadl F
+GLIBC_2.25 llogb F
+GLIBC_2.25 llogbf F
+GLIBC_2.25 llogbl F
+GLIBC_2.25 roundeven F
+GLIBC_2.25 roundevenf F
+GLIBC_2.25 roundevenl F
+GLIBC_2.25 setpayload F
+GLIBC_2.25 setpayloadf F
+GLIBC_2.25 setpayloadl F
+GLIBC_2.25 setpayloadsig F
+GLIBC_2.25 setpayloadsigf F
+GLIBC_2.25 setpayloadsigl F
+GLIBC_2.25 totalorder F
+GLIBC_2.25 totalorderf F
+GLIBC_2.25 totalorderl F
+GLIBC_2.25 totalordermag F
+GLIBC_2.25 totalordermagf F
+GLIBC_2.25 totalordermagl F
+GLIBC_2.25 ufromfp F
+GLIBC_2.25 ufromfpf F
+GLIBC_2.25 ufromfpl F
+GLIBC_2.25 ufromfpx F
+GLIBC_2.25 ufromfpxf F
+GLIBC_2.25 ufromfpxl F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist
new file mode 100644
index 0000000000..63d47aef79
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libnsl.abilist
@@ -0,0 +1,122 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __free_fdresult F
+GLIBC_2.17 __nis_default_access F
+GLIBC_2.17 __nis_default_group F
+GLIBC_2.17 __nis_default_owner F
+GLIBC_2.17 __nis_default_ttl F
+GLIBC_2.17 __nis_finddirectory F
+GLIBC_2.17 __nis_hash F
+GLIBC_2.17 __nisbind_connect F
+GLIBC_2.17 __nisbind_create F
+GLIBC_2.17 __nisbind_destroy F
+GLIBC_2.17 __nisbind_next F
+GLIBC_2.17 __yp_check F
+GLIBC_2.17 nis_add F
+GLIBC_2.17 nis_add_entry F
+GLIBC_2.17 nis_addmember F
+GLIBC_2.17 nis_checkpoint F
+GLIBC_2.17 nis_clone_directory F
+GLIBC_2.17 nis_clone_object F
+GLIBC_2.17 nis_clone_result F
+GLIBC_2.17 nis_creategroup F
+GLIBC_2.17 nis_destroy_object F
+GLIBC_2.17 nis_destroygroup F
+GLIBC_2.17 nis_dir_cmp F
+GLIBC_2.17 nis_domain_of F
+GLIBC_2.17 nis_domain_of_r F
+GLIBC_2.17 nis_first_entry F
+GLIBC_2.17 nis_free_directory F
+GLIBC_2.17 nis_free_object F
+GLIBC_2.17 nis_free_request F
+GLIBC_2.17 nis_freenames F
+GLIBC_2.17 nis_freeresult F
+GLIBC_2.17 nis_freeservlist F
+GLIBC_2.17 nis_freetags F
+GLIBC_2.17 nis_getnames F
+GLIBC_2.17 nis_getservlist F
+GLIBC_2.17 nis_ismember F
+GLIBC_2.17 nis_leaf_of F
+GLIBC_2.17 nis_leaf_of_r F
+GLIBC_2.17 nis_lerror F
+GLIBC_2.17 nis_list F
+GLIBC_2.17 nis_local_directory F
+GLIBC_2.17 nis_local_group F
+GLIBC_2.17 nis_local_host F
+GLIBC_2.17 nis_local_principal F
+GLIBC_2.17 nis_lookup F
+GLIBC_2.17 nis_mkdir F
+GLIBC_2.17 nis_modify F
+GLIBC_2.17 nis_modify_entry F
+GLIBC_2.17 nis_name_of F
+GLIBC_2.17 nis_name_of_r F
+GLIBC_2.17 nis_next_entry F
+GLIBC_2.17 nis_perror F
+GLIBC_2.17 nis_ping F
+GLIBC_2.17 nis_print_directory F
+GLIBC_2.17 nis_print_entry F
+GLIBC_2.17 nis_print_group F
+GLIBC_2.17 nis_print_group_entry F
+GLIBC_2.17 nis_print_link F
+GLIBC_2.17 nis_print_object F
+GLIBC_2.17 nis_print_result F
+GLIBC_2.17 nis_print_rights F
+GLIBC_2.17 nis_print_table F
+GLIBC_2.17 nis_read_obj F
+GLIBC_2.17 nis_remove F
+GLIBC_2.17 nis_remove_entry F
+GLIBC_2.17 nis_removemember F
+GLIBC_2.17 nis_rmdir F
+GLIBC_2.17 nis_servstate F
+GLIBC_2.17 nis_sperrno F
+GLIBC_2.17 nis_sperror F
+GLIBC_2.17 nis_sperror_r F
+GLIBC_2.17 nis_stats F
+GLIBC_2.17 nis_verifygroup F
+GLIBC_2.17 nis_write_obj F
+GLIBC_2.17 readColdStartFile F
+GLIBC_2.17 writeColdStartFile F
+GLIBC_2.17 xdr_cback_data F
+GLIBC_2.17 xdr_domainname F
+GLIBC_2.17 xdr_keydat F
+GLIBC_2.17 xdr_mapname F
+GLIBC_2.17 xdr_obj_p F
+GLIBC_2.17 xdr_peername F
+GLIBC_2.17 xdr_valdat F
+GLIBC_2.17 xdr_yp_buf F
+GLIBC_2.17 xdr_ypall F
+GLIBC_2.17 xdr_ypbind_binding F
+GLIBC_2.17 xdr_ypbind_resp F
+GLIBC_2.17 xdr_ypbind_resptype F
+GLIBC_2.17 xdr_ypbind_setdom F
+GLIBC_2.17 xdr_ypdelete_args F
+GLIBC_2.17 xdr_ypmap_parms F
+GLIBC_2.17 xdr_ypmaplist F
+GLIBC_2.17 xdr_yppush_status F
+GLIBC_2.17 xdr_yppushresp_xfr F
+GLIBC_2.17 xdr_ypreq_key F
+GLIBC_2.17 xdr_ypreq_nokey F
+GLIBC_2.17 xdr_ypreq_xfr F
+GLIBC_2.17 xdr_ypresp_all F
+GLIBC_2.17 xdr_ypresp_key_val F
+GLIBC_2.17 xdr_ypresp_maplist F
+GLIBC_2.17 xdr_ypresp_master F
+GLIBC_2.17 xdr_ypresp_order F
+GLIBC_2.17 xdr_ypresp_val F
+GLIBC_2.17 xdr_ypresp_xfr F
+GLIBC_2.17 xdr_ypstat F
+GLIBC_2.17 xdr_ypupdate_args F
+GLIBC_2.17 xdr_ypxfrstat F
+GLIBC_2.17 yp_all F
+GLIBC_2.17 yp_bind F
+GLIBC_2.17 yp_first F
+GLIBC_2.17 yp_get_default_domain F
+GLIBC_2.17 yp_maplist F
+GLIBC_2.17 yp_master F
+GLIBC_2.17 yp_match F
+GLIBC_2.17 yp_next F
+GLIBC_2.17 yp_order F
+GLIBC_2.17 yp_unbind F
+GLIBC_2.17 yp_update F
+GLIBC_2.17 ypbinderr_string F
+GLIBC_2.17 yperr_string F
+GLIBC_2.17 ypprot_err F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
new file mode 100644
index 0000000000..0cf30ee02f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -0,0 +1,226 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 _IO_flockfile F
+GLIBC_2.17 _IO_ftrylockfile F
+GLIBC_2.17 _IO_funlockfile F
+GLIBC_2.17 __close F
+GLIBC_2.17 __connect F
+GLIBC_2.17 __errno_location F
+GLIBC_2.17 __fcntl F
+GLIBC_2.17 __fork F
+GLIBC_2.17 __h_errno_location F
+GLIBC_2.17 __libc_allocate_rtsig F
+GLIBC_2.17 __libc_current_sigrtmax F
+GLIBC_2.17 __libc_current_sigrtmin F
+GLIBC_2.17 __lseek F
+GLIBC_2.17 __nanosleep F
+GLIBC_2.17 __open F
+GLIBC_2.17 __open64 F
+GLIBC_2.17 __pread64 F
+GLIBC_2.17 __pthread_cleanup_routine F
+GLIBC_2.17 __pthread_getspecific F
+GLIBC_2.17 __pthread_key_create F
+GLIBC_2.17 __pthread_mutex_destroy F
+GLIBC_2.17 __pthread_mutex_init F
+GLIBC_2.17 __pthread_mutex_lock F
+GLIBC_2.17 __pthread_mutex_trylock F
+GLIBC_2.17 __pthread_mutex_unlock F
+GLIBC_2.17 __pthread_mutexattr_destroy F
+GLIBC_2.17 __pthread_mutexattr_init F
+GLIBC_2.17 __pthread_mutexattr_settype F
+GLIBC_2.17 __pthread_once F
+GLIBC_2.17 __pthread_register_cancel F
+GLIBC_2.17 __pthread_register_cancel_defer F
+GLIBC_2.17 __pthread_rwlock_destroy F
+GLIBC_2.17 __pthread_rwlock_init F
+GLIBC_2.17 __pthread_rwlock_rdlock F
+GLIBC_2.17 __pthread_rwlock_tryrdlock F
+GLIBC_2.17 __pthread_rwlock_trywrlock F
+GLIBC_2.17 __pthread_rwlock_unlock F
+GLIBC_2.17 __pthread_rwlock_wrlock F
+GLIBC_2.17 __pthread_setspecific F
+GLIBC_2.17 __pthread_unregister_cancel F
+GLIBC_2.17 __pthread_unregister_cancel_restore F
+GLIBC_2.17 __pthread_unwind_next F
+GLIBC_2.17 __pwrite64 F
+GLIBC_2.17 __read F
+GLIBC_2.17 __res_state F
+GLIBC_2.17 __send F
+GLIBC_2.17 __sigaction F
+GLIBC_2.17 __vfork F
+GLIBC_2.17 __wait F
+GLIBC_2.17 __write F
+GLIBC_2.17 _pthread_cleanup_pop F
+GLIBC_2.17 _pthread_cleanup_pop_restore F
+GLIBC_2.17 _pthread_cleanup_push F
+GLIBC_2.17 _pthread_cleanup_push_defer F
+GLIBC_2.17 accept F
+GLIBC_2.17 close F
+GLIBC_2.17 connect F
+GLIBC_2.17 fcntl F
+GLIBC_2.17 flockfile F
+GLIBC_2.17 fork F
+GLIBC_2.17 fsync F
+GLIBC_2.17 ftrylockfile F
+GLIBC_2.17 funlockfile F
+GLIBC_2.17 longjmp F
+GLIBC_2.17 lseek F
+GLIBC_2.17 lseek64 F
+GLIBC_2.17 msync F
+GLIBC_2.17 nanosleep F
+GLIBC_2.17 open F
+GLIBC_2.17 open64 F
+GLIBC_2.17 pause F
+GLIBC_2.17 pread F
+GLIBC_2.17 pread64 F
+GLIBC_2.17 pthread_attr_destroy F
+GLIBC_2.17 pthread_attr_getaffinity_np F
+GLIBC_2.17 pthread_attr_getdetachstate F
+GLIBC_2.17 pthread_attr_getguardsize F
+GLIBC_2.17 pthread_attr_getinheritsched F
+GLIBC_2.17 pthread_attr_getschedparam F
+GLIBC_2.17 pthread_attr_getschedpolicy F
+GLIBC_2.17 pthread_attr_getscope F
+GLIBC_2.17 pthread_attr_getstack F
+GLIBC_2.17 pthread_attr_getstackaddr F
+GLIBC_2.17 pthread_attr_getstacksize F
+GLIBC_2.17 pthread_attr_init F
+GLIBC_2.17 pthread_attr_setaffinity_np F
+GLIBC_2.17 pthread_attr_setdetachstate F
+GLIBC_2.17 pthread_attr_setguardsize F
+GLIBC_2.17 pthread_attr_setinheritsched F
+GLIBC_2.17 pthread_attr_setschedparam F
+GLIBC_2.17 pthread_attr_setschedpolicy F
+GLIBC_2.17 pthread_attr_setscope F
+GLIBC_2.17 pthread_attr_setstack F
+GLIBC_2.17 pthread_attr_setstackaddr F
+GLIBC_2.17 pthread_attr_setstacksize F
+GLIBC_2.17 pthread_barrier_destroy F
+GLIBC_2.17 pthread_barrier_init F
+GLIBC_2.17 pthread_barrier_wait F
+GLIBC_2.17 pthread_barrierattr_destroy F
+GLIBC_2.17 pthread_barrierattr_getpshared F
+GLIBC_2.17 pthread_barrierattr_init F
+GLIBC_2.17 pthread_barrierattr_setpshared F
+GLIBC_2.17 pthread_cancel F
+GLIBC_2.17 pthread_cond_broadcast F
+GLIBC_2.17 pthread_cond_destroy F
+GLIBC_2.17 pthread_cond_init F
+GLIBC_2.17 pthread_cond_signal F
+GLIBC_2.17 pthread_cond_timedwait F
+GLIBC_2.17 pthread_cond_wait F
+GLIBC_2.17 pthread_condattr_destroy F
+GLIBC_2.17 pthread_condattr_getclock F
+GLIBC_2.17 pthread_condattr_getpshared F
+GLIBC_2.17 pthread_condattr_init F
+GLIBC_2.17 pthread_condattr_setclock F
+GLIBC_2.17 pthread_condattr_setpshared F
+GLIBC_2.17 pthread_create F
+GLIBC_2.17 pthread_detach F
+GLIBC_2.17 pthread_equal F
+GLIBC_2.17 pthread_exit F
+GLIBC_2.17 pthread_getaffinity_np F
+GLIBC_2.17 pthread_getattr_np F
+GLIBC_2.17 pthread_getconcurrency F
+GLIBC_2.17 pthread_getcpuclockid F
+GLIBC_2.17 pthread_getname_np F
+GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_getspecific F
+GLIBC_2.17 pthread_join F
+GLIBC_2.17 pthread_key_create F
+GLIBC_2.17 pthread_key_delete F
+GLIBC_2.17 pthread_kill F
+GLIBC_2.17 pthread_kill_other_threads_np F
+GLIBC_2.17 pthread_mutex_consistent F
+GLIBC_2.17 pthread_mutex_consistent_np F
+GLIBC_2.17 pthread_mutex_destroy F
+GLIBC_2.17 pthread_mutex_getprioceiling F
+GLIBC_2.17 pthread_mutex_init F
+GLIBC_2.17 pthread_mutex_lock F
+GLIBC_2.17 pthread_mutex_setprioceiling F
+GLIBC_2.17 pthread_mutex_timedlock F
+GLIBC_2.17 pthread_mutex_trylock F
+GLIBC_2.17 pthread_mutex_unlock F
+GLIBC_2.17 pthread_mutexattr_destroy F
+GLIBC_2.17 pthread_mutexattr_getkind_np F
+GLIBC_2.17 pthread_mutexattr_getprioceiling F
+GLIBC_2.17 pthread_mutexattr_getprotocol F
+GLIBC_2.17 pthread_mutexattr_getpshared F
+GLIBC_2.17 pthread_mutexattr_getrobust F
+GLIBC_2.17 pthread_mutexattr_getrobust_np F
+GLIBC_2.17 pthread_mutexattr_gettype F
+GLIBC_2.17 pthread_mutexattr_init F
+GLIBC_2.17 pthread_mutexattr_setkind_np F
+GLIBC_2.17 pthread_mutexattr_setprioceiling F
+GLIBC_2.17 pthread_mutexattr_setprotocol F
+GLIBC_2.17 pthread_mutexattr_setpshared F
+GLIBC_2.17 pthread_mutexattr_setrobust F
+GLIBC_2.17 pthread_mutexattr_setrobust_np F
+GLIBC_2.17 pthread_mutexattr_settype F
+GLIBC_2.17 pthread_once F
+GLIBC_2.17 pthread_rwlock_destroy F
+GLIBC_2.17 pthread_rwlock_init F
+GLIBC_2.17 pthread_rwlock_rdlock F
+GLIBC_2.17 pthread_rwlock_timedrdlock F
+GLIBC_2.17 pthread_rwlock_timedwrlock F
+GLIBC_2.17 pthread_rwlock_tryrdlock F
+GLIBC_2.17 pthread_rwlock_trywrlock F
+GLIBC_2.17 pthread_rwlock_unlock F
+GLIBC_2.17 pthread_rwlock_wrlock F
+GLIBC_2.17 pthread_rwlockattr_destroy F
+GLIBC_2.17 pthread_rwlockattr_getkind_np F
+GLIBC_2.17 pthread_rwlockattr_getpshared F
+GLIBC_2.17 pthread_rwlockattr_init F
+GLIBC_2.17 pthread_rwlockattr_setkind_np F
+GLIBC_2.17 pthread_rwlockattr_setpshared F
+GLIBC_2.17 pthread_self F
+GLIBC_2.17 pthread_setaffinity_np F
+GLIBC_2.17 pthread_setcancelstate F
+GLIBC_2.17 pthread_setcanceltype F
+GLIBC_2.17 pthread_setconcurrency F
+GLIBC_2.17 pthread_setname_np F
+GLIBC_2.17 pthread_setschedparam F
+GLIBC_2.17 pthread_setschedprio F
+GLIBC_2.17 pthread_setspecific F
+GLIBC_2.17 pthread_sigmask F
+GLIBC_2.17 pthread_sigqueue F
+GLIBC_2.17 pthread_spin_destroy F
+GLIBC_2.17 pthread_spin_init F
+GLIBC_2.17 pthread_spin_lock F
+GLIBC_2.17 pthread_spin_trylock F
+GLIBC_2.17 pthread_spin_unlock F
+GLIBC_2.17 pthread_testcancel F
+GLIBC_2.17 pthread_timedjoin_np F
+GLIBC_2.17 pthread_tryjoin_np F
+GLIBC_2.17 pthread_yield F
+GLIBC_2.17 pwrite F
+GLIBC_2.17 pwrite64 F
+GLIBC_2.17 raise F
+GLIBC_2.17 read F
+GLIBC_2.17 recv F
+GLIBC_2.17 recvfrom F
+GLIBC_2.17 recvmsg F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_destroy F
+GLIBC_2.17 sem_getvalue F
+GLIBC_2.17 sem_init F
+GLIBC_2.17 sem_open F
+GLIBC_2.17 sem_post F
+GLIBC_2.17 sem_timedwait F
+GLIBC_2.17 sem_trywait F
+GLIBC_2.17 sem_unlink F
+GLIBC_2.17 sem_wait F
+GLIBC_2.17 send F
+GLIBC_2.17 sendmsg F
+GLIBC_2.17 sendto F
+GLIBC_2.17 sigaction F
+GLIBC_2.17 siglongjmp F
+GLIBC_2.17 sigwait F
+GLIBC_2.17 system F
+GLIBC_2.17 tcdrain F
+GLIBC_2.17 vfork F
+GLIBC_2.17 wait F
+GLIBC_2.17 waitpid F
+GLIBC_2.17 write F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
new file mode 100644
index 0000000000..cf278eedb3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libresolv.abilist
@@ -0,0 +1,92 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __b64_ntop F
+GLIBC_2.17 __b64_pton F
+GLIBC_2.17 __dn_comp F
+GLIBC_2.17 __dn_count_labels F
+GLIBC_2.17 __dn_expand F
+GLIBC_2.17 __dn_skipname F
+GLIBC_2.17 __fp_nquery F
+GLIBC_2.17 __fp_query F
+GLIBC_2.17 __fp_resstat F
+GLIBC_2.17 __hostalias F
+GLIBC_2.17 __loc_aton F
+GLIBC_2.17 __loc_ntoa F
+GLIBC_2.17 __p_cdname F
+GLIBC_2.17 __p_cdnname F
+GLIBC_2.17 __p_class F
+GLIBC_2.17 __p_class_syms D 0xa8
+GLIBC_2.17 __p_fqname F
+GLIBC_2.17 __p_fqnname F
+GLIBC_2.17 __p_option F
+GLIBC_2.17 __p_query F
+GLIBC_2.17 __p_rcode F
+GLIBC_2.17 __p_secstodate F
+GLIBC_2.17 __p_time F
+GLIBC_2.17 __p_type F
+GLIBC_2.17 __p_type_syms D 0x450
+GLIBC_2.17 __putlong F
+GLIBC_2.17 __putshort F
+GLIBC_2.17 __res_close F
+GLIBC_2.17 __res_dnok F
+GLIBC_2.17 __res_hnok F
+GLIBC_2.17 __res_hostalias F
+GLIBC_2.17 __res_isourserver F
+GLIBC_2.17 __res_mailok F
+GLIBC_2.17 __res_mkquery F
+GLIBC_2.17 __res_nameinquery F
+GLIBC_2.17 __res_nmkquery F
+GLIBC_2.17 __res_nquery F
+GLIBC_2.17 __res_nquerydomain F
+GLIBC_2.17 __res_nsearch F
+GLIBC_2.17 __res_nsend F
+GLIBC_2.17 __res_ownok F
+GLIBC_2.17 __res_queriesmatch F
+GLIBC_2.17 __res_query F
+GLIBC_2.17 __res_querydomain F
+GLIBC_2.17 __res_search F
+GLIBC_2.17 __res_send F
+GLIBC_2.17 __sym_ntop F
+GLIBC_2.17 __sym_ntos F
+GLIBC_2.17 __sym_ston F
+GLIBC_2.17 _gethtbyaddr F
+GLIBC_2.17 _gethtbyname F
+GLIBC_2.17 _gethtbyname2 F
+GLIBC_2.17 _gethtent F
+GLIBC_2.17 _getlong F
+GLIBC_2.17 _getshort F
+GLIBC_2.17 _res_opcodes D 0x80
+GLIBC_2.17 _sethtent F
+GLIBC_2.17 inet_net_ntop F
+GLIBC_2.17 inet_net_pton F
+GLIBC_2.17 inet_neta F
+GLIBC_2.17 ns_datetosecs F
+GLIBC_2.17 ns_format_ttl F
+GLIBC_2.17 ns_get16 F
+GLIBC_2.17 ns_get32 F
+GLIBC_2.17 ns_initparse F
+GLIBC_2.17 ns_makecanon F
+GLIBC_2.17 ns_msg_getflag F
+GLIBC_2.17 ns_name_compress F
+GLIBC_2.17 ns_name_ntol F
+GLIBC_2.17 ns_name_ntop F
+GLIBC_2.17 ns_name_pack F
+GLIBC_2.17 ns_name_pton F
+GLIBC_2.17 ns_name_rollback F
+GLIBC_2.17 ns_name_skip F
+GLIBC_2.17 ns_name_uncompress F
+GLIBC_2.17 ns_name_unpack F
+GLIBC_2.17 ns_parse_ttl F
+GLIBC_2.17 ns_parserr F
+GLIBC_2.17 ns_put16 F
+GLIBC_2.17 ns_put32 F
+GLIBC_2.17 ns_samedomain F
+GLIBC_2.17 ns_samename F
+GLIBC_2.17 ns_skiprr F
+GLIBC_2.17 ns_sprintrr F
+GLIBC_2.17 ns_sprintrrf F
+GLIBC_2.17 ns_subdomain F
+GLIBC_2.17 res_gethostbyaddr F
+GLIBC_2.17 res_gethostbyname F
+GLIBC_2.17 res_gethostbyname2 F
+GLIBC_2.17 res_send_setqhook F
+GLIBC_2.17 res_send_setrhook F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist
new file mode 100644
index 0000000000..523d22249a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -0,0 +1,36 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 __mq_open_2 F
+GLIBC_2.17 aio_cancel F
+GLIBC_2.17 aio_cancel64 F
+GLIBC_2.17 aio_error F
+GLIBC_2.17 aio_error64 F
+GLIBC_2.17 aio_fsync F
+GLIBC_2.17 aio_fsync64 F
+GLIBC_2.17 aio_init F
+GLIBC_2.17 aio_read F
+GLIBC_2.17 aio_read64 F
+GLIBC_2.17 aio_return F
+GLIBC_2.17 aio_return64 F
+GLIBC_2.17 aio_suspend F
+GLIBC_2.17 aio_suspend64 F
+GLIBC_2.17 aio_write F
+GLIBC_2.17 aio_write64 F
+GLIBC_2.17 lio_listio F
+GLIBC_2.17 lio_listio64 F
+GLIBC_2.17 mq_close F
+GLIBC_2.17 mq_getattr F
+GLIBC_2.17 mq_notify F
+GLIBC_2.17 mq_open F
+GLIBC_2.17 mq_receive F
+GLIBC_2.17 mq_send F
+GLIBC_2.17 mq_setattr F
+GLIBC_2.17 mq_timedreceive F
+GLIBC_2.17 mq_timedsend F
+GLIBC_2.17 mq_unlink F
+GLIBC_2.17 shm_open F
+GLIBC_2.17 shm_unlink F
+GLIBC_2.17 timer_create F
+GLIBC_2.17 timer_delete F
+GLIBC_2.17 timer_getoverrun F
+GLIBC_2.17 timer_gettime F
+GLIBC_2.17 timer_settime F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist
new file mode 100644
index 0000000000..3e382bf79d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libthread_db.abilist
@@ -0,0 +1,41 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 td_init F
+GLIBC_2.17 td_log F
+GLIBC_2.17 td_symbol_list F
+GLIBC_2.17 td_ta_clear_event F
+GLIBC_2.17 td_ta_delete F
+GLIBC_2.17 td_ta_enable_stats F
+GLIBC_2.17 td_ta_event_addr F
+GLIBC_2.17 td_ta_event_getmsg F
+GLIBC_2.17 td_ta_get_nthreads F
+GLIBC_2.17 td_ta_get_ph F
+GLIBC_2.17 td_ta_get_stats F
+GLIBC_2.17 td_ta_map_id2thr F
+GLIBC_2.17 td_ta_map_lwp2thr F
+GLIBC_2.17 td_ta_new F
+GLIBC_2.17 td_ta_reset_stats F
+GLIBC_2.17 td_ta_set_event F
+GLIBC_2.17 td_ta_setconcurrency F
+GLIBC_2.17 td_ta_thr_iter F
+GLIBC_2.17 td_ta_tsd_iter F
+GLIBC_2.17 td_thr_clear_event F
+GLIBC_2.17 td_thr_dbresume F
+GLIBC_2.17 td_thr_dbsuspend F
+GLIBC_2.17 td_thr_event_enable F
+GLIBC_2.17 td_thr_event_getmsg F
+GLIBC_2.17 td_thr_get_info F
+GLIBC_2.17 td_thr_getfpregs F
+GLIBC_2.17 td_thr_getgregs F
+GLIBC_2.17 td_thr_getxregs F
+GLIBC_2.17 td_thr_getxregsize F
+GLIBC_2.17 td_thr_set_event F
+GLIBC_2.17 td_thr_setfpregs F
+GLIBC_2.17 td_thr_setgregs F
+GLIBC_2.17 td_thr_setprio F
+GLIBC_2.17 td_thr_setsigpending F
+GLIBC_2.17 td_thr_setxregs F
+GLIBC_2.17 td_thr_sigsetmask F
+GLIBC_2.17 td_thr_tls_get_addr F
+GLIBC_2.17 td_thr_tlsbase F
+GLIBC_2.17 td_thr_tsd F
+GLIBC_2.17 td_thr_validate F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
new file mode 100644
index 0000000000..9c075bc0bd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 forkpty F
+GLIBC_2.17 login F
+GLIBC_2.17 login_tty F
+GLIBC_2.17 logout F
+GLIBC_2.17 logwtmp F
+GLIBC_2.17 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data
new file mode 100644
index 0000000000..bb18ff9bb2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/localplt.data
@@ -0,0 +1,20 @@
+# See scripts/check-localplt.awk for how this file is processed.
+# PLT use is required for the malloc family and for matherr because
+# users can define their own functions and have library internals call them.
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: matherr
+# The dynamic loader needs __tls_get_addr for TLS.
+ld.so: __tls_get_addr
+# The main malloc is interposed into the dynamic linker, for
+# allocations after the initial link (when dlopen is used).
+ld.so: malloc
+ld.so: calloc
+ld.so: realloc
+ld.so: free
+# The TLS-enabled version of these functions is interposed from libc.so.
+ld.so: _dl_signal_error
+ld.so: _dl_catch_error
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c
new file mode 100644
index 0000000000..f510f48e9f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/makecontext.c
@@ -0,0 +1,74 @@
+/* Create new context.
+   Copyright (C) 2002-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <stdarg.h>
+#include <stdint.h>
+#include <ucontext.h>
+
+
+/* makecontext sets up a stack and the registers for the
+   user context.  The stack looks like this:
+
+               +-----------------------+
+	       | padding as required   |
+               +-----------------------+
+    sp ->      | parameter 7-n         |
+               +-----------------------+
+
+   The registers are set up like this:
+     %x0 .. %x7: parameter 1 to 8
+     %x19   : uc_link
+     %sp    : stack pointer.
+*/
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __startcontext (void);
+  unsigned long int *sp;
+  va_list ap;
+  int i;
+
+  sp = (unsigned long int *)
+    ((uintptr_t) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
+
+  /* Allocate stack arguments.  */
+  sp -= argc < 8 ? 0 : argc - 8;
+
+  /* Keep the stack aligned.  */
+  sp = (unsigned long int *) (((uintptr_t) sp) & -16L);
+
+  ucp->uc_mcontext.regs[19] = (uintptr_t) ucp->uc_link;
+  ucp->uc_mcontext.sp = (uintptr_t) sp;
+  ucp->uc_mcontext.pc = (uintptr_t) func;
+  ucp->uc_mcontext.regs[29] = (uintptr_t) 0;
+  ucp->uc_mcontext.regs[30] = (uintptr_t) &__startcontext;
+
+  va_start (ap, argc);
+  for (i = 0; i < argc; ++i)
+    if (i < 8)
+      ucp->uc_mcontext.regs[i] = va_arg (ap, unsigned long int);
+    else
+      sp[i - 8] = va_arg (ap, unsigned long int);
+
+  va_end (ap);
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h
new file mode 100644
index 0000000000..e7262cd1d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/profil-counter.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* We can use the ix86 version.  */
+#include <sysdeps/unix/sysv/linux/i386/profil-counter.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c
new file mode 100644
index 0000000000..abafb7ce73
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/pt-vfork.c
@@ -0,0 +1,54 @@
+/* vfork ABI-compatibility entry points for libpthread.
+   Copyright (C) 2014-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <shlib-compat.h>
+
+/* libpthread used to have its own vfork implementation that differed
+   from libc's only in having a pointless micro-optimization.  There
+   is no longer any use to having a separate copy in libpthread, but
+   the historical ABI requires it.  For static linking, there is no
+   need to provide anything here--the libc version will be linked in.
+   For shared library ABI compatibility, there must be __vfork and
+   vfork symbols in libpthread.so.  */
+
+#if HAVE_IFUNC
+# include <nptl/pt-vfork.c>
+#elif (SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20) \
+       || SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20))
+
+/* Thankfully, on AArch64 we can rely on the compiler generating
+   a tail call here.  */
+
+extern void __libc_vfork (void);
+
+void
+vfork_compat (void)
+{
+  __libc_vfork ();
+}
+
+# if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_20)
+compat_symbol (libpthread, vfork_compat, vfork, GLIBC_2_0);
+# endif
+
+# if SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_20)
+strong_alias (vfork_compat, vfork_compat2)
+compat_symbol (libpthread, vfork_compat2, __vfork, GLIBC_2_1_2);
+# endif
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c
new file mode 100644
index 0000000000..d932ff8021
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/readelflib.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2012-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include "../arm/readelflib.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S
new file mode 100644
index 0000000000..3a82926ad3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/setcontext.S
@@ -0,0 +1,130 @@
+/* Set current context.
+
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+#include "ucontext-internal.h"
+
+/*  int __setcontext (const ucontext_t *ucp)
+
+  Restores the machine context in UCP and thereby resumes execution
+  in that context.
+
+  This implementation is intended to be used for *synchronous* context
+  switches only.  Therefore, it does not have to restore anything
+  other than the PRESERVED state.  */
+
+	.text
+
+ENTRY (__setcontext)
+	DELOUSE (0)
+	/* Save a copy of UCP.  */
+	mov	x9, x0
+
+	/* Set the signal mask with
+	   rt_sigprocmask (SIG_SETMASK, mask, NULL, _NSIG/8).  */
+	mov	x0, #SIG_SETMASK
+	add	x1, x9, #UCONTEXT_SIGMASK
+	mov	x2, #0
+	mov	x3, #_NSIG8
+	mov	x8, SYS_ify (rt_sigprocmask)
+	svc	0
+	cbz	x0, 1f
+	b	C_SYMBOL_NAME (__syscall_error)
+1:
+	/* Restore the general purpose registers.  */
+	mov	x0, x9
+	cfi_def_cfa (x0, 0)
+	cfi_offset (x18, oX0 + 18 * SZREG)
+	cfi_offset (x19, oX0 + 19 * SZREG)
+	cfi_offset (x20, oX0 + 20 * SZREG)
+	cfi_offset (x21, oX0 + 21 * SZREG)
+	cfi_offset (x22, oX0 + 22 * SZREG)
+	cfi_offset (x23, oX0 + 23 * SZREG)
+	cfi_offset (x24, oX0 + 24 * SZREG)
+	cfi_offset (x25, oX0 + 25 * SZREG)
+	cfi_offset (x26, oX0 + 26 * SZREG)
+	cfi_offset (x27, oX0 + 27 * SZREG)
+	cfi_offset (x28, oX0 + 28 * SZREG)
+	cfi_offset (x29, oX0 + 29 * SZREG)
+	cfi_offset (x30, oX0 + 30 * SZREG)
+
+	cfi_offset ( d8, oV0 + 8 * SZVREG)
+	cfi_offset ( d9, oV0 + 9 * SZVREG)
+	cfi_offset (d10, oV0 + 10 * SZVREG)
+	cfi_offset (d11, oV0 + 11 * SZVREG)
+	cfi_offset (d12, oV0 + 12 * SZVREG)
+	cfi_offset (d13, oV0 + 13 * SZVREG)
+	cfi_offset (d14, oV0 + 14 * SZVREG)
+	cfi_offset (d15, oV0 + 15 * SZVREG)
+	ldp	x18, x19, [x0, oX0 + 18 * SZREG]
+	ldp	x20, x21, [x0, oX0 + 20 * SZREG]
+	ldp	x22, x23, [x0, oX0 + 22 * SZREG]
+	ldp	x24, x25, [x0, oX0 + 24 * SZREG]
+	ldp	x26, x27, [x0, oX0 + 26 * SZREG]
+	ldp	x28, x29, [x0, oX0 + 28 * SZREG]
+	ldr     x30,      [x0, oX0 + 30 * SZREG]
+	ldr     x2, [x0, oSP]
+	mov	sp, x2
+
+	/* Check for FP SIMD context.  We don't support restoring
+	   contexts created by the kernel, so this context must have
+	   been created by getcontext.  Hence we can rely on the
+	   first extension block being the FP SIMD context.  */
+	add     x2, x0, #oEXTENSION
+
+	mov	w3, #(FPSIMD_MAGIC & 0xffff)
+	movk	w3, #(FPSIMD_MAGIC >> 16), lsl #16
+	ldr	w1, [x2, #oHEAD + oMAGIC]
+	cmp	w1, w3
+	b.ne	2f
+
+	/* Restore the FP SIMD context.  */
+	add	x3, x2, #oV0 + 8 * SZVREG
+	ldp	 q8,  q9, [x3], #2 * SZVREG
+	ldp	q10, q11, [x3], #2 * SZVREG
+	ldp	q12, q13, [x3], #2 * SZVREG
+	ldp	q14, q15, [x3], #2 * SZVREG
+
+	add	x3, x2, oFPSR
+
+	ldr	w4, [x3]
+	msr	fpsr, x4
+
+	ldr	w4, [x3, oFPCR - oFPSR]
+	msr	fpcr, x4
+
+2:
+	ldr     x16, [x0, oPC]
+	/* Restore arg registers.  */
+	ldp	x2, x3, [x0, oX0 + 2 * SZREG]
+	ldp	x4, x5, [x0, oX0 + 4 * SZREG]
+	ldp	x6, x7, [x0, oX0 + 6 * SZREG]
+	ldp	x0, x1, [x0, oX0 + 0 * SZREG]
+	/* Jump to the new pc value.  */
+	br	x16
+PSEUDO_END (__setcontext)
+weak_alias (__setcontext, setcontext)
+
+ENTRY (__startcontext)
+	mov	x0, x19
+	cbnz	x0, __setcontext
+1:	b       HIDDEN_JUMPTARGET (exit)
+END (__startcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions
new file mode 100644
index 0000000000..e1768a7361
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/shlib-versions
@@ -0,0 +1,7 @@
+DEFAULT			GLIBC_2.17
+
+%ifdef HAVE_AARCH64_BE
+ld=ld-linux-aarch64_be.so.1
+%else
+ld=ld-linux-aarch64.so.1
+%endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c
new file mode 100644
index 0000000000..7cbb056367
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigaction.c
@@ -0,0 +1,70 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <errno.h>
+#include <signal.h>
+#include <string.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+#define SA_RESTORER	0x04000000
+
+/* The difference here is that the sigaction structure used in the
+   kernel is not the same as we use in the libc.  Therefore we must
+   translate it here.  */
+#include <kernel_sigaction.h>
+
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int result;
+  struct kernel_sigaction kact;
+  struct kernel_sigaction koact;
+
+  if (act)
+    {
+      kact.k_sa_handler = act->sa_handler;
+      memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));
+      kact.sa_flags = act->sa_flags;
+#ifdef HAVE_SA_RESTORER
+      if (kact.sa_flags & SA_RESTORER)
+	kact.sa_restorer = act->sa_restorer;
+#endif
+    }
+
+  result = INLINE_SYSCALL (rt_sigaction, 4, sig,
+			   act ? &kact : NULL,
+			   oact ? &koact : NULL, _NSIG / 8);
+  if (result >= 0 || errno != ENOSYS)
+    {
+      if (oact && result >= 0)
+	{
+	  oact->sa_handler = koact.k_sa_handler;
+	  memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+	  oact->sa_flags = koact.sa_flags;
+#ifdef HAVE_SA_RESTORER
+	  oact->sa_restorer = koact.sa_restorer;
+#endif
+	}
+    }
+  return result;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
new file mode 100644
index 0000000000..b28ad5bdcd
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
@@ -0,0 +1,35 @@
+/* AArch64 definitions for signal handling calling conventions.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdint.h>
+#include <sys/ucontext.h>
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define GET_PC(ctx) ((void *) (uintptr_t) (ctx)->uc_mcontext.pc)
+
+/* There is no reliable way to get the sigcontext unless we use a
+   three-argument signal handler.  */
+#define __sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (__sigaction) (sig, act, oact); \
+})
+
+#define sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (sigaction) (sig, act, oact); \
+})
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
new file mode 100644
index 0000000000..429c179354
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/swapcontext.S
@@ -0,0 +1,101 @@
+/* Modify saved context.
+
+   Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+#include "ucontext_i.h"
+#include "ucontext-internal.h"
+
+/* int swapcontext (ucontext_t *oucp, const ucontext_t *ucp) */
+
+	.text
+ENTRY(__swapcontext)
+	DELOUSE (0)
+	/* Set the value returned when swapcontext() returns in this context. */
+	str	xzr,      [x0, oX0 +  0 * SZREG]
+
+	stp	x18, x19, [x0, oX0 + 18 * SZREG]
+	stp	x20, x21, [x0, oX0 + 20 * SZREG]
+	stp	x22, x23, [x0, oX0 + 22 * SZREG]
+	stp	x24, x25, [x0, oX0 + 24 * SZREG]
+	stp	x26, x27, [x0, oX0 + 26 * SZREG]
+	stp	x28, x29, [x0, oX0 + 28 * SZREG]
+	str     x30,      [x0, oX0 + 30 * SZREG]
+	str     x30,      [x0, oPC]
+	mov	x2, sp
+	str     x2,       [x0, oSP]
+
+	/* Figure out where to place the first context extension
+	   block.  */
+	add     x2, x0, #oEXTENSION
+
+	/* Write the context extension fpsimd header.  */
+	mov	w3, #(FPSIMD_MAGIC & 0xffff)
+	movk	w3, #(FPSIMD_MAGIC >> 16), lsl #16
+	str	w3, [x2, #oHEAD + oMAGIC]
+	mov	w3, #FPSIMD_CONTEXT_SIZE
+	str	w3, [x2, #oHEAD + oSIZE]
+
+	/* Fill in the FP SIMD context.  */
+	add	x3, x2, #oV0 + 8 * SZVREG
+	stp	 q8,  q9, [x3], #2 * SZVREG
+	stp	q10, q11, [x3], #2 * SZVREG
+	stp	q12, q13, [x3], #2 * SZVREG
+	stp	q14, q15, [x3], #2 * SZVREG
+
+	add	x3, x2, #oFPSR
+
+	mrs	x4, fpsr
+	str	w4, [x3, #oFPSR - oFPSR]
+
+	mrs	x4, fpcr
+	str	w4, [x3, #oFPCR - oFPSR]
+
+	/* Write the termination context extension header.  */
+	add	x2, x2, #FPSIMD_CONTEXT_SIZE
+
+	str	xzr, [x2, #oHEAD + oMAGIC]
+	str	xzr, [x2, #oHEAD + oSIZE]
+
+	/* Preserve ucp.  */
+	mov	x21, x1
+
+	/* rt_sigprocmask (SIG_SETMASK, &ucp->uc_sigmask, &oucp->uc_sigmask,
+			   _NSIG8) */
+	/* Grab the signal mask */
+	/* rt_sigprocmask (SIG_BLOCK, NULL, &ucp->uc_sigmask, _NSIG8) */
+	add	x2, x0, #UCONTEXT_SIGMASK
+	mov	x0, SIG_BLOCK
+	mov	x1, 0
+	mov	x3, _NSIG8
+	mov	x8, SYS_ify (rt_sigprocmask)
+	svc	0
+	cbnz	x0, 1f
+
+	mov     x22, x30
+	mov	x0, x21
+	bl	JUMPTARGET (__setcontext)
+	mov     x30, x22
+	RET
+
+1:
+	b	C_SYMBOL_NAME(__syscall_error)
+PSEUDO_END (__swapcontext)
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h
new file mode 100644
index 0000000000..1c7447440c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/elf.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_ELF_H
+#define _SYS_ELF_H	1
+
+#warning "This header is obsolete; use <sys/procfs.h> instead."
+
+#include <sys/procfs.h>
+
+#endif	/* sys/elf.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h
new file mode 100644
index 0000000000..7a7b1d0742
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/procfs.h
@@ -0,0 +1,123 @@
+/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#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>
+#include <sys/user.h>
+
+__BEGIN_DECLS
+
+/* Type for a general-purpose register.  */
+typedef unsigned long elf_greg_t;
+
+/* And the whole bunch of them.  We could have used `struct
+   pt_regs' 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 (sizeof (struct user_regs_struct) / sizeof(elf_greg_t))
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+/* Register set for the floating-point registers.  */
+typedef struct user_fpsimd_struct elf_fpregset_t;
+
+/* 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;
+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/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
new file mode 100644
index 0000000000..c8ca9e398e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h
@@ -0,0 +1,207 @@
+/* `ptrace' debugger support interface.  Linux version.
+   Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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
+
+  /* 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
+
+  PTRACE_GET_THREAD_AREA = 22,
+
+  /* Continue and stop at the next (return from) syscall.  */
+  PTRACE_SYSCALL = 24,
+#define PT_SYSCALL PTRACE_SYSCALL
+
+  /* Get all hardware breakpoint registers.  */
+  PTRACE_GETHBPREGS = 29,
+
+  /* Set all hardware breakpoint registers.  */
+  PTRACE_SETHBPREGS = 30,
+
+  /* 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
+
+  /* Get register content.  */
+  PTRACE_GETREGSET = 0x4204,
+#define PTRACE_GETREGSET PTRACE_GETREGSET
+
+  /* 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 trace.  */
+  PTRACE_INTERRUPT = 0x4207,
+#define PTRACE_INTERRUPT PTRACE_INTERRUPT
+
+  /* Wait for next group event.  */
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
+
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
+
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  PTRACE_SECCOMP_GET_FILTER = 0x420c
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+};
+
+
+/* Flag for PTRACE_LISTEN.  */
+enum __ptrace_flags
+{
+  PTRACE_SEIZE_DEVEL = 0x80000000
+};
+
+/* Options set using PTRACE_SETOPTIONS.  */
+enum __ptrace_setoptions
+{
+  PTRACE_O_TRACESYSGOOD	= 0x00000001,
+  PTRACE_O_TRACEFORK	= 0x00000002,
+  PTRACE_O_TRACEVFORK   = 0x00000004,
+  PTRACE_O_TRACECLONE	= 0x00000008,
+  PTRACE_O_TRACEEXEC	= 0x00000010,
+  PTRACE_O_TRACEVFORKDONE = 0x00000020,
+  PTRACE_O_TRACEEXIT	= 0x00000040,
+  PTRACE_O_TRACESECCOMP = 0x00000080,
+  PTRACE_O_EXITKILL	= 0x00100000,
+  PTRACE_O_SUSPEND_SECCOMP	= 0x00200000,
+  PTRACE_O_MASK		= 0x003000ff
+};
+
+enum __ptrace_eventcodes
+{
+/* Wait extended result codes for the above trace options.  */
+  PTRACE_EVENT_FORK	= 1,
+  PTRACE_EVENT_VFORK	= 2,
+  PTRACE_EVENT_CLONE	= 3,
+  PTRACE_EVENT_EXEC	= 4,
+  PTRACE_EVENT_VFORK_DONE = 5,
+  PTRACE_EVENT_EXIT	= 6,
+  PTRACE_EVENT_SECCOMP  = 7,
+/* Extended result codes enabled by means other than options.  */
+  PTRACE_EVENT_STOP	= 128
+};
+
+/* Arguments for PTRACE_PEEKSIGINFO.  */
+struct __ptrace_peeksiginfo_args
+{
+  __uint64_t off;	/* From which siginfo to start.  */
+  __uint32_t flags;	/* Flags for peeksiginfo.  */
+  __int32_t nr;		/* How many siginfos to take.  */
+};
+
+enum __ptrace_peeksiginfo_flags
+{
+  /* Read signals from a shared (process wide) queue.  */
+  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)
+};
+
+/* Perform process tracing functions.  REQUEST is one of the values
+   above, and determines the action to be taken.
+   For all requests except PTRACE_TRACEME, PID specifies the process to be
+   traced.
+
+   PID and the other arguments described above for the various requests should
+   appear (those that are used for the particular request) as:
+     pid_t PID, void *ADDR, int DATA, void *ADDR2
+   after REQUEST.  */
+extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+
+__END_DECLS
+
+#endif /* _SYS_PTRACE_H */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
new file mode 100644
index 0000000000..16c7acf221
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h
@@ -0,0 +1,59 @@
+/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* System V/AArch64 ABI compliant context switching support.  */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H	1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/sigcontext.h>
+#include <bits/types/stack_t.h>
+
+#ifdef __USE_MISC
+# include <sys/procfs.h>
+
+
+typedef elf_greg_t greg_t;
+
+/* Container for all general registers.  */
+typedef elf_gregset_t gregset_t;
+
+/* Structure to describe FPU registers.  */
+typedef elf_fpregset_t	fpregset_t;
+#endif
+
+/* Context to describe whole processor state.  This only describes
+   the core registers; coprocessor registers get saved elsewhere
+   (e.g. in uc_regspace, or somewhere unspecified on the stack
+   during non-RT signal handlers).  */
+typedef struct sigcontext mcontext_t;
+
+/* Userlevel context.  */
+typedef struct ucontext
+  {
+    unsigned long uc_flags;
+    struct ucontext *uc_link;
+    stack_t uc_stack;
+    sigset_t uc_sigmask;
+    mcontext_t uc_mcontext;
+  } ucontext_t;
+
+#endif /* sys/ucontext.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h
new file mode 100644
index 0000000000..b003cdb2b6
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sys/user.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+struct user_regs_struct
+{
+  unsigned long long regs[31];
+  unsigned long long sp;
+  unsigned long long pc;
+  unsigned long long pstate;
+};
+
+struct user_fpsimd_struct
+{
+  __uint128_t  vregs[32];
+  unsigned int fpsr;
+  unsigned int fpcr;
+};
+
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S
new file mode 100644
index 0000000000..d377db45ff
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/syscall.S
@@ -0,0 +1,44 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+
+/* syscall (int nr, ...)
+
+   AArch64 system calls take between 0 and 7 arguments. On entry here nr
+   is in w0 and any other system call arguments are in register x1..x7.
+
+   For kernel entry we need to move the system call nr to x8 then
+   load the remaining arguments to register. */
+
+ENTRY (syscall)
+	uxtw	x8, w0
+	mov	x0, x1
+	mov	x1, x2
+	mov	x2, x3
+	mov	x3, x4
+	mov	x4, x5
+	mov	x5, x6
+	mov	x6, x7
+	svc	0x0
+	cmn	x0, #4095
+	b.cs	1f
+	RET
+1:
+	b	SYSCALL_ERROR
+PSEUDO_END (syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
new file mode 100644
index 0000000000..4be2259878
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep-cancel.h
@@ -0,0 +1,134 @@
+/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)				\
+	.section ".text";						\
+ENTRY (__##syscall_name##_nocancel);					\
+.Lpseudo_nocancel:							\
+	DO_CALL (syscall_name, args);					\
+.Lpseudo_finish:							\
+	cmn	x0, 4095;						\
+	b.cs	.Lsyscall_error;					\
+	.subsection 2;							\
+	.size __##syscall_name##_nocancel,.-__##syscall_name##_nocancel; \
+ENTRY (name);								\
+	SINGLE_THREAD_P(16);						\
+	cbz	w16, .Lpseudo_nocancel;					\
+	/* Setup common stack frame no matter the number of args.	\
+	   Also save the first arg, since it's basically free.  */	\
+	stp	x30, x0, [sp, -64]!;					\
+	cfi_adjust_cfa_offset (64);					\
+	cfi_rel_offset (x30, 0);					\
+	DOCARGS_##args;		/* save syscall args around CENABLE.  */ \
+	CENABLE;							\
+	mov	x16, x0;	/* save mask around syscall.  */	\
+	UNDOCARGS_##args;	/* restore syscall args.  */		\
+	DO_CALL (syscall_name, args);					\
+	str	x0, [sp, 8];	/* save result around CDISABLE.  */	\
+	mov	x0, x16;	/* restore mask for CDISABLE.  */	\
+	CDISABLE;							\
+	/* Break down the stack frame, restoring result at once.  */	\
+	ldp	x30, x0, [sp], 64;					\
+	cfi_adjust_cfa_offset (-64);					\
+	cfi_restore (x30);						\
+	b	.Lpseudo_finish;					\
+	cfi_endproc;							\
+	.size	name, .-name;						\
+	.previous
+
+# undef PSEUDO_END
+# define PSEUDO_END(name)						\
+	SYSCALL_ERROR_HANDLER;						\
+	cfi_endproc
+
+# define DOCARGS_0
+# define DOCARGS_1
+# define DOCARGS_2	str x1, [sp, 16]
+# define DOCARGS_3	stp x1, x2, [sp, 16]
+# define DOCARGS_4	DOCARGS_3; str x3, [sp, 32]
+# define DOCARGS_5	DOCARGS_3; stp x3, x4, [sp, 32]
+# define DOCARGS_6	DOCARGS_5; str x5, [sp, 48]
+
+# define UNDOCARGS_0
+# define UNDOCARGS_1	ldr x0, [sp, 8]
+# define UNDOCARGS_2	ldp x0, x1, [sp, 8]
+# define UNDOCARGS_3	UNDOCARGS_1; ldp x1, x2, [sp, 16]
+# define UNDOCARGS_4	UNDOCARGS_2; ldp x2, x3, [sp, 24]
+# define UNDOCARGS_5	UNDOCARGS_3; ldp x3, x4, [sp, 32]
+# define UNDOCARGS_6	UNDOCARGS_4; ldp x4, x5, [sp, 40]
+
+# if IS_IN (libpthread)
+#  define CENABLE	bl __pthread_enable_asynccancel
+#  define CDISABLE	bl __pthread_disable_asynccancel
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif IS_IN (libc)
+#  define CENABLE	bl __libc_enable_asynccancel
+#  define CDISABLE	bl __libc_disable_asynccancel
+#  define __local_multiple_threads __libc_multiple_threads
+# elif IS_IN (librt)
+#  define CENABLE	bl __librt_enable_asynccancel
+#  define CDISABLE	bl __librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+# if IS_IN (libpthread) || IS_IN (libc)
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(R)						\
+	adrp	x##R, __local_multiple_threads;				\
+	ldr	w##R, [x##R, :lo12:__local_multiple_threads]
+#  endif
+# else
+/*  There is no __local_multiple_threads for librt, so use the TCB.  */
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P						\
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				\
+				   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(R)						\
+	mrs     x##R, tpidr_el0;					\
+	sub	x##R, x##R, PTHREAD_SIZEOF;				\
+	ldr	w##R, [x##R, PTHREAD_MULTIPLE_THREADS_OFFSET]
+#  endif
+# endif
+
+#elif !defined __ASSEMBLER__
+
+/* For rtld, et cetera.  */
+# define SINGLE_THREAD_P 1
+# define NO_CANCELLATION 1
+
+#endif
+
+#ifndef __ASSEMBLER__
+# define RTLD_SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c
new file mode 100644
index 0000000000..d9c995152f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <errno.h>
+
+long __syscall_error (long err);
+hidden_proto (__syscall_error)
+
+/* This routine is jumped to by all the syscall handlers, to stash
+   an error number into errno.  */
+long
+__syscall_error (long err)
+{
+  __set_errno (- err);
+  return -1;
+}
+hidden_def (__syscall_error)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h
new file mode 100644
index 0000000000..4bb9112d62
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -0,0 +1,297 @@
+/* Copyright (C) 2005-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LINUX_AARCH64_SYSDEP_H
+#define _LINUX_AARCH64_SYSDEP_H 1
+
+#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/aarch64/sysdep.h>
+#include <sysdeps/unix/sysv/linux/generic/sysdep.h>
+
+/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO.  */
+#include <dl-sysdep.h>
+
+#include <tls.h>
+
+/* In order to get __set_errno() definition in INLINE_SYSCALL.  */
+#ifndef __ASSEMBLER__
+#include <errno.h>
+#endif
+
+/* For Linux we can use the system call table in the header file
+	/usr/include/asm/unistd.h
+   of the kernel.  But these symbols do not follow the SYS_* syntax
+   so we have to redefine the `SYS_ify' macro here.  */
+#undef SYS_ify
+#define SYS_ify(syscall_name)	(__NR_##syscall_name)
+
+#ifdef __ASSEMBLER__
+
+/* Linux uses a negative return value to indicate syscall errors,
+   unlike most Unices, which use the condition codes' carry flag.
+
+   Since version 2.1 the return value of a system call might be
+   negative even if the call succeeded.  E.g., the `lseek' system call
+   might return a large offset.  Therefore we must not anymore test
+   for < 0, but test for a real error by making sure the value in R0
+   is a real error number.  Linus said he will make sure the no syscall
+   returns a value in -1 .. -4095 as a valid result so we can safely
+   test with -4095.  */
+
+# undef	PSEUDO
+# define PSEUDO(name, syscall_name, args)				      \
+  .text;								      \
+  ENTRY (name);								      \
+    DO_CALL (syscall_name, args);					      \
+    cmn x0, #4095;							      \
+    b.cs .Lsyscall_error;
+
+# undef	PSEUDO_END
+# define PSEUDO_END(name)						      \
+  SYSCALL_ERROR_HANDLER							      \
+  END (name)
+
+# undef	PSEUDO_NOERRNO
+# define PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .text;								      \
+  ENTRY (name);								      \
+    DO_CALL (syscall_name, args);
+
+# undef	PSEUDO_END_NOERRNO
+# define PSEUDO_END_NOERRNO(name)					      \
+  END (name)
+
+# define ret_NOERRNO ret
+
+/* The function has to return the error code.  */
+# undef	PSEUDO_ERRVAL
+# define PSEUDO_ERRVAL(name, syscall_name, args) \
+  .text;								      \
+  ENTRY (name)								      \
+    DO_CALL (syscall_name, args);					      \
+    neg x0, x0
+
+# undef	PSEUDO_END_ERRVAL
+# define PSEUDO_END_ERRVAL(name) \
+  END (name)
+
+# define ret_ERRVAL ret
+
+# if !IS_IN (libc)
+#  define SYSCALL_ERROR  .Lsyscall_error
+#  if RTLD_PRIVATE_ERRNO
+#   define SYSCALL_ERROR_HANDLER				\
+.Lsyscall_error:						\
+	adrp	x1, C_SYMBOL_NAME(rtld_errno);			\
+	neg     w0, w0;						\
+	str     w0, [x1, :lo12:C_SYMBOL_NAME(rtld_errno)];	\
+	mov	x0, -1;						\
+	RET;
+#  else
+
+#   define SYSCALL_ERROR_HANDLER				\
+.Lsyscall_error:						\
+	adrp	x1, :gottprel:errno;				\
+	neg	w2, w0;						\
+	ldr	PTR_REG(1), [x1, :gottprel_lo12:errno];		\
+	mrs	x3, tpidr_el0;					\
+	mov	x0, -1;						\
+	str	w2, [x1, x3];					\
+	RET;
+#  endif
+# else
+#  define SYSCALL_ERROR __syscall_error
+#  define SYSCALL_ERROR_HANDLER                                 \
+.Lsyscall_error:                                                \
+	b	__syscall_error;
+# endif
+
+/* Linux takes system call args in registers:
+	syscall number	x8
+	arg 1		x0
+	arg 2		x1
+	arg 3		x2
+	arg 4		x3
+	arg 5		x4
+	arg 6		x5
+	arg 7		x6
+
+   The compiler is going to form a call by coming here, through PSEUDO, with
+   arguments
+	syscall number	in the DO_CALL macro
+	arg 1		x0
+	arg 2		x1
+	arg 3		x2
+	arg 4		x3
+	arg 5		x4
+	arg 6		x5
+	arg 7		x6
+
+*/
+
+# undef	DO_CALL
+# define DO_CALL(syscall_name, args)		\
+    mov x8, SYS_ify (syscall_name);		\
+    svc 0
+
+#else /* not __ASSEMBLER__ */
+
+
+/* List of system calls which are supported as vsyscalls.  */
+# define HAVE_CLOCK_GETRES_VSYSCALL	1
+# define HAVE_CLOCK_GETTIME_VSYSCALL	1
+# define HAVE_GETTIMEOFDAY_VSYSCALL	1
+
+/* Previously AArch64 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
+
+/* Define a macro which expands into the inline wrapper code for a system
+   call.  */
+# undef INLINE_SYSCALL
+# define INLINE_SYSCALL(name, nr, args...)				\
+  ({ unsigned long _sys_result = INTERNAL_SYSCALL (name, , nr, args);	\
+     if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (_sys_result, ), 0))\
+       {								\
+	 __set_errno (INTERNAL_SYSCALL_ERRNO (_sys_result, ));		\
+	 _sys_result = (unsigned long) -1;				\
+       }								\
+     (long) _sys_result; })
+
+# undef INTERNAL_SYSCALL_DECL
+# define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+# undef INTERNAL_SYSCALL_RAW
+# define INTERNAL_SYSCALL_RAW(name, err, nr, args...)		\
+  ({ long _sys_result;						\
+     {								\
+       LOAD_ARGS_##nr (args)					\
+       register long _x8 asm ("x8") = (name);			\
+       asm volatile ("svc	0	// syscall " # name     \
+		     : "=r" (_x0) : "r"(_x8) ASM_ARGS_##nr : "memory");	\
+       _sys_result = _x0;					\
+     }								\
+     _sys_result; })
+
+# undef INTERNAL_SYSCALL
+# define INTERNAL_SYSCALL(name, err, nr, args...)		\
+	INTERNAL_SYSCALL_RAW(SYS_ify(name), err, nr, args)
+
+# undef INTERNAL_SYSCALL_AARCH64
+# define INTERNAL_SYSCALL_AARCH64(name, err, nr, args...)	\
+	INTERNAL_SYSCALL_RAW(__ARM_NR_##name, err, nr, args)
+
+# undef INTERNAL_SYSCALL_ERROR_P
+# define INTERNAL_SYSCALL_ERROR_P(val, err) \
+  ((unsigned long) (val) >= (unsigned long) -4095)
+
+# undef INTERNAL_SYSCALL_ERRNO
+# define INTERNAL_SYSCALL_ERRNO(val, err)	(-(val))
+
+# define LOAD_ARGS_0()				\
+  register long _x0 asm ("x0");
+# define LOAD_ARGS_1(x0)			\
+  long _x0tmp = (long) (x0);			\
+  LOAD_ARGS_0 ()				\
+  _x0 = _x0tmp;
+# define LOAD_ARGS_2(x0, x1)			\
+  long _x1tmp = (long) (x1);			\
+  LOAD_ARGS_1 (x0)				\
+  register long _x1 asm ("x1") = _x1tmp;
+# define LOAD_ARGS_3(x0, x1, x2)		\
+  long _x2tmp = (long) (x2);			\
+  LOAD_ARGS_2 (x0, x1)				\
+  register long _x2 asm ("x2") = _x2tmp;
+# define LOAD_ARGS_4(x0, x1, x2, x3)		\
+  long _x3tmp = (long) (x3);			\
+  LOAD_ARGS_3 (x0, x1, x2)			\
+  register long _x3 asm ("x3") = _x3tmp;
+# define LOAD_ARGS_5(x0, x1, x2, x3, x4)	\
+  long _x4tmp = (long) (x4);			\
+  LOAD_ARGS_4 (x0, x1, x2, x3)			\
+  register long _x4 asm ("x4") = _x4tmp;
+# define LOAD_ARGS_6(x0, x1, x2, x3, x4, x5)	\
+  long _x5tmp = (long) (x5);			\
+  LOAD_ARGS_5 (x0, x1, x2, x3, x4)		\
+  register long _x5 asm ("x5") = _x5tmp;
+# define LOAD_ARGS_7(x0, x1, x2, x3, x4, x5, x6)\
+  long _x6tmp = (long) (x6);			\
+  LOAD_ARGS_6 (x0, x1, x2, x3, x4, x5)		\
+  register long _x6 asm ("x6") = _x6tmp;
+
+# define ASM_ARGS_0
+# define ASM_ARGS_1	, "r" (_x0)
+# define ASM_ARGS_2	ASM_ARGS_1, "r" (_x1)
+# define ASM_ARGS_3	ASM_ARGS_2, "r" (_x2)
+# define ASM_ARGS_4	ASM_ARGS_3, "r" (_x3)
+# define ASM_ARGS_5	ASM_ARGS_4, "r" (_x4)
+# define ASM_ARGS_6	ASM_ARGS_5, "r" (_x5)
+# define ASM_ARGS_7	ASM_ARGS_6, "r" (_x6)
+
+# undef INTERNAL_SYSCALL_NCS
+# define INTERNAL_SYSCALL_NCS(number, err, nr, args...)	\
+	INTERNAL_SYSCALL_RAW (number, err, nr, args)
+
+#endif	/* __ASSEMBLER__ */
+
+/* Pointer mangling is supported for AArch64.  */
+#if (IS_IN (rtld) || \
+     (!defined SHARED && (IS_IN (libc) \
+			  || IS_IN (libpthread))))
+# ifdef __ASSEMBLER__
+/* Note, dst, src, guard, and tmp are all register numbers rather than
+   register names so they will work with both ILP32 and LP64. */
+#  define PTR_MANGLE(dst, src, guard, tmp)                                \
+  LDST_PCREL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard_local)); \
+  PTR_MANGLE2 (dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
+#  define PTR_MANGLE2(dst, src, guard)\
+  eor x##dst, x##src, x##guard
+#  define PTR_DEMANGLE(dst, src, guard, tmp)\
+  PTR_MANGLE (dst, src, guard, tmp)
+#  define PTR_DEMANGLE2(dst, src, guard)\
+  PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
+#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
+# endif
+#else
+# ifdef __ASSEMBLER__
+/* Note, dst, src, guard, and tmp are all register numbers rather than
+   register names so they will work with both ILP32 and LP64. */
+#  define PTR_MANGLE(dst, src, guard, tmp)                             \
+  LDST_GLOBAL (ldr, guard, tmp, C_SYMBOL_NAME(__pointer_chk_guard));   \
+  PTR_MANGLE2 (dst, src, guard)
+/* Use PTR_MANGLE2 for efficiency if guard is already loaded.  */
+#  define PTR_MANGLE2(dst, src, guard)\
+  eor x##dst, x##src, x##guard
+#  define PTR_DEMANGLE(dst, src, guard, tmp)\
+  PTR_MANGLE (dst, src, guard, tmp)
+#  define PTR_DEMANGLE2(dst, src, guard)\
+  PTR_MANGLE2 (dst, src, guard)
+# else
+extern uintptr_t __pointer_chk_guard attribute_relro;
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard)
+#  define PTR_DEMANGLE(var) PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* linux/aarch64/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
new file mode 100644
index 0000000000..c4739c105d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext-internal.h
@@ -0,0 +1,45 @@
+/* Copyright (C) 2009-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define SP_ALIGN_SIZE       15
+
+#define SP_ALIGN_MASK	   ~15
+
+/* Size of an X regiser in bytes. */
+#define SZREG                8
+
+/* Size of a V register in bytes. */
+#define SZVREG              16
+
+/* Number of integer parameter passing registers. */
+#define NUMXREGARGS          8
+
+/* Number of FP parameter passing registers. */
+#define NUMDREGARGS          8
+
+/* Size of named integer argument in bytes when passed on the
+   stack.  */
+#define SIZEOF_NAMED_INT     4
+
+/* Size of an anonymous integer argument in bytes when passed on the
+   stack.  */
+#define SIZEOF_ANONYMOUS_INT 8
+
+#define oX21 (oX0 + 21*8)
+#define oFP  (oX0 + 29*8)
+#define oLR  (oX0 + 30*8)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
new file mode 100644
index 0000000000..ab3930c173
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/ucontext_i.sym
@@ -0,0 +1,55 @@
+#include <inttypes.h>
+#include <signal.h>
+#include <stddef.h>
+#include <sys/ucontext.h>
+#include <asm/sigcontext.h>
+
+#include "kernel_rt_sigframe.h"
+
+SIG_BLOCK
+SIG_SETMASK
+
+_NSIG8				(_NSIG / 8)
+
+-- Offsets of the fields in the kernel rt_sigframe_t structure.
+#define rt_sigframe(member)	offsetof (struct kernel_rt_sigframe, member)
+
+RT_SIGFRAME_UCONTEXT		rt_sigframe (uc)
+
+RT_SIGFRAME_SIZE		sizeof (struct kernel_rt_sigframe)
+FPSIMD_CONTEXT_SIZE             sizeof (struct fpsimd_context)
+
+#define ucontext(member)	offsetof (ucontext_t, member)
+#define stack(member)		ucontext (uc_stack.member)
+#define mcontext(member)	ucontext (uc_mcontext.member)
+
+UCONTEXT_FLAGS			ucontext (uc_flags)
+UCONTEXT_LINK			ucontext (uc_link)
+UCONTEXT_STACK			ucontext (uc_stack)
+UCONTEXT_MCONTEXT		ucontext (uc_mcontext)
+UCONTEXT_SIGMASK		ucontext (uc_sigmask)
+UCONTEXT_SIZE			sizeof (ucontext_t)
+
+STACK_SP			stack (ss_sp)
+STACK_SIZE			stack (ss_size)
+STACK_FLAGS			stack (ss_flags)
+
+oX0				mcontext (regs)
+oSP				mcontext (sp)
+oPC				mcontext (pc)
+oPSTATE				mcontext (pstate)
+oEXTENSION                      mcontext (__reserved)
+
+#define fpsimd_context(member)  offsetof (struct fpsimd_context, member)
+
+oHEAD                           fpsimd_context (head)
+oV0                             fpsimd_context (vregs)
+oFPSR                           fpsimd_context (fpsr)
+oFPCR                           fpsimd_context (fpcr)
+
+#define aarch64_ctx(member)  offsetof (struct _aarch64_ctx, member)
+
+oMAGIC                          aarch64_ctx (magic)
+oSIZE                           aarch64_ctx (size)
+
+FPSIMD_MAGIC
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S
new file mode 100644
index 0000000000..890bb3d14d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/aarch64/vfork.S
@@ -0,0 +1,42 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
+   License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#define _ERRNO_H	1
+#include <bits/errno.h>
+
+/* Clone the calling process, but without copying the whole address space.
+   The calling process is suspended until the new process exits or is
+   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
+   and the process ID of the new process to the old process.  */
+
+ENTRY (__vfork)
+
+	mov	x0, #0x4111	/* CLONE_VM | CLONE_VFORK | SIGCHLD */
+	mov	x1, sp
+	DO_CALL (clone, 2)
+
+	cmn	x0, #4095
+	b.cs    .Lsyscall_error
+	RET
+
+PSEUDO_END (__vfork)
+libc_hidden_def (__vfork)
+
+weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)