about summary refs log tree commit diff
path: root/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64')
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Implies1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile9
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Versions19
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S90
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__longjmp.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S36
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S105
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/c++-types.data67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S87
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure15
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac4
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h24
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c250
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S64
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h48
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist11
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist2
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist2220
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist8
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist14
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist464
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist124
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist247
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist100
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist56
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist44
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist7
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data29
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S51
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c57
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/personality.c3
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S40
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h28
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h256
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S38
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S67
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions5
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c78
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h31
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigjmp.S1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c33
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h23
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c47
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S39
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list10
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h109
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h162
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/time.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h27
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S41
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c59
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c1
-rw-r--r--REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c124
68 files changed, 5568 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Implies b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Implies
new file mode 100644
index 0000000000..8d91c80097
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Implies
@@ -0,0 +1 @@
+unix/sysv/linux/wordsize-64
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
new file mode 100644
index 0000000000..715af3df7b
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
@@ -0,0 +1,9 @@
+# See Makeconfig regarding the use of default-abi.
+default-abi := 64
+
+sysdep-CFLAGS += -fcall-used-g6
+LD += -melf64_sparc
+
+ifeq ($(subdir),stdlib)
+sysdep_routines += __start_context
+endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
new file mode 100644
index 0000000000..fbea1bb2ef
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
@@ -0,0 +1,19 @@
+libc {
+  GLIBC_2.0 {
+    # Exception handling support functions from libgcc
+    __register_frame; __register_frame_table; __deregister_frame;
+    __frame_state_for; __register_frame_info_table;
+  }
+  GLIBC_2.2.2 {
+    # w*
+    wordexp;
+  }
+}
+
+librt {
+  GLIBC_2.3.3 {
+    # Changed timer_t.
+    timer_create; timer_delete; timer_getoverrun; timer_gettime;
+    timer_settime;
+  }
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S
new file mode 100644
index 0000000000..aff42306c9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/____longjmp_chk.S
@@ -0,0 +1,90 @@
+/* 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/>.  */
+
+/* longjmp is implemented in terms of the setcontext trap on Linux/Sparc64.  */
+
+#include <sysdep.h>
+
+/* Offsets into the jmp_buf structure.  */
+
+#define O_mask_was_saved	512
+#define O_gregs			32
+#define O_g1			(O_gregs + 4*8)
+#define O_sp			(O_gregs + 17*8)
+
+.section .rodata.str1.1,"aMS",@progbits,1
+	.type	longjmp_msg,@object
+longjmp_msg:
+	.string "longjmp causes uninitialized stack frame"
+	.size	longjmp_msg, .-longjmp_msg
+
+	.text
+ENTRY (____longjmp_chk)
+	ldx	[%o0 + O_sp], %o2
+	cmp	%sp, %o2
+	bleu,pt	%xcc, .Lok
+	 nop
+
+	save	%sp, -208, %sp
+	cfi_remember_state
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+	add	%fp, 2023, %o1
+	clr	%o0
+	LOADSYSCALL(sigaltstack)
+	ta	0x6d
+	bcs,pn	%xcc, .Lok2
+	 lduw	[%fp + 2031], %l2
+	andcc	%l2, 0x1, %g0
+	be,pn	%xcc, .Lfail
+	 ldx	[%fp + 2023], %l0
+	ldx	[%fp + 2039], %l1
+	sub	%l0, STACK_BIAS, %l0
+	add	%l0, %l1, %l0
+	sub	%l0, %i2, %l0
+	cmp	%l0, %l1
+	bgeu,pt	%xcc, .Lok2
+	 nop
+
+.Lfail:
+#ifndef PIC
+	sethi	%hi(longjmp_msg), %o0
+	or	%o0, %lo(longjmp_msg), %o0
+#else
+	SETUP_PIC_REG(l7)
+	sethi	%gdop_hix22(longjmp_msg), %o0
+	xor	%o0, %gdop_lox10(longjmp_msg), %o0
+	ldx	[%l7 + %o0], %o0, %gdop(longjmp_msg)
+#endif
+	call	HIDDEN_JUMPTARGET(__fortify_fail)
+	 nop
+
+.Lok2:	restore
+	cfi_restore_state
+
+.Lok:
+	/* Modify the context with the value we want to return.  */
+	movre	%o1, 1, %o1
+	stx	%o1, [%o0 + O_g1]
+
+	/* Let setcontext know if we want to modify the current sigmask. */
+	ld	[%o0 + O_mask_was_saved], %o1
+
+	/* And bamf back to where we belong!  */
+	ta	0x6f
+END(____longjmp_chk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__longjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__longjmp.S
new file mode 100644
index 0000000000..3107179fdc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__longjmp.S
@@ -0,0 +1 @@
+/* There is no need for __longjmp what with setcontext.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
new file mode 100644
index 0000000000..1e6fcaede0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/__start_context.S
@@ -0,0 +1,36 @@
+/* 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
+
+/* This is the helper code which gets called if a function which is
+   registered with 'makecontext' returns.  In this case we have to
+   install the context listed in the uc_link element of the context
+   'makecontext' manipulated at the time of the 'makecontext' call.
+   If the pointer is NULL the process must terminate.  */
+
+ENTRY(__start_context)
+	brz,pn	%i0, 1f
+	 mov	1, %o1
+	call	__setcontext
+	 mov	%i0, %o0
+1:	call	HIDDEN_JUMPTARGET(exit)
+	 mov	0, %o0
+	unimp	0
+END(__start_context)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
new file mode 100644
index 0000000000..32fd3e75d1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S
@@ -0,0 +1,105 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* __brk is a special syscall under Linux since it never returns an
+   error.  Instead, the error condition is indicated by returning the old
+   break value (instead of the new, requested one).  */
+
+#include <sysdep.h>
+#define _ERRNO_H
+#include <bits/errno.h>
+
+#ifdef PIC
+.section .bss
+	.align 8
+	.globl __curbrk
+__curbrk: .skip 8
+	.type __curbrk,@object
+	.size __curbrk,8
+#else
+.common __curbrk, 8, 8
+#endif
+
+	.text
+ENTRY (__brk)
+	save	%sp, -192, %sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+#ifdef PIC
+	SETUP_PIC_REG(l7)
+#endif
+
+	LOADSYSCALL(brk)
+	mov	%i0, %o0
+
+	ta	0x6d
+
+	/* All the ways we can fail... */
+	bcs,pn	%xcc, .Lerr1
+	 nop
+	brz,pt	%i0, .Lok
+	 subcc	%i0, %o0, %g0
+	bne,pn	%xcc, .Lerr0
+	 nop
+
+	/* Update __curbrk and return cleanly.  */
+.Lok:
+#ifndef PIC
+	sethi	%hi(__curbrk), %g1
+	or	%g1, %lo(__curbrk), %g1
+#else
+	sethi	%gdop_hix22(__curbrk), %g1
+	xor	%g1, %gdop_lox10(__curbrk), %g1
+	ldx	[%l7 + %g1], %g1, %gdop(__curbrk)
+#endif
+	stx	%o0, [%g1]
+	mov	%g0, %i0
+
+	/* Don't use "ret" cause the preprocessor will eat it.  */
+	jmpl	%i7+8, %g0
+	 restore
+
+	/* What a horrible way to die.  */
+.Lerr0:	set	ENOMEM, %o0
+.Lerr1:
+#ifndef _LIBC_REENTRANT
+#ifndef PIC
+	sethi	%hi(errno), %g1
+	or	%g1, %lo(errno), %g1
+#else
+	sethi	%gdop_hix22(errno), %g1
+	xor	%g1, %gdop_lox10(errno), %g1
+	ldx	[%l7 + %g1], %g1, %gdop(errno)
+#endif
+	st	%o0, [%g1]
+#else
+#if IS_IN (libc)
+	call	HIDDEN_JUMPTARGET(__errno_location)
+#else
+	call	__errno_location
+#endif
+	 mov	%o0,%l1
+	st	%l1, [%o0]
+#endif
+	sub	%g0, 1, %i0
+	jmpl	%i7+8, %g0
+	 restore
+END (__brk)
+
+weak_alias (__brk, brk)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S
new file mode 100644
index 0000000000..4e6a2da560
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-_setjmp.S
@@ -0,0 +1 @@
+/* _setjmp is in setjmp.S  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S
new file mode 100644
index 0000000000..1da848d2f1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/bsd-setjmp.S
@@ -0,0 +1 @@
+/* setjmp is in setjmp.S  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/c++-types.data b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/c++-types.data
new file mode 100644
index 0000000000..5a04f4939a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/c++-types.data
@@ -0,0 +1,67 @@
+blkcnt64_t:l
+blkcnt_t:l
+blksize_t:l
+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:i
+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/sparc/sparc64/clone.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
new file mode 100644
index 0000000000..fc28539a59
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
@@ -0,0 +1,87 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* clone() is even more special than fork() as it mucks with stacks
+   and invokes a function in the right context after its all over.  */
+
+#include <asm/errno.h>
+#include <asm/unistd.h>
+#include <tcb-offsets.h>
+#include <sysdep.h>
+
+#define CLONE_VM	0x00000100
+
+/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+	     pid_t *ptid, void *tls, pid_t *ctid); */
+
+	.register	%g2,#scratch
+	.register	%g3,#scratch
+
+	.text
+
+ENTRY (__clone)
+	save	%sp, -192, %sp
+	cfi_def_cfa_register(%fp)
+	cfi_window_save
+	cfi_register(%o7, %i7)
+
+	/* sanity check arguments */
+	brz,pn	%i0, 99f		/* fn non-NULL? */
+	 mov	%i0, %g2
+	brz,pn	%i1, 99f		/* child_stack non-NULL? */
+	 mov	%i2, %o0		/* clone flags */
+
+	/* The child_stack is the top of the stack, allocate one
+	   whole stack frame from that as this is what the kernel
+	   expects.  Also, subtract STACK_BIAS.  */
+	sub	%i1, 192 + 0x7ff, %o1
+	mov	%i3, %g3
+
+	mov	%i4,%o2			/* PTID */
+	mov	%i5,%o3			/* TLS */
+	ldx	[%fp+0x7ff+176],%o4	/* CTID */
+
+	/* Do the system call */
+	set	__NR_clone, %g1
+	ta	0x6d
+	bcs,pn	%xcc, 98f
+	 nop
+	brnz,pn	%o1, __thread_start
+	 nop
+	jmpl	%i7 + 8, %g0
+	 restore %o0, %g0, %o0
+99:	mov	EINVAL, %o0
+98:	call	HIDDEN_JUMPTARGET(__errno_location)
+	 mov	%o0, %i0
+	st	%i0, [%o0]
+	jmpl	%i7 + 8, %g0
+	 restore %g0,-1,%o0
+END(__clone)
+
+	.type __thread_start,@function
+__thread_start:
+	mov	%g0, %fp	/* terminate backtrace */
+	call	%g2
+	 mov	%g3,%o0
+	call	HIDDEN_JUMPTARGET(_exit),0
+	 nop
+
+	.size	__thread_start, .-__thread_start
+
+libc_hidden_def (__clone)
+weak_alias (__clone, clone)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure
new file mode 100644
index 0000000000..8f88eff4a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure
@@ -0,0 +1,15 @@
+# This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
+ # Local configure fragment for sysdeps/unix/sysv/linux/sparc/sparc64.
+
+test -n "$libc_cv_slibdir" ||
+case "$prefix" in
+/usr | /usr/)
+  libc_cv_slibdir=/lib64
+  libc_cv_rtlddir=/lib64
+  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/sparc/sparc64/configure.ac b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac
new file mode 100644
index 0000000000..979bb8d923
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/configure.ac
@@ -0,0 +1,4 @@
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/sparc/sparc64.
+
+LIBC_SLIBDIR_RTLDDIR([lib64], [lib64])
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S
new file mode 100644
index 0000000000..eeb96544e3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-brk.S
@@ -0,0 +1 @@
+#include <brk.S>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h
new file mode 100644
index 0000000000..57c5769179
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-cache.h
@@ -0,0 +1,24 @@
+/* Support for reading /etc/ld.so.cache files written by Linux ldconfig.
+   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/>.  */
+
+#define _DL_CACHE_DEFAULT_ID	0x103
+
+#define _dl_cache_check_flags(flags)			\
+  ((flags) == _DL_CACHE_DEFAULT_ID)
+
+#include_next <dl-cache.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c
new file mode 100644
index 0000000000..330b33f7c7
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/dl-fxstatat64.c
@@ -0,0 +1 @@
+#include "fxstatat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
new file mode 100644
index 0000000000..e328ccbab0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c
@@ -0,0 +1 @@
+#include "../../i386/fxstat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c
new file mode 100644
index 0000000000..db08af8e0f
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/fxstatat.c
@@ -0,0 +1 @@
+#include "../../i386/fxstatat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
new file mode 100644
index 0000000000..a0349790dc
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
@@ -0,0 +1,250 @@
+/* Get frequency of the system processor.  sparc64 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 <ctype.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <sys/ioctl.h>
+#include <asm/openpromio.h>
+
+static hp_timing_t
+__get_clockfreq_via_cpuinfo (void)
+{
+  hp_timing_t result;
+  int fd;
+
+  result = 0;
+
+  fd = __open ("/proc/cpuinfo", O_RDONLY);
+  if (fd != -1)
+    {
+      char buf[8192];
+      ssize_t n;
+
+      n = __read (fd, buf, sizeof buf);
+      if (n > 0)
+	{
+	  char *mhz = memmem (buf, n, "Cpu0ClkTck", 7);
+
+	  if (mhz != NULL)
+	    {
+	      char *endp = buf + n;
+
+	      /* Search for the beginning of the string.  */
+	      while (mhz < endp
+		     && (*mhz < '0' || *mhz > '9')
+		     && (*mhz < 'a' || *mhz > 'f')
+		     && *mhz != '\n')
+		++mhz;
+
+	      while (mhz < endp && *mhz != '\n')
+		{
+		  if ((*mhz >= '0' && *mhz <= '9') ||
+		      (*mhz >= 'a' && *mhz <= 'f'))
+		    {
+		      result <<= 4;
+		      if (*mhz >= '0' && *mhz <= '9')
+			result += *mhz - '0';
+		      else
+			result += (*mhz - 'a') + 10;
+		    }
+		  ++mhz;
+		}
+	    }
+	}
+
+      __close (fd);
+    }
+
+  return result;
+}
+
+static hp_timing_t
+__get_clockfreq_via_proc_openprom (void)
+{
+  hp_timing_t result;
+  int obp_fd;
+
+  result = 0;
+
+  obp_fd = __open ("/proc/openprom", O_RDONLY);
+  if (obp_fd != -1)
+    {
+      unsigned long int buf[4096 / sizeof (unsigned long int)];
+      struct dirent *dirp = (struct dirent *) buf;
+      ssize_t len;
+
+      while ((len = __getdents (obp_fd, (char *) dirp, sizeof (buf))) > 0)
+	{
+	  struct dirent *this_dirp = dirp;
+
+	  while (len > 0)
+	    {
+	      char node[strlen ("/proc/openprom/")
+			+ _D_ALLOC_NAMLEN (this_dirp)
+			+ strlen ("/clock-frequency")];
+	      char *prop;
+	      int fd;
+
+	      /* Note that
+		   strlen("/clock-frequency") > strlen("/device_type")
+	      */
+	      __stpcpy (prop = __stpcpy (__stpcpy (node, "/proc/openprom/"),
+					 this_dirp->d_name),
+			"/device_type");
+	      fd = __open (node, O_RDONLY);
+	      if (fd != -1)
+		{
+		  char type_string[128];
+		  int ret;
+
+		  ret = __read (fd, type_string, sizeof (type_string));
+		  if (ret > 0 && strncmp (type_string, "'cpu'", 5) == 0)
+		    {
+		      int clkfreq_fd;
+
+		      __stpcpy (prop, "/clock-frequency");
+		      clkfreq_fd = __open (node, O_RDONLY);
+		      if (clkfreq_fd != -1)
+			{
+			  if (__read (clkfreq_fd, type_string,
+				      sizeof (type_string)) > 0)
+			    result = (hp_timing_t)
+			      strtoumax (type_string, NULL, 16);
+			  __close (clkfreq_fd);
+			}
+		    }
+		  __close (fd);
+		}
+
+	      if (result != 0)
+		break;
+
+	      len -= this_dirp->d_reclen;
+	      this_dirp = (struct dirent *)
+		((char *) this_dirp + this_dirp->d_reclen);
+	    }
+	  if (result != 0)
+	    break;
+	}
+      __close (obp_fd);
+    }
+
+  return result;
+}
+
+static void set_obp_int (struct openpromio *op, int val)
+{
+  char *cp = op->oprom_array;
+  int *ip = (int *) cp;
+
+  *ip = val;
+}
+
+static int get_obp_int (struct openpromio *op)
+{
+  char *cp = op->oprom_array;
+  int *ip = (int *) cp;
+
+  return *ip;
+}
+
+static hp_timing_t
+__get_clockfreq_via_dev_openprom (void)
+{
+  hp_timing_t result;
+  int obp_dev_fd;
+
+  result = 0;
+
+  obp_dev_fd = __open ("/dev/openprom", O_RDONLY);
+  if (obp_dev_fd != -1)
+    {
+      char obp_buf[8192];
+      struct openpromio *obp_cmd = (struct openpromio *)obp_buf;
+      int ret;
+
+      obp_cmd->oprom_size =
+	sizeof (obp_buf) - sizeof (unsigned int);
+      set_obp_int (obp_cmd, 0);
+      ret = __ioctl (obp_dev_fd, OPROMCHILD, (char *) obp_cmd);
+      if (ret == 0)
+	{
+	  int cur_node = get_obp_int (obp_cmd);
+
+	  while (cur_node != 0 && cur_node != -1)
+	    {
+	      obp_cmd->oprom_size = sizeof (obp_buf) - sizeof (unsigned int);
+	      strcpy (obp_cmd->oprom_array, "device_type");
+	      ret = __ioctl (obp_dev_fd, OPROMGETPROP, (char *) obp_cmd);
+	      if (ret == 0
+		  && strncmp (obp_cmd->oprom_array, "cpu", 3) == 0)
+		{
+		  obp_cmd->oprom_size = (sizeof (obp_buf)
+					 - sizeof (unsigned int));
+		  strcpy (obp_cmd->oprom_array, "clock-frequency");
+		  ret = __ioctl (obp_dev_fd, OPROMGETPROP, (char *) obp_cmd);
+		  if (ret == 0)
+		    result = (hp_timing_t) get_obp_int (obp_cmd);
+		}
+	      obp_cmd->oprom_size = sizeof (obp_buf) - sizeof (unsigned int);
+	      set_obp_int (obp_cmd, cur_node);
+	      ret = __ioctl (obp_dev_fd, OPROMNEXT, (char *) obp_cmd);
+	      if (ret < 0)
+		break;
+	      cur_node = get_obp_int (obp_cmd);
+	    }
+	}
+    }
+
+  return result;
+}
+
+hp_timing_t
+__get_clockfreq (void)
+{
+  static hp_timing_t result;
+
+  /* If this function was called before, we know the result.  */
+  if (result != 0)
+    return result;
+
+  /* We first read the information from the /proc/cpuinfo file.
+     It contains at least one line like
+	Cpu0ClkTick         : 000000002cb41780
+     We search for this line and convert the number in an integer.  */
+  result = __get_clockfreq_via_cpuinfo ();
+  if (result != 0)
+    return result;
+
+  /* If that did not work, try to find an OpenPROM node
+     with device_type equal to 'cpu' using /dev/openprom
+     and fetch the clock-frequency property from there.  */
+  result = __get_clockfreq_via_dev_openprom ();
+  if (result != 0)
+    return result;
+
+  /* Finally, try the same lookup as above but using /proc/openprom.  */
+  result = __get_clockfreq_via_proc_openprom ();
+
+  return result;
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S
new file mode 100644
index 0000000000..9cdaff9545
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/getcontext.S
@@ -0,0 +1,64 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+
+/* int getcontext(ucontext_t *); */
+
+ENTRY(__getcontext)
+
+	ldx	[%o0 + UC_LINK], %o1	/* Preserve uc_link field, the
+					   trap clears it.  */
+	ta	0x6e
+1:
+	ldx	[%o0 + UC_M_PC], %o2
+	ldx	[%o0 + UC_M_NPC], %o3
+	ldx	[%o0 + __UC_SIGMASK], %o4
+	stx	%o1, [%o0 + UC_LINK]
+	add	%o2, 2f - 1b, %o2
+	stx	%o2, [%o0 + UC_M_PC]
+	add	%o3, 2f - 1b, %o3
+	stx	%o3, [%o0 + UC_M_NPC]
+#if SIGMASK_WORDS == 16
+	stx	%o4, [%o0 + UC_SIGMASK]
+	stx	%g0, [%o0 + UC_SIGMASK + 8]
+	stx	%g0, [%o0 + UC_SIGMASK + 16]
+	stx	%g0, [%o0 + UC_SIGMASK + 24]
+	stx	%g0, [%o0 + UC_SIGMASK + 32]
+	stx	%g0, [%o0 + UC_SIGMASK + 40]
+	stx	%g0, [%o0 + UC_SIGMASK + 48]
+	stx	%g0, [%o0 + UC_SIGMASK + 56]
+	stx	%g0, [%o0 + UC_SIGMASK + 64]
+	stx	%g0, [%o0 + UC_SIGMASK + 72]
+	stx	%g0, [%o0 + UC_SIGMASK + 80]
+	stx	%g0, [%o0 + UC_SIGMASK + 88]
+	stx	%g0, [%o0 + UC_SIGMASK + 96]
+	stx	%g0, [%o0 + UC_SIGMASK + 104]
+	stx	%g0, [%o0 + UC_SIGMASK + 112]
+	stx	%g0, [%o0 + UC_SIGMASK + 120]
+#else
+# error Adjust __getcontext
+#endif
+2:
+	retl
+	 clr	%o0
+
+END(__getcontext)
+
+weak_alias (__getcontext, getcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h
new file mode 100644
index 0000000000..c588c41908
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ipc_priv.h
@@ -0,0 +1,41 @@
+/* Old SysV permission definition for Linux.  x86_64 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
+
+struct __old_ipc_perm
+{
+  __key_t __key;		/* Key.  */
+  unsigned int uid;		/* Owner's user ID.  */
+  unsigned int gid;		/* Owner's group ID.  */
+  unsigned int cuid;		/* Creator's user ID.  */
+  unsigned int cgid;		/* Creator's group ID.  */
+  unsigned int mode;		/* Read/write permission.  */
+  unsigned short int __seq;	/* Sequence number.  */
+};
+
+/* SPARC semctl multiplex syscall expects the union pointed address, not
+   the union address itself.  */
+#define SEMCTL_ARG_ADDRESS(__arg) __arg.array
+
+/* Also for msgrcv it does not use the kludge on final 2 arguments.  */
+#define MSGRCV_ARGS(__msgp, __msgtyp) __msgp, __msgtyp
+
+#include <ipc_ops.h>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
new file mode 100644
index 0000000000..30afb553b9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/kernel_stat.h
@@ -0,0 +1,48 @@
+/* Definition of `struct stat' used in the kernel */
+struct kernel_stat
+  {
+    unsigned int st_dev;
+    unsigned long int st_ino;
+    unsigned int st_mode;
+    short int st_nlink;
+    unsigned int st_uid;
+    unsigned int st_gid;
+    unsigned int st_rdev;
+    long int st_size;
+    long int st_atime_sec;
+    long int st_mtime_sec;
+    long int st_ctime_sec;
+    long int st_blksize;
+    long int st_blocks;
+    unsigned long int __glibc_reserved1;
+    unsigned long int __glibc_reserved2;
+  };
+
+/* Definition of `struct stat64' used in the kernel.  */
+struct kernel_stat64
+  {
+    unsigned long int st_dev;
+    unsigned long int st_ino;
+    unsigned long int st_nlink;
+
+    unsigned int st_mode;
+    unsigned int st_uid;
+    unsigned int st_gid;
+    unsigned int __pad0;
+
+    unsigned long int st_rdev;
+    long int st_size;
+    long int st_blksize;
+    long int st_blocks;
+
+    unsigned long int st_atime_sec;
+    unsigned long int st_atime_nsec;
+    unsigned long int st_mtime_sec;
+    unsigned long int st_mtime_nsec;
+    unsigned long int st_ctime_sec;
+    unsigned long int st_ctime_nsec;
+    long int __glibc_reserved[3];
+  };
+
+#define XSTAT_IS_XSTAT64 1
+#define STATFS_IS_STATFS64 0
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
new file mode 100644
index 0000000000..9b45d5e90c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ld.abilist
@@ -0,0 +1,11 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __libc_stack_end D 0x8
+GLIBC_2.2 _dl_mcount F
+GLIBC_2.2 _r_debug D 0x28
+GLIBC_2.2 calloc F
+GLIBC_2.2 free F
+GLIBC_2.2 malloc F
+GLIBC_2.2 realloc F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __tls_get_addr F
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist
new file mode 100644
index 0000000000..21343df781
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libBrokenLocale.abilist
@@ -0,0 +1,2 @@
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __ctype_get_mb_cur_max F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist
new file mode 100644
index 0000000000..edabfb436e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libanl.abilist
@@ -0,0 +1,5 @@
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 gai_cancel F
+GLIBC_2.2.3 gai_error F
+GLIBC_2.2.3 gai_suspend F
+GLIBC_2.2.3 getaddrinfo_a F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
new file mode 100644
index 0000000000..1653164d9e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -0,0 +1,2220 @@
+GCC_3.0 GCC_3.0 A
+GCC_3.0 _Unwind_Find_FDE F
+GCC_3.0 __deregister_frame_info_bases F
+GCC_3.0 __register_frame_info_bases F
+GCC_3.0 __register_frame_info_table_bases F
+GLIBC_2.10 GLIBC_2.10 A
+GLIBC_2.10 __cxa_at_quick_exit F
+GLIBC_2.10 __posix_getopt F
+GLIBC_2.10 accept4 F
+GLIBC_2.10 endsgent F
+GLIBC_2.10 fallocate F
+GLIBC_2.10 fallocate64 F
+GLIBC_2.10 fgetsgent F
+GLIBC_2.10 fgetsgent_r F
+GLIBC_2.10 getsgent F
+GLIBC_2.10 getsgent_r F
+GLIBC_2.10 getsgnam F
+GLIBC_2.10 getsgnam_r F
+GLIBC_2.10 malloc_info F
+GLIBC_2.10 preadv F
+GLIBC_2.10 preadv64 F
+GLIBC_2.10 psiginfo F
+GLIBC_2.10 putsgent F
+GLIBC_2.10 pwritev F
+GLIBC_2.10 pwritev64 F
+GLIBC_2.10 quick_exit F
+GLIBC_2.10 register_printf_modifier F
+GLIBC_2.10 register_printf_specifier F
+GLIBC_2.10 register_printf_type F
+GLIBC_2.10 setsgent F
+GLIBC_2.10 sgetsgent F
+GLIBC_2.10 sgetsgent_r F
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 __longjmp_chk F
+GLIBC_2.11 execvpe F
+GLIBC_2.11 mkostemps F
+GLIBC_2.11 mkostemps64 F
+GLIBC_2.11 mkstemps F
+GLIBC_2.11 mkstemps64 F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 _sys_errlist D 0x438
+GLIBC_2.12 _sys_nerr D 0x4
+GLIBC_2.12 ntp_gettimex F
+GLIBC_2.12 recvmmsg F
+GLIBC_2.12 sys_errlist D 0x438
+GLIBC_2.12 sys_nerr D 0x4
+GLIBC_2.13 GLIBC_2.13 A
+GLIBC_2.13 fanotify_init F
+GLIBC_2.13 fanotify_mark F
+GLIBC_2.13 prlimit F
+GLIBC_2.13 prlimit64 F
+GLIBC_2.14 GLIBC_2.14 A
+GLIBC_2.14 clock_adjtime F
+GLIBC_2.14 name_to_handle_at F
+GLIBC_2.14 open_by_handle_at F
+GLIBC_2.14 sendmmsg F
+GLIBC_2.14 setns F
+GLIBC_2.14 syncfs F
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __fdelt_chk F
+GLIBC_2.15 __fdelt_warn F
+GLIBC_2.15 posix_spawn F
+GLIBC_2.15 posix_spawnp F
+GLIBC_2.15 process_vm_readv F
+GLIBC_2.15 process_vm_writev F
+GLIBC_2.15 scandirat F
+GLIBC_2.15 scandirat64 F
+GLIBC_2.16 GLIBC_2.16 A
+GLIBC_2.16 __getauxval F
+GLIBC_2.16 __getshmlba F
+GLIBC_2.16 __poll_chk F
+GLIBC_2.16 __ppoll_chk F
+GLIBC_2.16 _sys_errlist D 0x440
+GLIBC_2.16 _sys_nerr D 0x4
+GLIBC_2.16 aligned_alloc F
+GLIBC_2.16 c16rtomb F
+GLIBC_2.16 c32rtomb F
+GLIBC_2.16 getauxval F
+GLIBC_2.16 mbrtoc16 F
+GLIBC_2.16 mbrtoc32 F
+GLIBC_2.16 sys_errlist D 0x440
+GLIBC_2.16 sys_nerr D 0x4
+GLIBC_2.16 timespec_get F
+GLIBC_2.17 GLIBC_2.17 A
+GLIBC_2.17 clock_getcpuclockid F
+GLIBC_2.17 clock_getres F
+GLIBC_2.17 clock_gettime F
+GLIBC_2.17 clock_nanosleep F
+GLIBC_2.17 clock_settime F
+GLIBC_2.17 secure_getenv F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __cxa_thread_atexit_impl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _Exit F
+GLIBC_2.2 _IO_2_1_stderr_ D 0xe0
+GLIBC_2.2 _IO_2_1_stdin_ D 0xe0
+GLIBC_2.2 _IO_2_1_stdout_ D 0xe0
+GLIBC_2.2 _IO_adjust_column F
+GLIBC_2.2 _IO_adjust_wcolumn F
+GLIBC_2.2 _IO_default_doallocate F
+GLIBC_2.2 _IO_default_finish F
+GLIBC_2.2 _IO_default_pbackfail F
+GLIBC_2.2 _IO_default_uflow F
+GLIBC_2.2 _IO_default_xsgetn F
+GLIBC_2.2 _IO_default_xsputn F
+GLIBC_2.2 _IO_do_write F
+GLIBC_2.2 _IO_doallocbuf F
+GLIBC_2.2 _IO_fclose F
+GLIBC_2.2 _IO_fdopen F
+GLIBC_2.2 _IO_feof F
+GLIBC_2.2 _IO_ferror F
+GLIBC_2.2 _IO_fflush F
+GLIBC_2.2 _IO_fgetpos F
+GLIBC_2.2 _IO_fgetpos64 F
+GLIBC_2.2 _IO_fgets F
+GLIBC_2.2 _IO_file_attach F
+GLIBC_2.2 _IO_file_close F
+GLIBC_2.2 _IO_file_close_it F
+GLIBC_2.2 _IO_file_doallocate F
+GLIBC_2.2 _IO_file_finish F
+GLIBC_2.2 _IO_file_fopen F
+GLIBC_2.2 _IO_file_init F
+GLIBC_2.2 _IO_file_jumps D 0xa8
+GLIBC_2.2 _IO_file_open F
+GLIBC_2.2 _IO_file_overflow F
+GLIBC_2.2 _IO_file_read F
+GLIBC_2.2 _IO_file_seek F
+GLIBC_2.2 _IO_file_seekoff F
+GLIBC_2.2 _IO_file_setbuf F
+GLIBC_2.2 _IO_file_stat F
+GLIBC_2.2 _IO_file_sync F
+GLIBC_2.2 _IO_file_underflow F
+GLIBC_2.2 _IO_file_write F
+GLIBC_2.2 _IO_file_xsputn F
+GLIBC_2.2 _IO_flockfile F
+GLIBC_2.2 _IO_flush_all F
+GLIBC_2.2 _IO_flush_all_linebuffered F
+GLIBC_2.2 _IO_fopen F
+GLIBC_2.2 _IO_fprintf F
+GLIBC_2.2 _IO_fputs F
+GLIBC_2.2 _IO_fread F
+GLIBC_2.2 _IO_free_backup_area F
+GLIBC_2.2 _IO_free_wbackup_area F
+GLIBC_2.2 _IO_fsetpos F
+GLIBC_2.2 _IO_fsetpos64 F
+GLIBC_2.2 _IO_ftell F
+GLIBC_2.2 _IO_ftrylockfile F
+GLIBC_2.2 _IO_funlockfile F
+GLIBC_2.2 _IO_fwrite F
+GLIBC_2.2 _IO_getc F
+GLIBC_2.2 _IO_getline F
+GLIBC_2.2 _IO_getline_info F
+GLIBC_2.2 _IO_gets F
+GLIBC_2.2 _IO_init F
+GLIBC_2.2 _IO_init_marker F
+GLIBC_2.2 _IO_init_wmarker F
+GLIBC_2.2 _IO_iter_begin F
+GLIBC_2.2 _IO_iter_end F
+GLIBC_2.2 _IO_iter_file F
+GLIBC_2.2 _IO_iter_next F
+GLIBC_2.2 _IO_least_wmarker F
+GLIBC_2.2 _IO_link_in F
+GLIBC_2.2 _IO_list_all D 0x8
+GLIBC_2.2 _IO_list_lock F
+GLIBC_2.2 _IO_list_resetlock F
+GLIBC_2.2 _IO_list_unlock F
+GLIBC_2.2 _IO_marker_delta F
+GLIBC_2.2 _IO_marker_difference F
+GLIBC_2.2 _IO_padn F
+GLIBC_2.2 _IO_peekc_locked F
+GLIBC_2.2 _IO_popen F
+GLIBC_2.2 _IO_printf F
+GLIBC_2.2 _IO_proc_close F
+GLIBC_2.2 _IO_proc_open F
+GLIBC_2.2 _IO_putc F
+GLIBC_2.2 _IO_puts F
+GLIBC_2.2 _IO_remove_marker F
+GLIBC_2.2 _IO_seekmark F
+GLIBC_2.2 _IO_seekoff F
+GLIBC_2.2 _IO_seekpos F
+GLIBC_2.2 _IO_seekwmark F
+GLIBC_2.2 _IO_setb F
+GLIBC_2.2 _IO_setbuffer F
+GLIBC_2.2 _IO_setvbuf F
+GLIBC_2.2 _IO_sgetn F
+GLIBC_2.2 _IO_sprintf F
+GLIBC_2.2 _IO_sputbackc F
+GLIBC_2.2 _IO_sputbackwc F
+GLIBC_2.2 _IO_sscanf F
+GLIBC_2.2 _IO_str_init_readonly F
+GLIBC_2.2 _IO_str_init_static F
+GLIBC_2.2 _IO_str_overflow F
+GLIBC_2.2 _IO_str_pbackfail F
+GLIBC_2.2 _IO_str_seekoff F
+GLIBC_2.2 _IO_str_underflow F
+GLIBC_2.2 _IO_sungetc F
+GLIBC_2.2 _IO_sungetwc F
+GLIBC_2.2 _IO_switch_to_get_mode F
+GLIBC_2.2 _IO_switch_to_main_wget_area F
+GLIBC_2.2 _IO_switch_to_wbackup_area F
+GLIBC_2.2 _IO_switch_to_wget_mode F
+GLIBC_2.2 _IO_un_link F
+GLIBC_2.2 _IO_ungetc F
+GLIBC_2.2 _IO_unsave_markers F
+GLIBC_2.2 _IO_unsave_wmarkers F
+GLIBC_2.2 _IO_vfprintf F
+GLIBC_2.2 _IO_vfscanf F
+GLIBC_2.2 _IO_vsprintf F
+GLIBC_2.2 _IO_wdefault_doallocate F
+GLIBC_2.2 _IO_wdefault_finish F
+GLIBC_2.2 _IO_wdefault_pbackfail F
+GLIBC_2.2 _IO_wdefault_uflow F
+GLIBC_2.2 _IO_wdefault_xsgetn F
+GLIBC_2.2 _IO_wdefault_xsputn F
+GLIBC_2.2 _IO_wdo_write F
+GLIBC_2.2 _IO_wdoallocbuf F
+GLIBC_2.2 _IO_wfile_jumps D 0xa8
+GLIBC_2.2 _IO_wfile_overflow F
+GLIBC_2.2 _IO_wfile_seekoff F
+GLIBC_2.2 _IO_wfile_sync F
+GLIBC_2.2 _IO_wfile_underflow F
+GLIBC_2.2 _IO_wfile_xsputn F
+GLIBC_2.2 _IO_wmarker_delta F
+GLIBC_2.2 _IO_wsetb F
+GLIBC_2.2 _Qp_add F
+GLIBC_2.2 _Qp_cmp F
+GLIBC_2.2 _Qp_cmpe F
+GLIBC_2.2 _Qp_div F
+GLIBC_2.2 _Qp_dtoq F
+GLIBC_2.2 _Qp_feq F
+GLIBC_2.2 _Qp_fge F
+GLIBC_2.2 _Qp_fgt F
+GLIBC_2.2 _Qp_fle F
+GLIBC_2.2 _Qp_flt F
+GLIBC_2.2 _Qp_fne F
+GLIBC_2.2 _Qp_itoq F
+GLIBC_2.2 _Qp_mul F
+GLIBC_2.2 _Qp_neg F
+GLIBC_2.2 _Qp_qtod F
+GLIBC_2.2 _Qp_qtoi F
+GLIBC_2.2 _Qp_qtos F
+GLIBC_2.2 _Qp_qtoui F
+GLIBC_2.2 _Qp_qtoux F
+GLIBC_2.2 _Qp_qtox F
+GLIBC_2.2 _Qp_sqrt F
+GLIBC_2.2 _Qp_stoq F
+GLIBC_2.2 _Qp_sub F
+GLIBC_2.2 _Qp_uitoq F
+GLIBC_2.2 _Qp_uxtoq F
+GLIBC_2.2 _Qp_xtoq F
+GLIBC_2.2 __adjtimex F
+GLIBC_2.2 __after_morecore_hook D 0x8
+GLIBC_2.2 __align_cpy_1 F
+GLIBC_2.2 __align_cpy_16 F
+GLIBC_2.2 __align_cpy_2 F
+GLIBC_2.2 __align_cpy_4 F
+GLIBC_2.2 __align_cpy_8 F
+GLIBC_2.2 __argz_count F
+GLIBC_2.2 __argz_next F
+GLIBC_2.2 __argz_stringify F
+GLIBC_2.2 __asprintf F
+GLIBC_2.2 __assert F
+GLIBC_2.2 __assert_fail F
+GLIBC_2.2 __assert_perror_fail F
+GLIBC_2.2 __backtrace F
+GLIBC_2.2 __backtrace_symbols F
+GLIBC_2.2 __backtrace_symbols_fd F
+GLIBC_2.2 __bsd_getpgrp F
+GLIBC_2.2 __bzero F
+GLIBC_2.2 __check_rhosts_file D 0x4
+GLIBC_2.2 __clone F
+GLIBC_2.2 __close F
+GLIBC_2.2 __cmsg_nxthdr F
+GLIBC_2.2 __connect F
+GLIBC_2.2 __ctype32_b D 0x8
+GLIBC_2.2 __ctype32_tolower D 0x8
+GLIBC_2.2 __ctype32_toupper D 0x8
+GLIBC_2.2 __ctype_b D 0x8
+GLIBC_2.2 __ctype_get_mb_cur_max F
+GLIBC_2.2 __ctype_tolower D 0x8
+GLIBC_2.2 __ctype_toupper D 0x8
+GLIBC_2.2 __curbrk D 0x8
+GLIBC_2.2 __cxa_atexit F
+GLIBC_2.2 __cxa_finalize F
+GLIBC_2.2 __cyg_profile_func_enter F
+GLIBC_2.2 __cyg_profile_func_exit F
+GLIBC_2.2 __daylight D 0x4
+GLIBC_2.2 __dcgettext F
+GLIBC_2.2 __default_morecore F
+GLIBC_2.2 __deregister_frame F
+GLIBC_2.2 __deregister_frame_info F
+GLIBC_2.2 __dgettext F
+GLIBC_2.2 __dup2 F
+GLIBC_2.2 __duplocale F
+GLIBC_2.2 __endmntent F
+GLIBC_2.2 __environ D 0x8
+GLIBC_2.2 __errno_location F
+GLIBC_2.2 __fbufsize F
+GLIBC_2.2 __fcntl F
+GLIBC_2.2 __ffs F
+GLIBC_2.2 __finite F
+GLIBC_2.2 __finitef F
+GLIBC_2.2 __finitel F
+GLIBC_2.2 __flbf F
+GLIBC_2.2 __fork F
+GLIBC_2.2 __fpending F
+GLIBC_2.2 __fpu_control D 0x8
+GLIBC_2.2 __fpurge F
+GLIBC_2.2 __frame_state_for F
+GLIBC_2.2 __freadable F
+GLIBC_2.2 __freading F
+GLIBC_2.2 __free_hook D 0x8
+GLIBC_2.2 __freelocale F
+GLIBC_2.2 __fsetlocking F
+GLIBC_2.2 __fwritable F
+GLIBC_2.2 __fwriting F
+GLIBC_2.2 __fxstat F
+GLIBC_2.2 __fxstat64 F
+GLIBC_2.2 __getdelim F
+GLIBC_2.2 __getmntent_r F
+GLIBC_2.2 __getpagesize F
+GLIBC_2.2 __getpgid F
+GLIBC_2.2 __getpid F
+GLIBC_2.2 __gettimeofday F
+GLIBC_2.2 __gmtime_r F
+GLIBC_2.2 __h_errno_location F
+GLIBC_2.2 __isalnum_l F
+GLIBC_2.2 __isalpha_l F
+GLIBC_2.2 __isascii_l F
+GLIBC_2.2 __isblank_l F
+GLIBC_2.2 __iscntrl_l F
+GLIBC_2.2 __isdigit_l F
+GLIBC_2.2 __isgraph_l F
+GLIBC_2.2 __isinf F
+GLIBC_2.2 __isinff F
+GLIBC_2.2 __isinfl F
+GLIBC_2.2 __islower_l F
+GLIBC_2.2 __isnan F
+GLIBC_2.2 __isnanf F
+GLIBC_2.2 __isnanl F
+GLIBC_2.2 __isprint_l F
+GLIBC_2.2 __ispunct_l F
+GLIBC_2.2 __isspace_l F
+GLIBC_2.2 __isupper_l F
+GLIBC_2.2 __iswalnum_l F
+GLIBC_2.2 __iswalpha_l F
+GLIBC_2.2 __iswblank_l F
+GLIBC_2.2 __iswcntrl_l F
+GLIBC_2.2 __iswctype F
+GLIBC_2.2 __iswctype_l F
+GLIBC_2.2 __iswdigit_l F
+GLIBC_2.2 __iswgraph_l F
+GLIBC_2.2 __iswlower_l F
+GLIBC_2.2 __iswprint_l F
+GLIBC_2.2 __iswpunct_l F
+GLIBC_2.2 __iswspace_l F
+GLIBC_2.2 __iswupper_l F
+GLIBC_2.2 __iswxdigit_l F
+GLIBC_2.2 __isxdigit_l F
+GLIBC_2.2 __ivaliduser F
+GLIBC_2.2 __key_decryptsession_pk_LOCAL D 0x8
+GLIBC_2.2 __key_encryptsession_pk_LOCAL D 0x8
+GLIBC_2.2 __key_gendes_LOCAL D 0x8
+GLIBC_2.2 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_calloc F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __libc_free F
+GLIBC_2.2 __libc_freeres F
+GLIBC_2.2 __libc_init_first F
+GLIBC_2.2 __libc_mallinfo F
+GLIBC_2.2 __libc_malloc F
+GLIBC_2.2 __libc_mallopt F
+GLIBC_2.2 __libc_memalign F
+GLIBC_2.2 __libc_pvalloc F
+GLIBC_2.2 __libc_realloc F
+GLIBC_2.2 __libc_sa_len F
+GLIBC_2.2 __libc_start_main F
+GLIBC_2.2 __libc_valloc F
+GLIBC_2.2 __lseek F
+GLIBC_2.2 __lxstat F
+GLIBC_2.2 __lxstat64 F
+GLIBC_2.2 __malloc_hook D 0x8
+GLIBC_2.2 __malloc_initialize_hook D 0x8
+GLIBC_2.2 __mbrlen F
+GLIBC_2.2 __mbrtowc F
+GLIBC_2.2 __memalign_hook D 0x8
+GLIBC_2.2 __mempcpy F
+GLIBC_2.2 __mempcpy_small F
+GLIBC_2.2 __monstartup F
+GLIBC_2.2 __morecore D 0x8
+GLIBC_2.2 __newlocale F
+GLIBC_2.2 __nl_langinfo_l F
+GLIBC_2.2 __nss_configure_lookup F
+GLIBC_2.2 __nss_database_lookup F
+GLIBC_2.2 __nss_group_lookup F
+GLIBC_2.2 __nss_hosts_lookup F
+GLIBC_2.2 __nss_next F
+GLIBC_2.2 __nss_passwd_lookup F
+GLIBC_2.2 __open F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __overflow F
+GLIBC_2.2 __pipe F
+GLIBC_2.2 __poll F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __printf_fp F
+GLIBC_2.2 __profile_frequency F
+GLIBC_2.2 __progname D 0x8
+GLIBC_2.2 __progname_full D 0x8
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __rawmemchr F
+GLIBC_2.2 __rcmd_errstr D 0x8
+GLIBC_2.2 __read F
+GLIBC_2.2 __realloc_hook D 0x8
+GLIBC_2.2 __register_frame F
+GLIBC_2.2 __register_frame_info F
+GLIBC_2.2 __register_frame_info_table F
+GLIBC_2.2 __register_frame_table F
+GLIBC_2.2 __res_init F
+GLIBC_2.2 __res_nclose F
+GLIBC_2.2 __res_ninit F
+GLIBC_2.2 __res_randomid F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __sbrk F
+GLIBC_2.2 __sched_get_priority_max F
+GLIBC_2.2 __sched_get_priority_min F
+GLIBC_2.2 __sched_getparam F
+GLIBC_2.2 __sched_getscheduler F
+GLIBC_2.2 __sched_setscheduler F
+GLIBC_2.2 __sched_yield F
+GLIBC_2.2 __secure_getenv F
+GLIBC_2.2 __select F
+GLIBC_2.2 __send F
+GLIBC_2.2 __setmntent F
+GLIBC_2.2 __setpgid F
+GLIBC_2.2 __sigaction F
+GLIBC_2.2 __sigaddset F
+GLIBC_2.2 __sigdelset F
+GLIBC_2.2 __sigismember F
+GLIBC_2.2 __signbit F
+GLIBC_2.2 __signbitf F
+GLIBC_2.2 __signbitl F
+GLIBC_2.2 __sigpause F
+GLIBC_2.2 __sigsetjmp F
+GLIBC_2.2 __sigsuspend F
+GLIBC_2.2 __statfs F
+GLIBC_2.2 __stpcpy F
+GLIBC_2.2 __stpcpy_small F
+GLIBC_2.2 __stpncpy F
+GLIBC_2.2 __strcasecmp F
+GLIBC_2.2 __strcasecmp_l F
+GLIBC_2.2 __strcasestr F
+GLIBC_2.2 __strcoll_l F
+GLIBC_2.2 __strcpy_small F
+GLIBC_2.2 __strcspn_c1 F
+GLIBC_2.2 __strcspn_c2 F
+GLIBC_2.2 __strcspn_c3 F
+GLIBC_2.2 __strdup F
+GLIBC_2.2 __strerror_r F
+GLIBC_2.2 __strfmon_l F
+GLIBC_2.2 __strncasecmp_l F
+GLIBC_2.2 __strndup F
+GLIBC_2.2 __strpbrk_c2 F
+GLIBC_2.2 __strpbrk_c3 F
+GLIBC_2.2 __strsep_1c F
+GLIBC_2.2 __strsep_2c F
+GLIBC_2.2 __strsep_3c F
+GLIBC_2.2 __strsep_g F
+GLIBC_2.2 __strspn_c1 F
+GLIBC_2.2 __strspn_c2 F
+GLIBC_2.2 __strspn_c3 F
+GLIBC_2.2 __strtod_internal F
+GLIBC_2.2 __strtod_l F
+GLIBC_2.2 __strtof_internal F
+GLIBC_2.2 __strtof_l F
+GLIBC_2.2 __strtok_r F
+GLIBC_2.2 __strtok_r_1c F
+GLIBC_2.2 __strtol_internal F
+GLIBC_2.2 __strtol_l F
+GLIBC_2.2 __strtold_internal F
+GLIBC_2.2 __strtold_l F
+GLIBC_2.2 __strtoll_internal F
+GLIBC_2.2 __strtoll_l F
+GLIBC_2.2 __strtoul_internal F
+GLIBC_2.2 __strtoul_l F
+GLIBC_2.2 __strtoull_internal F
+GLIBC_2.2 __strtoull_l F
+GLIBC_2.2 __strverscmp F
+GLIBC_2.2 __strxfrm_l F
+GLIBC_2.2 __sysconf F
+GLIBC_2.2 __sysctl F
+GLIBC_2.2 __sysv_signal F
+GLIBC_2.2 __timezone D 0x8
+GLIBC_2.2 __toascii_l F
+GLIBC_2.2 __tolower_l F
+GLIBC_2.2 __toupper_l F
+GLIBC_2.2 __towctrans F
+GLIBC_2.2 __towctrans_l F
+GLIBC_2.2 __towlower_l F
+GLIBC_2.2 __towupper_l F
+GLIBC_2.2 __tzname D 0x10
+GLIBC_2.2 __uflow F
+GLIBC_2.2 __underflow F
+GLIBC_2.2 __vfork F
+GLIBC_2.2 __vfscanf F
+GLIBC_2.2 __vsnprintf F
+GLIBC_2.2 __vsscanf F
+GLIBC_2.2 __wait F
+GLIBC_2.2 __waitpid F
+GLIBC_2.2 __wcscasecmp_l F
+GLIBC_2.2 __wcscoll_l F
+GLIBC_2.2 __wcsncasecmp_l F
+GLIBC_2.2 __wcstod_internal F
+GLIBC_2.2 __wcstod_l F
+GLIBC_2.2 __wcstof_internal F
+GLIBC_2.2 __wcstof_l F
+GLIBC_2.2 __wcstol_internal F
+GLIBC_2.2 __wcstol_l F
+GLIBC_2.2 __wcstold_internal F
+GLIBC_2.2 __wcstold_l F
+GLIBC_2.2 __wcstoll_internal F
+GLIBC_2.2 __wcstoll_l F
+GLIBC_2.2 __wcstoul_internal F
+GLIBC_2.2 __wcstoul_l F
+GLIBC_2.2 __wcstoull_internal F
+GLIBC_2.2 __wcstoull_l F
+GLIBC_2.2 __wcsxfrm_l F
+GLIBC_2.2 __wctrans_l F
+GLIBC_2.2 __wctype_l F
+GLIBC_2.2 __woverflow F
+GLIBC_2.2 __write F
+GLIBC_2.2 __wuflow F
+GLIBC_2.2 __wunderflow F
+GLIBC_2.2 __xmknod F
+GLIBC_2.2 __xpg_basename F
+GLIBC_2.2 __xpg_sigpause F
+GLIBC_2.2 __xstat F
+GLIBC_2.2 __xstat64 F
+GLIBC_2.2 _authenticate F
+GLIBC_2.2 _dl_mcount_wrapper F
+GLIBC_2.2 _dl_mcount_wrapper_check F
+GLIBC_2.2 _environ D 0x8
+GLIBC_2.2 _exit F
+GLIBC_2.2 _flushlbf F
+GLIBC_2.2 _libc_intl_domainname D 0x5
+GLIBC_2.2 _longjmp F
+GLIBC_2.2 _mcleanup F
+GLIBC_2.2 _mcount F
+GLIBC_2.2 _nl_default_dirname D 0x12
+GLIBC_2.2 _nl_domain_bindings D 0x8
+GLIBC_2.2 _nl_msg_cat_cntr D 0x4
+GLIBC_2.2 _null_auth D 0x18
+GLIBC_2.2 _obstack D 0x8
+GLIBC_2.2 _obstack_allocated_p F
+GLIBC_2.2 _obstack_begin F
+GLIBC_2.2 _obstack_begin_1 F
+GLIBC_2.2 _obstack_free F
+GLIBC_2.2 _obstack_memory_used F
+GLIBC_2.2 _obstack_newchunk F
+GLIBC_2.2 _res D 0x238
+GLIBC_2.2 _res_hconf D 0x48
+GLIBC_2.2 _rpc_dtablesize F
+GLIBC_2.2 _seterr_reply F
+GLIBC_2.2 _setjmp F
+GLIBC_2.2 _sys_errlist D 0x3f8
+GLIBC_2.2 _sys_nerr D 0x4
+GLIBC_2.2 _sys_siglist D 0x200
+GLIBC_2.2 _tolower F
+GLIBC_2.2 _toupper F
+GLIBC_2.2 a64l F
+GLIBC_2.2 abort F
+GLIBC_2.2 abs F
+GLIBC_2.2 accept F
+GLIBC_2.2 access F
+GLIBC_2.2 acct F
+GLIBC_2.2 addmntent F
+GLIBC_2.2 addseverity F
+GLIBC_2.2 adjtime F
+GLIBC_2.2 adjtimex F
+GLIBC_2.2 advance F
+GLIBC_2.2 alarm F
+GLIBC_2.2 alphasort F
+GLIBC_2.2 alphasort64 F
+GLIBC_2.2 argp_err_exit_status D 0x4
+GLIBC_2.2 argp_error F
+GLIBC_2.2 argp_failure F
+GLIBC_2.2 argp_help F
+GLIBC_2.2 argp_parse F
+GLIBC_2.2 argp_program_bug_address D 0x8
+GLIBC_2.2 argp_program_version D 0x8
+GLIBC_2.2 argp_program_version_hook D 0x8
+GLIBC_2.2 argp_state_help F
+GLIBC_2.2 argp_usage F
+GLIBC_2.2 argz_add F
+GLIBC_2.2 argz_add_sep F
+GLIBC_2.2 argz_append F
+GLIBC_2.2 argz_count F
+GLIBC_2.2 argz_create F
+GLIBC_2.2 argz_create_sep F
+GLIBC_2.2 argz_delete F
+GLIBC_2.2 argz_extract F
+GLIBC_2.2 argz_insert F
+GLIBC_2.2 argz_next F
+GLIBC_2.2 argz_replace F
+GLIBC_2.2 argz_stringify F
+GLIBC_2.2 asctime F
+GLIBC_2.2 asctime_r F
+GLIBC_2.2 asprintf F
+GLIBC_2.2 atexit F
+GLIBC_2.2 atof F
+GLIBC_2.2 atoi F
+GLIBC_2.2 atol F
+GLIBC_2.2 atoll F
+GLIBC_2.2 authdes_create F
+GLIBC_2.2 authdes_getucred F
+GLIBC_2.2 authdes_pk_create F
+GLIBC_2.2 authnone_create F
+GLIBC_2.2 authunix_create F
+GLIBC_2.2 authunix_create_default F
+GLIBC_2.2 backtrace F
+GLIBC_2.2 backtrace_symbols F
+GLIBC_2.2 backtrace_symbols_fd F
+GLIBC_2.2 basename F
+GLIBC_2.2 bcmp F
+GLIBC_2.2 bcopy F
+GLIBC_2.2 bdflush F
+GLIBC_2.2 bind F
+GLIBC_2.2 bind_textdomain_codeset F
+GLIBC_2.2 bindresvport F
+GLIBC_2.2 bindtextdomain F
+GLIBC_2.2 brk F
+GLIBC_2.2 bsd_signal F
+GLIBC_2.2 bsearch F
+GLIBC_2.2 btowc F
+GLIBC_2.2 bzero F
+GLIBC_2.2 calloc F
+GLIBC_2.2 callrpc F
+GLIBC_2.2 canonicalize_file_name F
+GLIBC_2.2 capget F
+GLIBC_2.2 capset F
+GLIBC_2.2 catclose F
+GLIBC_2.2 catgets F
+GLIBC_2.2 catopen F
+GLIBC_2.2 cbc_crypt F
+GLIBC_2.2 cfgetispeed F
+GLIBC_2.2 cfgetospeed F
+GLIBC_2.2 cfmakeraw F
+GLIBC_2.2 cfree F
+GLIBC_2.2 cfsetispeed F
+GLIBC_2.2 cfsetospeed F
+GLIBC_2.2 cfsetspeed F
+GLIBC_2.2 chdir F
+GLIBC_2.2 chflags F
+GLIBC_2.2 chmod F
+GLIBC_2.2 chown F
+GLIBC_2.2 chroot F
+GLIBC_2.2 clearenv F
+GLIBC_2.2 clearerr F
+GLIBC_2.2 clearerr_unlocked F
+GLIBC_2.2 clnt_broadcast F
+GLIBC_2.2 clnt_create F
+GLIBC_2.2 clnt_pcreateerror F
+GLIBC_2.2 clnt_perrno F
+GLIBC_2.2 clnt_perror F
+GLIBC_2.2 clnt_spcreateerror F
+GLIBC_2.2 clnt_sperrno F
+GLIBC_2.2 clnt_sperror F
+GLIBC_2.2 clntraw_create F
+GLIBC_2.2 clnttcp_create F
+GLIBC_2.2 clntudp_bufcreate F
+GLIBC_2.2 clntudp_create F
+GLIBC_2.2 clntunix_create F
+GLIBC_2.2 clock F
+GLIBC_2.2 clone F
+GLIBC_2.2 close F
+GLIBC_2.2 closedir F
+GLIBC_2.2 closelog F
+GLIBC_2.2 confstr F
+GLIBC_2.2 connect F
+GLIBC_2.2 copysign F
+GLIBC_2.2 copysignf F
+GLIBC_2.2 copysignl F
+GLIBC_2.2 creat F
+GLIBC_2.2 creat64 F
+GLIBC_2.2 create_module F
+GLIBC_2.2 ctermid F
+GLIBC_2.2 ctime F
+GLIBC_2.2 ctime_r F
+GLIBC_2.2 cuserid F
+GLIBC_2.2 daemon F
+GLIBC_2.2 daylight D 0x4
+GLIBC_2.2 dcgettext F
+GLIBC_2.2 dcngettext F
+GLIBC_2.2 delete_module F
+GLIBC_2.2 des_setparity F
+GLIBC_2.2 dgettext F
+GLIBC_2.2 difftime F
+GLIBC_2.2 dirfd F
+GLIBC_2.2 dirname F
+GLIBC_2.2 div F
+GLIBC_2.2 dngettext F
+GLIBC_2.2 dprintf F
+GLIBC_2.2 drand48 F
+GLIBC_2.2 drand48_r F
+GLIBC_2.2 dup F
+GLIBC_2.2 dup2 F
+GLIBC_2.2 dysize F
+GLIBC_2.2 ecb_crypt F
+GLIBC_2.2 ecvt F
+GLIBC_2.2 ecvt_r F
+GLIBC_2.2 endaliasent F
+GLIBC_2.2 endfsent F
+GLIBC_2.2 endgrent F
+GLIBC_2.2 endhostent F
+GLIBC_2.2 endmntent F
+GLIBC_2.2 endnetent F
+GLIBC_2.2 endnetgrent F
+GLIBC_2.2 endprotoent F
+GLIBC_2.2 endpwent F
+GLIBC_2.2 endrpcent F
+GLIBC_2.2 endservent F
+GLIBC_2.2 endspent F
+GLIBC_2.2 endttyent F
+GLIBC_2.2 endusershell F
+GLIBC_2.2 endutent F
+GLIBC_2.2 endutxent F
+GLIBC_2.2 environ D 0x8
+GLIBC_2.2 envz_add F
+GLIBC_2.2 envz_entry F
+GLIBC_2.2 envz_get F
+GLIBC_2.2 envz_merge F
+GLIBC_2.2 envz_remove F
+GLIBC_2.2 envz_strip F
+GLIBC_2.2 erand48 F
+GLIBC_2.2 erand48_r F
+GLIBC_2.2 err F
+GLIBC_2.2 error F
+GLIBC_2.2 error_at_line F
+GLIBC_2.2 error_message_count D 0x4
+GLIBC_2.2 error_one_per_line D 0x4
+GLIBC_2.2 error_print_progname D 0x8
+GLIBC_2.2 errx F
+GLIBC_2.2 ether_aton F
+GLIBC_2.2 ether_aton_r F
+GLIBC_2.2 ether_hostton F
+GLIBC_2.2 ether_line F
+GLIBC_2.2 ether_ntoa F
+GLIBC_2.2 ether_ntoa_r F
+GLIBC_2.2 ether_ntohost F
+GLIBC_2.2 euidaccess F
+GLIBC_2.2 execl F
+GLIBC_2.2 execle F
+GLIBC_2.2 execlp F
+GLIBC_2.2 execv F
+GLIBC_2.2 execve F
+GLIBC_2.2 execvp F
+GLIBC_2.2 exit F
+GLIBC_2.2 fattach F
+GLIBC_2.2 fchdir F
+GLIBC_2.2 fchflags F
+GLIBC_2.2 fchmod F
+GLIBC_2.2 fchown F
+GLIBC_2.2 fclose F
+GLIBC_2.2 fcloseall F
+GLIBC_2.2 fcntl F
+GLIBC_2.2 fcvt F
+GLIBC_2.2 fcvt_r F
+GLIBC_2.2 fdatasync F
+GLIBC_2.2 fdetach F
+GLIBC_2.2 fdopen F
+GLIBC_2.2 feof F
+GLIBC_2.2 feof_unlocked F
+GLIBC_2.2 ferror F
+GLIBC_2.2 ferror_unlocked F
+GLIBC_2.2 fexecve F
+GLIBC_2.2 fflush F
+GLIBC_2.2 fflush_unlocked F
+GLIBC_2.2 ffs F
+GLIBC_2.2 ffsl F
+GLIBC_2.2 ffsll F
+GLIBC_2.2 fgetc F
+GLIBC_2.2 fgetc_unlocked F
+GLIBC_2.2 fgetgrent F
+GLIBC_2.2 fgetgrent_r F
+GLIBC_2.2 fgetpos F
+GLIBC_2.2 fgetpos64 F
+GLIBC_2.2 fgetpwent F
+GLIBC_2.2 fgetpwent_r F
+GLIBC_2.2 fgets F
+GLIBC_2.2 fgets_unlocked F
+GLIBC_2.2 fgetspent F
+GLIBC_2.2 fgetspent_r F
+GLIBC_2.2 fgetwc F
+GLIBC_2.2 fgetwc_unlocked F
+GLIBC_2.2 fgetws F
+GLIBC_2.2 fgetws_unlocked F
+GLIBC_2.2 fileno F
+GLIBC_2.2 fileno_unlocked F
+GLIBC_2.2 finite F
+GLIBC_2.2 finitef F
+GLIBC_2.2 finitel F
+GLIBC_2.2 flock F
+GLIBC_2.2 flockfile F
+GLIBC_2.2 fmemopen F
+GLIBC_2.2 fmtmsg F
+GLIBC_2.2 fnmatch F
+GLIBC_2.2 fopen F
+GLIBC_2.2 fopen64 F
+GLIBC_2.2 fopencookie F
+GLIBC_2.2 fork F
+GLIBC_2.2 fpathconf F
+GLIBC_2.2 fprintf F
+GLIBC_2.2 fputc F
+GLIBC_2.2 fputc_unlocked F
+GLIBC_2.2 fputs F
+GLIBC_2.2 fputs_unlocked F
+GLIBC_2.2 fputwc F
+GLIBC_2.2 fputwc_unlocked F
+GLIBC_2.2 fputws F
+GLIBC_2.2 fputws_unlocked F
+GLIBC_2.2 fread F
+GLIBC_2.2 fread_unlocked F
+GLIBC_2.2 free F
+GLIBC_2.2 freeaddrinfo F
+GLIBC_2.2 freopen F
+GLIBC_2.2 freopen64 F
+GLIBC_2.2 frexp F
+GLIBC_2.2 frexpf F
+GLIBC_2.2 frexpl F
+GLIBC_2.2 fscanf F
+GLIBC_2.2 fseek F
+GLIBC_2.2 fseeko F
+GLIBC_2.2 fseeko64 F
+GLIBC_2.2 fsetpos F
+GLIBC_2.2 fsetpos64 F
+GLIBC_2.2 fstatfs F
+GLIBC_2.2 fstatfs64 F
+GLIBC_2.2 fstatvfs F
+GLIBC_2.2 fstatvfs64 F
+GLIBC_2.2 fsync F
+GLIBC_2.2 ftell F
+GLIBC_2.2 ftello F
+GLIBC_2.2 ftello64 F
+GLIBC_2.2 ftime F
+GLIBC_2.2 ftok F
+GLIBC_2.2 ftruncate F
+GLIBC_2.2 ftruncate64 F
+GLIBC_2.2 ftrylockfile F
+GLIBC_2.2 fts_children F
+GLIBC_2.2 fts_close F
+GLIBC_2.2 fts_open F
+GLIBC_2.2 fts_read F
+GLIBC_2.2 fts_set F
+GLIBC_2.2 ftw F
+GLIBC_2.2 ftw64 F
+GLIBC_2.2 funlockfile F
+GLIBC_2.2 fwide F
+GLIBC_2.2 fwprintf F
+GLIBC_2.2 fwrite F
+GLIBC_2.2 fwrite_unlocked F
+GLIBC_2.2 fwscanf F
+GLIBC_2.2 gai_strerror F
+GLIBC_2.2 gcvt F
+GLIBC_2.2 get_avphys_pages F
+GLIBC_2.2 get_current_dir_name F
+GLIBC_2.2 get_kernel_syms F
+GLIBC_2.2 get_myaddress F
+GLIBC_2.2 get_nprocs F
+GLIBC_2.2 get_nprocs_conf F
+GLIBC_2.2 get_phys_pages F
+GLIBC_2.2 getaddrinfo F
+GLIBC_2.2 getaliasbyname F
+GLIBC_2.2 getaliasbyname_r F
+GLIBC_2.2 getaliasent F
+GLIBC_2.2 getaliasent_r F
+GLIBC_2.2 getc F
+GLIBC_2.2 getc_unlocked F
+GLIBC_2.2 getchar F
+GLIBC_2.2 getchar_unlocked F
+GLIBC_2.2 getcontext F
+GLIBC_2.2 getcwd F
+GLIBC_2.2 getdate F
+GLIBC_2.2 getdate_err D 0x4
+GLIBC_2.2 getdate_r F
+GLIBC_2.2 getdelim F
+GLIBC_2.2 getdirentries F
+GLIBC_2.2 getdirentries64 F
+GLIBC_2.2 getdomainname F
+GLIBC_2.2 getdtablesize F
+GLIBC_2.2 getegid F
+GLIBC_2.2 getenv F
+GLIBC_2.2 geteuid F
+GLIBC_2.2 getfsent F
+GLIBC_2.2 getfsfile F
+GLIBC_2.2 getfsspec F
+GLIBC_2.2 getgid F
+GLIBC_2.2 getgrent F
+GLIBC_2.2 getgrent_r F
+GLIBC_2.2 getgrgid F
+GLIBC_2.2 getgrgid_r F
+GLIBC_2.2 getgrnam F
+GLIBC_2.2 getgrnam_r F
+GLIBC_2.2 getgroups F
+GLIBC_2.2 gethostbyaddr F
+GLIBC_2.2 gethostbyaddr_r F
+GLIBC_2.2 gethostbyname F
+GLIBC_2.2 gethostbyname2 F
+GLIBC_2.2 gethostbyname2_r F
+GLIBC_2.2 gethostbyname_r F
+GLIBC_2.2 gethostent F
+GLIBC_2.2 gethostent_r F
+GLIBC_2.2 gethostid F
+GLIBC_2.2 gethostname F
+GLIBC_2.2 getitimer F
+GLIBC_2.2 getline F
+GLIBC_2.2 getloadavg F
+GLIBC_2.2 getlogin F
+GLIBC_2.2 getlogin_r F
+GLIBC_2.2 getmntent F
+GLIBC_2.2 getmntent_r F
+GLIBC_2.2 getmsg F
+GLIBC_2.2 getnameinfo F
+GLIBC_2.2 getnetbyaddr F
+GLIBC_2.2 getnetbyaddr_r F
+GLIBC_2.2 getnetbyname F
+GLIBC_2.2 getnetbyname_r F
+GLIBC_2.2 getnetent F
+GLIBC_2.2 getnetent_r F
+GLIBC_2.2 getnetgrent F
+GLIBC_2.2 getnetgrent_r F
+GLIBC_2.2 getnetname F
+GLIBC_2.2 getopt F
+GLIBC_2.2 getopt_long F
+GLIBC_2.2 getopt_long_only F
+GLIBC_2.2 getpagesize F
+GLIBC_2.2 getpass F
+GLIBC_2.2 getpeername F
+GLIBC_2.2 getpgid F
+GLIBC_2.2 getpgrp F
+GLIBC_2.2 getpid F
+GLIBC_2.2 getpmsg F
+GLIBC_2.2 getppid F
+GLIBC_2.2 getpriority F
+GLIBC_2.2 getprotobyname F
+GLIBC_2.2 getprotobyname_r F
+GLIBC_2.2 getprotobynumber F
+GLIBC_2.2 getprotobynumber_r F
+GLIBC_2.2 getprotoent F
+GLIBC_2.2 getprotoent_r F
+GLIBC_2.2 getpt F
+GLIBC_2.2 getpublickey F
+GLIBC_2.2 getpw F
+GLIBC_2.2 getpwent F
+GLIBC_2.2 getpwent_r F
+GLIBC_2.2 getpwnam F
+GLIBC_2.2 getpwnam_r F
+GLIBC_2.2 getpwuid F
+GLIBC_2.2 getpwuid_r F
+GLIBC_2.2 getresgid F
+GLIBC_2.2 getresuid F
+GLIBC_2.2 getrlimit F
+GLIBC_2.2 getrlimit64 F
+GLIBC_2.2 getrpcbyname F
+GLIBC_2.2 getrpcbyname_r F
+GLIBC_2.2 getrpcbynumber F
+GLIBC_2.2 getrpcbynumber_r F
+GLIBC_2.2 getrpcent F
+GLIBC_2.2 getrpcent_r F
+GLIBC_2.2 getrpcport F
+GLIBC_2.2 getrusage F
+GLIBC_2.2 gets F
+GLIBC_2.2 getsecretkey F
+GLIBC_2.2 getservbyname F
+GLIBC_2.2 getservbyname_r F
+GLIBC_2.2 getservbyport F
+GLIBC_2.2 getservbyport_r F
+GLIBC_2.2 getservent F
+GLIBC_2.2 getservent_r F
+GLIBC_2.2 getsid F
+GLIBC_2.2 getsockname F
+GLIBC_2.2 getsockopt F
+GLIBC_2.2 getspent F
+GLIBC_2.2 getspent_r F
+GLIBC_2.2 getspnam F
+GLIBC_2.2 getspnam_r F
+GLIBC_2.2 getsubopt F
+GLIBC_2.2 gettext F
+GLIBC_2.2 gettimeofday F
+GLIBC_2.2 getttyent F
+GLIBC_2.2 getttynam F
+GLIBC_2.2 getuid F
+GLIBC_2.2 getusershell F
+GLIBC_2.2 getutent F
+GLIBC_2.2 getutent_r F
+GLIBC_2.2 getutid F
+GLIBC_2.2 getutid_r F
+GLIBC_2.2 getutline F
+GLIBC_2.2 getutline_r F
+GLIBC_2.2 getutmp F
+GLIBC_2.2 getutmpx F
+GLIBC_2.2 getutxent F
+GLIBC_2.2 getutxid F
+GLIBC_2.2 getutxline F
+GLIBC_2.2 getw F
+GLIBC_2.2 getwc F
+GLIBC_2.2 getwc_unlocked F
+GLIBC_2.2 getwchar F
+GLIBC_2.2 getwchar_unlocked F
+GLIBC_2.2 getwd F
+GLIBC_2.2 glob F
+GLIBC_2.2 glob64 F
+GLIBC_2.2 glob_pattern_p F
+GLIBC_2.2 globfree F
+GLIBC_2.2 globfree64 F
+GLIBC_2.2 gmtime F
+GLIBC_2.2 gmtime_r F
+GLIBC_2.2 gnu_get_libc_release F
+GLIBC_2.2 gnu_get_libc_version F
+GLIBC_2.2 grantpt F
+GLIBC_2.2 group_member F
+GLIBC_2.2 gsignal F
+GLIBC_2.2 gtty F
+GLIBC_2.2 h_errlist D 0x28
+GLIBC_2.2 h_nerr D 0x4
+GLIBC_2.2 hasmntopt F
+GLIBC_2.2 hcreate F
+GLIBC_2.2 hcreate_r F
+GLIBC_2.2 hdestroy F
+GLIBC_2.2 hdestroy_r F
+GLIBC_2.2 herror F
+GLIBC_2.2 host2netname F
+GLIBC_2.2 hsearch F
+GLIBC_2.2 hsearch_r F
+GLIBC_2.2 hstrerror F
+GLIBC_2.2 htonl F
+GLIBC_2.2 htons F
+GLIBC_2.2 iconv F
+GLIBC_2.2 iconv_close F
+GLIBC_2.2 iconv_open F
+GLIBC_2.2 if_freenameindex F
+GLIBC_2.2 if_indextoname F
+GLIBC_2.2 if_nameindex F
+GLIBC_2.2 if_nametoindex F
+GLIBC_2.2 imaxabs F
+GLIBC_2.2 imaxdiv F
+GLIBC_2.2 in6addr_any D 0x10
+GLIBC_2.2 in6addr_loopback D 0x10
+GLIBC_2.2 index F
+GLIBC_2.2 inet_addr F
+GLIBC_2.2 inet_aton F
+GLIBC_2.2 inet_lnaof F
+GLIBC_2.2 inet_makeaddr F
+GLIBC_2.2 inet_netof F
+GLIBC_2.2 inet_network F
+GLIBC_2.2 inet_nsap_addr F
+GLIBC_2.2 inet_nsap_ntoa F
+GLIBC_2.2 inet_ntoa F
+GLIBC_2.2 inet_ntop F
+GLIBC_2.2 inet_pton F
+GLIBC_2.2 init_module F
+GLIBC_2.2 initgroups F
+GLIBC_2.2 initstate F
+GLIBC_2.2 initstate_r F
+GLIBC_2.2 innetgr F
+GLIBC_2.2 insque F
+GLIBC_2.2 ioctl F
+GLIBC_2.2 iruserok F
+GLIBC_2.2 iruserok_af F
+GLIBC_2.2 isalnum F
+GLIBC_2.2 isalpha F
+GLIBC_2.2 isascii F
+GLIBC_2.2 isastream F
+GLIBC_2.2 isatty F
+GLIBC_2.2 isblank F
+GLIBC_2.2 iscntrl F
+GLIBC_2.2 isdigit F
+GLIBC_2.2 isfdtype F
+GLIBC_2.2 isgraph F
+GLIBC_2.2 isinf F
+GLIBC_2.2 isinff F
+GLIBC_2.2 isinfl F
+GLIBC_2.2 islower F
+GLIBC_2.2 isnan F
+GLIBC_2.2 isnanf F
+GLIBC_2.2 isnanl F
+GLIBC_2.2 isprint F
+GLIBC_2.2 ispunct F
+GLIBC_2.2 isspace F
+GLIBC_2.2 isupper F
+GLIBC_2.2 iswalnum F
+GLIBC_2.2 iswalpha F
+GLIBC_2.2 iswblank F
+GLIBC_2.2 iswcntrl F
+GLIBC_2.2 iswctype F
+GLIBC_2.2 iswdigit F
+GLIBC_2.2 iswgraph F
+GLIBC_2.2 iswlower F
+GLIBC_2.2 iswprint F
+GLIBC_2.2 iswpunct F
+GLIBC_2.2 iswspace F
+GLIBC_2.2 iswupper F
+GLIBC_2.2 iswxdigit F
+GLIBC_2.2 isxdigit F
+GLIBC_2.2 jrand48 F
+GLIBC_2.2 jrand48_r F
+GLIBC_2.2 key_decryptsession F
+GLIBC_2.2 key_decryptsession_pk F
+GLIBC_2.2 key_encryptsession F
+GLIBC_2.2 key_encryptsession_pk F
+GLIBC_2.2 key_gendes F
+GLIBC_2.2 key_get_conv F
+GLIBC_2.2 key_secretkey_is_set F
+GLIBC_2.2 key_setnet F
+GLIBC_2.2 key_setsecret F
+GLIBC_2.2 kill F
+GLIBC_2.2 killpg F
+GLIBC_2.2 klogctl F
+GLIBC_2.2 l64a F
+GLIBC_2.2 labs F
+GLIBC_2.2 lchown F
+GLIBC_2.2 lckpwdf F
+GLIBC_2.2 lcong48 F
+GLIBC_2.2 lcong48_r F
+GLIBC_2.2 ldexp F
+GLIBC_2.2 ldexpf F
+GLIBC_2.2 ldexpl F
+GLIBC_2.2 ldiv F
+GLIBC_2.2 lfind F
+GLIBC_2.2 link F
+GLIBC_2.2 listen F
+GLIBC_2.2 llabs F
+GLIBC_2.2 lldiv F
+GLIBC_2.2 llseek F
+GLIBC_2.2 loc1 D 0x8
+GLIBC_2.2 loc2 D 0x8
+GLIBC_2.2 localeconv F
+GLIBC_2.2 localtime F
+GLIBC_2.2 localtime_r F
+GLIBC_2.2 lockf F
+GLIBC_2.2 lockf64 F
+GLIBC_2.2 locs D 0x8
+GLIBC_2.2 longjmp F
+GLIBC_2.2 lrand48 F
+GLIBC_2.2 lrand48_r F
+GLIBC_2.2 lsearch F
+GLIBC_2.2 lseek F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 madvise F
+GLIBC_2.2 makecontext F
+GLIBC_2.2 mallinfo F
+GLIBC_2.2 malloc F
+GLIBC_2.2 malloc_get_state F
+GLIBC_2.2 malloc_set_state F
+GLIBC_2.2 malloc_stats F
+GLIBC_2.2 malloc_trim F
+GLIBC_2.2 malloc_usable_size F
+GLIBC_2.2 mallopt F
+GLIBC_2.2 mallwatch D 0x8
+GLIBC_2.2 mblen F
+GLIBC_2.2 mbrlen F
+GLIBC_2.2 mbrtowc F
+GLIBC_2.2 mbsinit F
+GLIBC_2.2 mbsnrtowcs F
+GLIBC_2.2 mbsrtowcs F
+GLIBC_2.2 mbstowcs F
+GLIBC_2.2 mbtowc F
+GLIBC_2.2 mcheck F
+GLIBC_2.2 mcheck_check_all F
+GLIBC_2.2 mcheck_pedantic F
+GLIBC_2.2 mcount F
+GLIBC_2.2 memalign F
+GLIBC_2.2 memccpy F
+GLIBC_2.2 memchr F
+GLIBC_2.2 memcmp F
+GLIBC_2.2 memcpy F
+GLIBC_2.2 memfrob F
+GLIBC_2.2 memmem F
+GLIBC_2.2 memmove F
+GLIBC_2.2 mempcpy F
+GLIBC_2.2 memrchr F
+GLIBC_2.2 memset F
+GLIBC_2.2 mincore F
+GLIBC_2.2 mkdir F
+GLIBC_2.2 mkdtemp F
+GLIBC_2.2 mkfifo F
+GLIBC_2.2 mkstemp F
+GLIBC_2.2 mkstemp64 F
+GLIBC_2.2 mktemp F
+GLIBC_2.2 mktime F
+GLIBC_2.2 mlock F
+GLIBC_2.2 mlockall F
+GLIBC_2.2 mmap F
+GLIBC_2.2 mmap64 F
+GLIBC_2.2 modf F
+GLIBC_2.2 modff F
+GLIBC_2.2 modfl F
+GLIBC_2.2 moncontrol F
+GLIBC_2.2 monstartup F
+GLIBC_2.2 mount F
+GLIBC_2.2 mprobe F
+GLIBC_2.2 mprotect F
+GLIBC_2.2 mrand48 F
+GLIBC_2.2 mrand48_r F
+GLIBC_2.2 mremap F
+GLIBC_2.2 msgctl F
+GLIBC_2.2 msgget F
+GLIBC_2.2 msgrcv F
+GLIBC_2.2 msgsnd F
+GLIBC_2.2 msync F
+GLIBC_2.2 mtrace F
+GLIBC_2.2 munlock F
+GLIBC_2.2 munlockall F
+GLIBC_2.2 munmap F
+GLIBC_2.2 muntrace F
+GLIBC_2.2 nanosleep F
+GLIBC_2.2 netname2host F
+GLIBC_2.2 netname2user F
+GLIBC_2.2 nfsservctl F
+GLIBC_2.2 nftw F
+GLIBC_2.2 nftw64 F
+GLIBC_2.2 ngettext F
+GLIBC_2.2 nice F
+GLIBC_2.2 nl_langinfo F
+GLIBC_2.2 nrand48 F
+GLIBC_2.2 nrand48_r F
+GLIBC_2.2 ntohl F
+GLIBC_2.2 ntohs F
+GLIBC_2.2 ntp_adjtime F
+GLIBC_2.2 ntp_gettime F
+GLIBC_2.2 obstack_alloc_failed_handler D 0x8
+GLIBC_2.2 obstack_exit_failure D 0x4
+GLIBC_2.2 obstack_free F
+GLIBC_2.2 obstack_printf F
+GLIBC_2.2 obstack_vprintf F
+GLIBC_2.2 on_exit F
+GLIBC_2.2 open F
+GLIBC_2.2 open64 F
+GLIBC_2.2 open_memstream F
+GLIBC_2.2 opendir F
+GLIBC_2.2 openlog F
+GLIBC_2.2 optarg D 0x8
+GLIBC_2.2 opterr D 0x4
+GLIBC_2.2 optind D 0x4
+GLIBC_2.2 optopt D 0x4
+GLIBC_2.2 parse_printf_format F
+GLIBC_2.2 passwd2des F
+GLIBC_2.2 pathconf F
+GLIBC_2.2 pause F
+GLIBC_2.2 pclose F
+GLIBC_2.2 perror F
+GLIBC_2.2 personality F
+GLIBC_2.2 pipe F
+GLIBC_2.2 pmap_getmaps F
+GLIBC_2.2 pmap_getport F
+GLIBC_2.2 pmap_rmtcall F
+GLIBC_2.2 pmap_set F
+GLIBC_2.2 pmap_unset F
+GLIBC_2.2 poll F
+GLIBC_2.2 popen F
+GLIBC_2.2 posix_fadvise F
+GLIBC_2.2 posix_fadvise64 F
+GLIBC_2.2 posix_fallocate F
+GLIBC_2.2 posix_fallocate64 F
+GLIBC_2.2 posix_madvise F
+GLIBC_2.2 posix_memalign F
+GLIBC_2.2 posix_spawn F
+GLIBC_2.2 posix_spawn_file_actions_addclose F
+GLIBC_2.2 posix_spawn_file_actions_adddup2 F
+GLIBC_2.2 posix_spawn_file_actions_addopen F
+GLIBC_2.2 posix_spawn_file_actions_destroy F
+GLIBC_2.2 posix_spawn_file_actions_init F
+GLIBC_2.2 posix_spawnattr_destroy F
+GLIBC_2.2 posix_spawnattr_getflags F
+GLIBC_2.2 posix_spawnattr_getpgroup F
+GLIBC_2.2 posix_spawnattr_getschedparam F
+GLIBC_2.2 posix_spawnattr_getschedpolicy F
+GLIBC_2.2 posix_spawnattr_getsigdefault F
+GLIBC_2.2 posix_spawnattr_getsigmask F
+GLIBC_2.2 posix_spawnattr_init F
+GLIBC_2.2 posix_spawnattr_setflags F
+GLIBC_2.2 posix_spawnattr_setpgroup F
+GLIBC_2.2 posix_spawnattr_setschedparam F
+GLIBC_2.2 posix_spawnattr_setschedpolicy F
+GLIBC_2.2 posix_spawnattr_setsigdefault F
+GLIBC_2.2 posix_spawnattr_setsigmask F
+GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 prctl F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 printf F
+GLIBC_2.2 printf_size F
+GLIBC_2.2 printf_size_info F
+GLIBC_2.2 profil F
+GLIBC_2.2 profil_counter F
+GLIBC_2.2 program_invocation_name D 0x8
+GLIBC_2.2 program_invocation_short_name D 0x8
+GLIBC_2.2 pselect F
+GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_attr_destroy F
+GLIBC_2.2 pthread_attr_getdetachstate F
+GLIBC_2.2 pthread_attr_getinheritsched F
+GLIBC_2.2 pthread_attr_getschedparam F
+GLIBC_2.2 pthread_attr_getschedpolicy F
+GLIBC_2.2 pthread_attr_getscope F
+GLIBC_2.2 pthread_attr_init F
+GLIBC_2.2 pthread_attr_setdetachstate F
+GLIBC_2.2 pthread_attr_setinheritsched F
+GLIBC_2.2 pthread_attr_setschedparam F
+GLIBC_2.2 pthread_attr_setschedpolicy F
+GLIBC_2.2 pthread_attr_setscope F
+GLIBC_2.2 pthread_cond_broadcast F
+GLIBC_2.2 pthread_cond_destroy F
+GLIBC_2.2 pthread_cond_init F
+GLIBC_2.2 pthread_cond_signal F
+GLIBC_2.2 pthread_cond_timedwait F
+GLIBC_2.2 pthread_cond_wait F
+GLIBC_2.2 pthread_condattr_destroy F
+GLIBC_2.2 pthread_condattr_init F
+GLIBC_2.2 pthread_equal F
+GLIBC_2.2 pthread_exit F
+GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_mutex_destroy F
+GLIBC_2.2 pthread_mutex_init F
+GLIBC_2.2 pthread_mutex_lock F
+GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_self F
+GLIBC_2.2 pthread_setcancelstate F
+GLIBC_2.2 pthread_setcanceltype F
+GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 ptrace F
+GLIBC_2.2 ptsname F
+GLIBC_2.2 ptsname_r F
+GLIBC_2.2 putc F
+GLIBC_2.2 putc_unlocked F
+GLIBC_2.2 putchar F
+GLIBC_2.2 putchar_unlocked F
+GLIBC_2.2 putenv F
+GLIBC_2.2 putgrent F
+GLIBC_2.2 putmsg F
+GLIBC_2.2 putpmsg F
+GLIBC_2.2 putpwent F
+GLIBC_2.2 puts F
+GLIBC_2.2 putspent F
+GLIBC_2.2 pututline F
+GLIBC_2.2 pututxline F
+GLIBC_2.2 putw F
+GLIBC_2.2 putwc F
+GLIBC_2.2 putwc_unlocked F
+GLIBC_2.2 putwchar F
+GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pvalloc F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 qecvt F
+GLIBC_2.2 qecvt_r F
+GLIBC_2.2 qfcvt F
+GLIBC_2.2 qfcvt_r F
+GLIBC_2.2 qgcvt F
+GLIBC_2.2 qsort F
+GLIBC_2.2 query_module F
+GLIBC_2.2 quotactl F
+GLIBC_2.2 raise F
+GLIBC_2.2 rand F
+GLIBC_2.2 rand_r F
+GLIBC_2.2 random F
+GLIBC_2.2 random_r F
+GLIBC_2.2 rawmemchr F
+GLIBC_2.2 rcmd F
+GLIBC_2.2 rcmd_af F
+GLIBC_2.2 re_comp F
+GLIBC_2.2 re_compile_fastmap F
+GLIBC_2.2 re_compile_pattern F
+GLIBC_2.2 re_exec F
+GLIBC_2.2 re_match F
+GLIBC_2.2 re_match_2 F
+GLIBC_2.2 re_max_failures D 0x4
+GLIBC_2.2 re_search F
+GLIBC_2.2 re_search_2 F
+GLIBC_2.2 re_set_registers F
+GLIBC_2.2 re_set_syntax F
+GLIBC_2.2 re_syntax_options D 0x8
+GLIBC_2.2 read F
+GLIBC_2.2 readdir F
+GLIBC_2.2 readdir64 F
+GLIBC_2.2 readdir64_r F
+GLIBC_2.2 readdir_r F
+GLIBC_2.2 readlink F
+GLIBC_2.2 readv F
+GLIBC_2.2 realloc F
+GLIBC_2.2 realpath F
+GLIBC_2.2 reboot F
+GLIBC_2.2 recv F
+GLIBC_2.2 recvfrom F
+GLIBC_2.2 recvmsg F
+GLIBC_2.2 regcomp F
+GLIBC_2.2 regerror F
+GLIBC_2.2 regexec F
+GLIBC_2.2 regfree F
+GLIBC_2.2 register_printf_function F
+GLIBC_2.2 registerrpc F
+GLIBC_2.2 remove F
+GLIBC_2.2 remque F
+GLIBC_2.2 rename F
+GLIBC_2.2 revoke F
+GLIBC_2.2 rewind F
+GLIBC_2.2 rewinddir F
+GLIBC_2.2 rexec F
+GLIBC_2.2 rexec_af F
+GLIBC_2.2 rexecoptions D 0x4
+GLIBC_2.2 rindex F
+GLIBC_2.2 rmdir F
+GLIBC_2.2 rpc_createerr D 0x20
+GLIBC_2.2 rpmatch F
+GLIBC_2.2 rresvport F
+GLIBC_2.2 rresvport_af F
+GLIBC_2.2 rtime F
+GLIBC_2.2 ruserok F
+GLIBC_2.2 ruserok_af F
+GLIBC_2.2 ruserpass F
+GLIBC_2.2 sbrk F
+GLIBC_2.2 scalbn F
+GLIBC_2.2 scalbnf F
+GLIBC_2.2 scalbnl F
+GLIBC_2.2 scandir F
+GLIBC_2.2 scandir64 F
+GLIBC_2.2 scanf F
+GLIBC_2.2 sched_get_priority_max F
+GLIBC_2.2 sched_get_priority_min F
+GLIBC_2.2 sched_getparam F
+GLIBC_2.2 sched_getscheduler F
+GLIBC_2.2 sched_rr_get_interval F
+GLIBC_2.2 sched_setparam F
+GLIBC_2.2 sched_setscheduler F
+GLIBC_2.2 sched_yield F
+GLIBC_2.2 seed48 F
+GLIBC_2.2 seed48_r F
+GLIBC_2.2 seekdir F
+GLIBC_2.2 select F
+GLIBC_2.2 semctl F
+GLIBC_2.2 semget F
+GLIBC_2.2 semop F
+GLIBC_2.2 send F
+GLIBC_2.2 sendfile F
+GLIBC_2.2 sendmsg F
+GLIBC_2.2 sendto F
+GLIBC_2.2 setaliasent F
+GLIBC_2.2 setbuf F
+GLIBC_2.2 setbuffer F
+GLIBC_2.2 setcontext F
+GLIBC_2.2 setdomainname F
+GLIBC_2.2 setegid F
+GLIBC_2.2 setenv F
+GLIBC_2.2 seteuid F
+GLIBC_2.2 setfsent F
+GLIBC_2.2 setfsgid F
+GLIBC_2.2 setfsuid F
+GLIBC_2.2 setgid F
+GLIBC_2.2 setgrent F
+GLIBC_2.2 setgroups F
+GLIBC_2.2 sethostent F
+GLIBC_2.2 sethostid F
+GLIBC_2.2 sethostname F
+GLIBC_2.2 setitimer F
+GLIBC_2.2 setjmp F
+GLIBC_2.2 setlinebuf F
+GLIBC_2.2 setlocale F
+GLIBC_2.2 setlogin F
+GLIBC_2.2 setlogmask F
+GLIBC_2.2 setmntent F
+GLIBC_2.2 setnetent F
+GLIBC_2.2 setnetgrent F
+GLIBC_2.2 setpgid F
+GLIBC_2.2 setpgrp F
+GLIBC_2.2 setpriority F
+GLIBC_2.2 setprotoent F
+GLIBC_2.2 setpwent F
+GLIBC_2.2 setregid F
+GLIBC_2.2 setresgid F
+GLIBC_2.2 setresuid F
+GLIBC_2.2 setreuid F
+GLIBC_2.2 setrlimit F
+GLIBC_2.2 setrlimit64 F
+GLIBC_2.2 setrpcent F
+GLIBC_2.2 setservent F
+GLIBC_2.2 setsid F
+GLIBC_2.2 setsockopt F
+GLIBC_2.2 setspent F
+GLIBC_2.2 setstate F
+GLIBC_2.2 setstate_r F
+GLIBC_2.2 settimeofday F
+GLIBC_2.2 setttyent F
+GLIBC_2.2 setuid F
+GLIBC_2.2 setusershell F
+GLIBC_2.2 setutent F
+GLIBC_2.2 setutxent F
+GLIBC_2.2 setvbuf F
+GLIBC_2.2 sgetspent F
+GLIBC_2.2 sgetspent_r F
+GLIBC_2.2 shmat F
+GLIBC_2.2 shmctl F
+GLIBC_2.2 shmdt F
+GLIBC_2.2 shmget F
+GLIBC_2.2 shutdown F
+GLIBC_2.2 sigaction F
+GLIBC_2.2 sigaddset F
+GLIBC_2.2 sigaltstack F
+GLIBC_2.2 sigandset F
+GLIBC_2.2 sigblock F
+GLIBC_2.2 sigdelset F
+GLIBC_2.2 sigemptyset F
+GLIBC_2.2 sigfillset F
+GLIBC_2.2 siggetmask F
+GLIBC_2.2 sighold F
+GLIBC_2.2 sigignore F
+GLIBC_2.2 siginterrupt F
+GLIBC_2.2 sigisemptyset F
+GLIBC_2.2 sigismember F
+GLIBC_2.2 siglongjmp F
+GLIBC_2.2 signal F
+GLIBC_2.2 sigorset F
+GLIBC_2.2 sigpause F
+GLIBC_2.2 sigpending F
+GLIBC_2.2 sigprocmask F
+GLIBC_2.2 sigqueue F
+GLIBC_2.2 sigrelse F
+GLIBC_2.2 sigreturn F
+GLIBC_2.2 sigset F
+GLIBC_2.2 sigsetmask F
+GLIBC_2.2 sigstack F
+GLIBC_2.2 sigsuspend F
+GLIBC_2.2 sigtimedwait F
+GLIBC_2.2 sigvec F
+GLIBC_2.2 sigwait F
+GLIBC_2.2 sigwaitinfo F
+GLIBC_2.2 sleep F
+GLIBC_2.2 snprintf F
+GLIBC_2.2 socket F
+GLIBC_2.2 socketpair F
+GLIBC_2.2 sprintf F
+GLIBC_2.2 srand F
+GLIBC_2.2 srand48 F
+GLIBC_2.2 srand48_r F
+GLIBC_2.2 srandom F
+GLIBC_2.2 srandom_r F
+GLIBC_2.2 sscanf F
+GLIBC_2.2 ssignal F
+GLIBC_2.2 sstk F
+GLIBC_2.2 statfs F
+GLIBC_2.2 statfs64 F
+GLIBC_2.2 statvfs F
+GLIBC_2.2 statvfs64 F
+GLIBC_2.2 stderr D 0x8
+GLIBC_2.2 stdin D 0x8
+GLIBC_2.2 stdout D 0x8
+GLIBC_2.2 step F
+GLIBC_2.2 stime F
+GLIBC_2.2 stpcpy F
+GLIBC_2.2 stpncpy F
+GLIBC_2.2 strcasecmp F
+GLIBC_2.2 strcasestr F
+GLIBC_2.2 strcat F
+GLIBC_2.2 strchr F
+GLIBC_2.2 strchrnul F
+GLIBC_2.2 strcmp F
+GLIBC_2.2 strcoll F
+GLIBC_2.2 strcpy F
+GLIBC_2.2 strcspn F
+GLIBC_2.2 strdup F
+GLIBC_2.2 strerror F
+GLIBC_2.2 strerror_r F
+GLIBC_2.2 strfmon F
+GLIBC_2.2 strfry F
+GLIBC_2.2 strftime F
+GLIBC_2.2 strlen F
+GLIBC_2.2 strncasecmp F
+GLIBC_2.2 strncat F
+GLIBC_2.2 strncmp F
+GLIBC_2.2 strncpy F
+GLIBC_2.2 strndup F
+GLIBC_2.2 strnlen F
+GLIBC_2.2 strpbrk F
+GLIBC_2.2 strptime F
+GLIBC_2.2 strrchr F
+GLIBC_2.2 strsep F
+GLIBC_2.2 strsignal F
+GLIBC_2.2 strspn F
+GLIBC_2.2 strstr F
+GLIBC_2.2 strtod F
+GLIBC_2.2 strtof F
+GLIBC_2.2 strtoimax F
+GLIBC_2.2 strtok F
+GLIBC_2.2 strtok_r F
+GLIBC_2.2 strtol F
+GLIBC_2.2 strtold F
+GLIBC_2.2 strtoll F
+GLIBC_2.2 strtoq F
+GLIBC_2.2 strtoul F
+GLIBC_2.2 strtoull F
+GLIBC_2.2 strtoumax F
+GLIBC_2.2 strtouq F
+GLIBC_2.2 strverscmp F
+GLIBC_2.2 strxfrm F
+GLIBC_2.2 stty F
+GLIBC_2.2 svc_exit F
+GLIBC_2.2 svc_fdset D 0x80
+GLIBC_2.2 svc_getreq F
+GLIBC_2.2 svc_getreq_common F
+GLIBC_2.2 svc_getreq_poll F
+GLIBC_2.2 svc_getreqset F
+GLIBC_2.2 svc_max_pollfd D 0x4
+GLIBC_2.2 svc_pollfd D 0x8
+GLIBC_2.2 svc_register F
+GLIBC_2.2 svc_run F
+GLIBC_2.2 svc_sendreply F
+GLIBC_2.2 svc_unregister F
+GLIBC_2.2 svcauthdes_stats D 0x18
+GLIBC_2.2 svcerr_auth F
+GLIBC_2.2 svcerr_decode F
+GLIBC_2.2 svcerr_noproc F
+GLIBC_2.2 svcerr_noprog F
+GLIBC_2.2 svcerr_progvers F
+GLIBC_2.2 svcerr_systemerr F
+GLIBC_2.2 svcerr_weakauth F
+GLIBC_2.2 svcfd_create F
+GLIBC_2.2 svcraw_create F
+GLIBC_2.2 svctcp_create F
+GLIBC_2.2 svcudp_bufcreate F
+GLIBC_2.2 svcudp_create F
+GLIBC_2.2 svcudp_enablecache F
+GLIBC_2.2 svcunix_create F
+GLIBC_2.2 svcunixfd_create F
+GLIBC_2.2 swab F
+GLIBC_2.2 swapcontext F
+GLIBC_2.2 swapoff F
+GLIBC_2.2 swapon F
+GLIBC_2.2 swprintf F
+GLIBC_2.2 swscanf F
+GLIBC_2.2 symlink F
+GLIBC_2.2 sync F
+GLIBC_2.2 sys_errlist D 0x3f8
+GLIBC_2.2 sys_nerr D 0x4
+GLIBC_2.2 sys_sigabbrev D 0x200
+GLIBC_2.2 sys_siglist D 0x200
+GLIBC_2.2 syscall F
+GLIBC_2.2 sysconf F
+GLIBC_2.2 sysctl F
+GLIBC_2.2 sysinfo F
+GLIBC_2.2 syslog F
+GLIBC_2.2 system F
+GLIBC_2.2 sysv_signal F
+GLIBC_2.2 tcdrain F
+GLIBC_2.2 tcflow F
+GLIBC_2.2 tcflush F
+GLIBC_2.2 tcgetattr F
+GLIBC_2.2 tcgetpgrp F
+GLIBC_2.2 tcgetsid F
+GLIBC_2.2 tcsendbreak F
+GLIBC_2.2 tcsetattr F
+GLIBC_2.2 tcsetpgrp F
+GLIBC_2.2 tdelete F
+GLIBC_2.2 tdestroy F
+GLIBC_2.2 telldir F
+GLIBC_2.2 tempnam F
+GLIBC_2.2 textdomain F
+GLIBC_2.2 tfind F
+GLIBC_2.2 time F
+GLIBC_2.2 timegm F
+GLIBC_2.2 timelocal F
+GLIBC_2.2 times F
+GLIBC_2.2 timezone D 0x8
+GLIBC_2.2 tmpfile F
+GLIBC_2.2 tmpfile64 F
+GLIBC_2.2 tmpnam F
+GLIBC_2.2 tmpnam_r F
+GLIBC_2.2 toascii F
+GLIBC_2.2 tolower F
+GLIBC_2.2 toupper F
+GLIBC_2.2 towctrans F
+GLIBC_2.2 towlower F
+GLIBC_2.2 towupper F
+GLIBC_2.2 tr_break F
+GLIBC_2.2 truncate F
+GLIBC_2.2 truncate64 F
+GLIBC_2.2 tsearch F
+GLIBC_2.2 ttyname F
+GLIBC_2.2 ttyname_r F
+GLIBC_2.2 ttyslot F
+GLIBC_2.2 twalk F
+GLIBC_2.2 tzname D 0x10
+GLIBC_2.2 tzset F
+GLIBC_2.2 ualarm F
+GLIBC_2.2 ulckpwdf F
+GLIBC_2.2 ulimit F
+GLIBC_2.2 umask F
+GLIBC_2.2 umount F
+GLIBC_2.2 umount2 F
+GLIBC_2.2 uname F
+GLIBC_2.2 ungetc F
+GLIBC_2.2 ungetwc F
+GLIBC_2.2 unlink F
+GLIBC_2.2 unlockpt F
+GLIBC_2.2 unsetenv F
+GLIBC_2.2 updwtmp F
+GLIBC_2.2 updwtmpx F
+GLIBC_2.2 uselib F
+GLIBC_2.2 user2netname F
+GLIBC_2.2 usleep F
+GLIBC_2.2 ustat F
+GLIBC_2.2 utime F
+GLIBC_2.2 utimes F
+GLIBC_2.2 utmpname F
+GLIBC_2.2 utmpxname F
+GLIBC_2.2 valloc F
+GLIBC_2.2 vasprintf F
+GLIBC_2.2 vdprintf F
+GLIBC_2.2 verr F
+GLIBC_2.2 verrx F
+GLIBC_2.2 versionsort F
+GLIBC_2.2 versionsort64 F
+GLIBC_2.2 vfork F
+GLIBC_2.2 vfprintf F
+GLIBC_2.2 vfscanf F
+GLIBC_2.2 vfwprintf F
+GLIBC_2.2 vfwscanf F
+GLIBC_2.2 vhangup F
+GLIBC_2.2 vlimit F
+GLIBC_2.2 vprintf F
+GLIBC_2.2 vscanf F
+GLIBC_2.2 vsnprintf F
+GLIBC_2.2 vsprintf F
+GLIBC_2.2 vsscanf F
+GLIBC_2.2 vswprintf F
+GLIBC_2.2 vswscanf F
+GLIBC_2.2 vsyslog F
+GLIBC_2.2 vtimes F
+GLIBC_2.2 vwarn F
+GLIBC_2.2 vwarnx F
+GLIBC_2.2 vwprintf F
+GLIBC_2.2 vwscanf F
+GLIBC_2.2 wait F
+GLIBC_2.2 wait3 F
+GLIBC_2.2 wait4 F
+GLIBC_2.2 waitid F
+GLIBC_2.2 waitpid F
+GLIBC_2.2 warn F
+GLIBC_2.2 warnx F
+GLIBC_2.2 wcpcpy F
+GLIBC_2.2 wcpncpy F
+GLIBC_2.2 wcrtomb F
+GLIBC_2.2 wcscasecmp F
+GLIBC_2.2 wcscat F
+GLIBC_2.2 wcschr F
+GLIBC_2.2 wcschrnul F
+GLIBC_2.2 wcscmp F
+GLIBC_2.2 wcscoll F
+GLIBC_2.2 wcscpy F
+GLIBC_2.2 wcscspn F
+GLIBC_2.2 wcsdup F
+GLIBC_2.2 wcsftime F
+GLIBC_2.2 wcslen F
+GLIBC_2.2 wcsncasecmp F
+GLIBC_2.2 wcsncat F
+GLIBC_2.2 wcsncmp F
+GLIBC_2.2 wcsncpy F
+GLIBC_2.2 wcsnlen F
+GLIBC_2.2 wcsnrtombs F
+GLIBC_2.2 wcspbrk F
+GLIBC_2.2 wcsrchr F
+GLIBC_2.2 wcsrtombs F
+GLIBC_2.2 wcsspn F
+GLIBC_2.2 wcsstr F
+GLIBC_2.2 wcstod F
+GLIBC_2.2 wcstof F
+GLIBC_2.2 wcstoimax F
+GLIBC_2.2 wcstok F
+GLIBC_2.2 wcstol F
+GLIBC_2.2 wcstold F
+GLIBC_2.2 wcstoll F
+GLIBC_2.2 wcstombs F
+GLIBC_2.2 wcstoq F
+GLIBC_2.2 wcstoul F
+GLIBC_2.2 wcstoull F
+GLIBC_2.2 wcstoumax F
+GLIBC_2.2 wcstouq F
+GLIBC_2.2 wcswcs F
+GLIBC_2.2 wcswidth F
+GLIBC_2.2 wcsxfrm F
+GLIBC_2.2 wctob F
+GLIBC_2.2 wctomb F
+GLIBC_2.2 wctrans F
+GLIBC_2.2 wctype F
+GLIBC_2.2 wcwidth F
+GLIBC_2.2 wmemchr F
+GLIBC_2.2 wmemcmp F
+GLIBC_2.2 wmemcpy F
+GLIBC_2.2 wmemmove F
+GLIBC_2.2 wmempcpy F
+GLIBC_2.2 wmemset F
+GLIBC_2.2 wordexp F
+GLIBC_2.2 wordfree F
+GLIBC_2.2 wprintf F
+GLIBC_2.2 write F
+GLIBC_2.2 writev F
+GLIBC_2.2 wscanf F
+GLIBC_2.2 xdecrypt F
+GLIBC_2.2 xdr_accepted_reply F
+GLIBC_2.2 xdr_array F
+GLIBC_2.2 xdr_authdes_cred F
+GLIBC_2.2 xdr_authdes_verf F
+GLIBC_2.2 xdr_authunix_parms F
+GLIBC_2.2 xdr_bool F
+GLIBC_2.2 xdr_bytes F
+GLIBC_2.2 xdr_callhdr F
+GLIBC_2.2 xdr_callmsg F
+GLIBC_2.2 xdr_char F
+GLIBC_2.2 xdr_cryptkeyarg F
+GLIBC_2.2 xdr_cryptkeyarg2 F
+GLIBC_2.2 xdr_cryptkeyres F
+GLIBC_2.2 xdr_des_block F
+GLIBC_2.2 xdr_double F
+GLIBC_2.2 xdr_enum F
+GLIBC_2.2 xdr_float F
+GLIBC_2.2 xdr_free F
+GLIBC_2.2 xdr_getcredres F
+GLIBC_2.2 xdr_hyper F
+GLIBC_2.2 xdr_int F
+GLIBC_2.2 xdr_int16_t F
+GLIBC_2.2 xdr_int32_t F
+GLIBC_2.2 xdr_int64_t F
+GLIBC_2.2 xdr_int8_t F
+GLIBC_2.2 xdr_key_netstarg F
+GLIBC_2.2 xdr_key_netstres F
+GLIBC_2.2 xdr_keybuf F
+GLIBC_2.2 xdr_keystatus F
+GLIBC_2.2 xdr_long F
+GLIBC_2.2 xdr_longlong_t F
+GLIBC_2.2 xdr_netnamestr F
+GLIBC_2.2 xdr_netobj F
+GLIBC_2.2 xdr_opaque F
+GLIBC_2.2 xdr_opaque_auth F
+GLIBC_2.2 xdr_pmap F
+GLIBC_2.2 xdr_pmaplist F
+GLIBC_2.2 xdr_pointer F
+GLIBC_2.2 xdr_reference F
+GLIBC_2.2 xdr_rejected_reply F
+GLIBC_2.2 xdr_replymsg F
+GLIBC_2.2 xdr_rmtcall_args F
+GLIBC_2.2 xdr_rmtcallres F
+GLIBC_2.2 xdr_short F
+GLIBC_2.2 xdr_sizeof F
+GLIBC_2.2 xdr_string F
+GLIBC_2.2 xdr_u_char F
+GLIBC_2.2 xdr_u_hyper F
+GLIBC_2.2 xdr_u_int F
+GLIBC_2.2 xdr_u_long F
+GLIBC_2.2 xdr_u_longlong_t F
+GLIBC_2.2 xdr_u_short F
+GLIBC_2.2 xdr_uint16_t F
+GLIBC_2.2 xdr_uint32_t F
+GLIBC_2.2 xdr_uint64_t F
+GLIBC_2.2 xdr_uint8_t F
+GLIBC_2.2 xdr_union F
+GLIBC_2.2 xdr_unixcred F
+GLIBC_2.2 xdr_vector F
+GLIBC_2.2 xdr_void F
+GLIBC_2.2 xdr_wrapstring F
+GLIBC_2.2 xdrmem_create F
+GLIBC_2.2 xdrrec_create F
+GLIBC_2.2 xdrrec_endofrecord F
+GLIBC_2.2 xdrrec_eof F
+GLIBC_2.2 xdrrec_skiprecord F
+GLIBC_2.2 xdrstdio_create F
+GLIBC_2.2 xencrypt F
+GLIBC_2.2 xprt_register F
+GLIBC_2.2 xprt_unregister F
+GLIBC_2.2.1 GLIBC_2.2.1 A
+GLIBC_2.2.1 pivot_root F
+GLIBC_2.2.1 posix_openpt F
+GLIBC_2.2.2 GLIBC_2.2.2 A
+GLIBC_2.2.2 __nss_hostname_digits_dots F
+GLIBC_2.2.2 wordexp F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 __rpc_thread_createerr F
+GLIBC_2.2.3 __rpc_thread_svc_fdset F
+GLIBC_2.2.3 __rpc_thread_svc_max_pollfd F
+GLIBC_2.2.3 __rpc_thread_svc_pollfd F
+GLIBC_2.2.3 fnmatch F
+GLIBC_2.2.3 sprofil F
+GLIBC_2.2.4 GLIBC_2.2.4 A
+GLIBC_2.2.4 dl_iterate_phdr F
+GLIBC_2.2.4 getgrouplist F
+GLIBC_2.2.4 sockatmark F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.22 GLIBC_2.22 A
+GLIBC_2.22 fmemopen F
+GLIBC_2.23 GLIBC_2.23 A
+GLIBC_2.23 fts64_children F
+GLIBC_2.23 fts64_close F
+GLIBC_2.23 fts64_open F
+GLIBC_2.23 fts64_read F
+GLIBC_2.23 fts64_set F
+GLIBC_2.24 GLIBC_2.24 A
+GLIBC_2.24 quick_exit F
+GLIBC_2.25 GLIBC_2.25 A
+GLIBC_2.25 __explicit_bzero_chk F
+GLIBC_2.25 explicit_bzero F
+GLIBC_2.25 getentropy F
+GLIBC_2.25 getrandom F
+GLIBC_2.25 strfromd F
+GLIBC_2.25 strfromf F
+GLIBC_2.25 strfroml F
+GLIBC_2.26 GLIBC_2.26 A
+GLIBC_2.26 preadv2 F
+GLIBC_2.26 preadv64v2 F
+GLIBC_2.26 pwritev2 F
+GLIBC_2.26 pwritev64v2 F
+GLIBC_2.26 reallocarray F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 __ctype_b_loc F
+GLIBC_2.3 __ctype_tolower_loc F
+GLIBC_2.3 __ctype_toupper_loc F
+GLIBC_2.3 __isctype F
+GLIBC_2.3 __strftime_l F
+GLIBC_2.3 __uselocale F
+GLIBC_2.3 __wcsftime_l F
+GLIBC_2.3 _sys_errlist D 0x400
+GLIBC_2.3 _sys_nerr D 0x4
+GLIBC_2.3 duplocale F
+GLIBC_2.3 fgetxattr F
+GLIBC_2.3 flistxattr F
+GLIBC_2.3 freeifaddrs F
+GLIBC_2.3 freelocale F
+GLIBC_2.3 fremovexattr F
+GLIBC_2.3 fsetxattr F
+GLIBC_2.3 futimes F
+GLIBC_2.3 getifaddrs F
+GLIBC_2.3 getxattr F
+GLIBC_2.3 isalnum_l F
+GLIBC_2.3 isalpha_l F
+GLIBC_2.3 isblank_l F
+GLIBC_2.3 iscntrl_l F
+GLIBC_2.3 isctype F
+GLIBC_2.3 isdigit_l F
+GLIBC_2.3 isgraph_l F
+GLIBC_2.3 islower_l F
+GLIBC_2.3 isprint_l F
+GLIBC_2.3 ispunct_l F
+GLIBC_2.3 isspace_l F
+GLIBC_2.3 isupper_l F
+GLIBC_2.3 iswalnum_l F
+GLIBC_2.3 iswalpha_l F
+GLIBC_2.3 iswblank_l F
+GLIBC_2.3 iswcntrl_l F
+GLIBC_2.3 iswctype_l F
+GLIBC_2.3 iswdigit_l F
+GLIBC_2.3 iswgraph_l F
+GLIBC_2.3 iswlower_l F
+GLIBC_2.3 iswprint_l F
+GLIBC_2.3 iswpunct_l F
+GLIBC_2.3 iswspace_l F
+GLIBC_2.3 iswupper_l F
+GLIBC_2.3 iswxdigit_l F
+GLIBC_2.3 isxdigit_l F
+GLIBC_2.3 lgetxattr F
+GLIBC_2.3 listxattr F
+GLIBC_2.3 llistxattr F
+GLIBC_2.3 lremovexattr F
+GLIBC_2.3 lsetxattr F
+GLIBC_2.3 lutimes F
+GLIBC_2.3 newlocale F
+GLIBC_2.3 nl_langinfo_l F
+GLIBC_2.3 readahead F
+GLIBC_2.3 realpath F
+GLIBC_2.3 removexattr F
+GLIBC_2.3 sendfile64 F
+GLIBC_2.3 setxattr F
+GLIBC_2.3 strcasecmp_l F
+GLIBC_2.3 strcoll_l F
+GLIBC_2.3 strfmon_l F
+GLIBC_2.3 strftime_l F
+GLIBC_2.3 strncasecmp_l F
+GLIBC_2.3 strtod_l F
+GLIBC_2.3 strtof_l F
+GLIBC_2.3 strtol_l F
+GLIBC_2.3 strtold_l F
+GLIBC_2.3 strtoul_l F
+GLIBC_2.3 strxfrm_l F
+GLIBC_2.3 sys_errlist D 0x400
+GLIBC_2.3 sys_nerr D 0x4
+GLIBC_2.3 tolower_l F
+GLIBC_2.3 toupper_l F
+GLIBC_2.3 towctrans_l F
+GLIBC_2.3 towlower_l F
+GLIBC_2.3 towupper_l F
+GLIBC_2.3 uselocale F
+GLIBC_2.3 wcscasecmp_l F
+GLIBC_2.3 wcscoll_l F
+GLIBC_2.3 wcsftime_l F
+GLIBC_2.3 wcsncasecmp_l F
+GLIBC_2.3 wcstod_l F
+GLIBC_2.3 wcstof_l F
+GLIBC_2.3 wcstol_l F
+GLIBC_2.3 wcstold_l F
+GLIBC_2.3 wcstoll_l F
+GLIBC_2.3 wcstoul_l F
+GLIBC_2.3 wcstoull_l F
+GLIBC_2.3 wcsxfrm_l F
+GLIBC_2.3 wctrans_l F
+GLIBC_2.3 wctype_l F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __register_atfork F
+GLIBC_2.3.2 epoll_create F
+GLIBC_2.3.2 epoll_ctl F
+GLIBC_2.3.2 epoll_wait F
+GLIBC_2.3.2 lchmod F
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.2 strptime_l F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 _sys_siglist D 0x208
+GLIBC_2.3.3 gnu_dev_major F
+GLIBC_2.3.3 gnu_dev_makedev F
+GLIBC_2.3.3 gnu_dev_minor F
+GLIBC_2.3.3 inet6_option_alloc F
+GLIBC_2.3.3 inet6_option_append F
+GLIBC_2.3.3 inet6_option_find F
+GLIBC_2.3.3 inet6_option_init F
+GLIBC_2.3.3 inet6_option_next F
+GLIBC_2.3.3 inet6_option_space F
+GLIBC_2.3.3 nftw F
+GLIBC_2.3.3 nftw64 F
+GLIBC_2.3.3 remap_file_pages F
+GLIBC_2.3.3 sched_getaffinity F
+GLIBC_2.3.3 sched_setaffinity F
+GLIBC_2.3.3 semtimedop F
+GLIBC_2.3.3 strtoll_l F
+GLIBC_2.3.3 strtoull_l F
+GLIBC_2.3.3 sys_sigabbrev D 0x208
+GLIBC_2.3.3 sys_siglist D 0x208
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 __chk_fail F
+GLIBC_2.3.4 __fprintf_chk F
+GLIBC_2.3.4 __gets_chk F
+GLIBC_2.3.4 __memcpy_chk F
+GLIBC_2.3.4 __memmove_chk F
+GLIBC_2.3.4 __mempcpy_chk F
+GLIBC_2.3.4 __memset_chk F
+GLIBC_2.3.4 __printf_chk F
+GLIBC_2.3.4 __snprintf_chk F
+GLIBC_2.3.4 __sprintf_chk F
+GLIBC_2.3.4 __stpcpy_chk F
+GLIBC_2.3.4 __strcat_chk F
+GLIBC_2.3.4 __strcpy_chk F
+GLIBC_2.3.4 __strncat_chk F
+GLIBC_2.3.4 __strncpy_chk F
+GLIBC_2.3.4 __vfprintf_chk F
+GLIBC_2.3.4 __vprintf_chk F
+GLIBC_2.3.4 __vsnprintf_chk F
+GLIBC_2.3.4 __vsprintf_chk F
+GLIBC_2.3.4 __xpg_strerror_r F
+GLIBC_2.3.4 getipv4sourcefilter F
+GLIBC_2.3.4 getsourcefilter F
+GLIBC_2.3.4 regexec F
+GLIBC_2.3.4 sched_getaffinity F
+GLIBC_2.3.4 sched_setaffinity F
+GLIBC_2.3.4 setipv4sourcefilter F
+GLIBC_2.3.4 setsourcefilter F
+GLIBC_2.3.4 xdr_quad_t F
+GLIBC_2.3.4 xdr_u_quad_t F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 __confstr_chk F
+GLIBC_2.4 __fgets_chk F
+GLIBC_2.4 __fgets_unlocked_chk F
+GLIBC_2.4 __fgetws_chk F
+GLIBC_2.4 __fgetws_unlocked_chk F
+GLIBC_2.4 __fwprintf_chk F
+GLIBC_2.4 __fxstatat F
+GLIBC_2.4 __fxstatat64 F
+GLIBC_2.4 __getcwd_chk F
+GLIBC_2.4 __getdomainname_chk F
+GLIBC_2.4 __getgroups_chk F
+GLIBC_2.4 __gethostname_chk F
+GLIBC_2.4 __getlogin_r_chk F
+GLIBC_2.4 __getwd_chk F
+GLIBC_2.4 __mbsnrtowcs_chk F
+GLIBC_2.4 __mbsrtowcs_chk F
+GLIBC_2.4 __mbstowcs_chk F
+GLIBC_2.4 __pread64_chk F
+GLIBC_2.4 __pread_chk F
+GLIBC_2.4 __ptsname_r_chk F
+GLIBC_2.4 __read_chk F
+GLIBC_2.4 __readlink_chk F
+GLIBC_2.4 __realpath_chk F
+GLIBC_2.4 __recv_chk F
+GLIBC_2.4 __recvfrom_chk F
+GLIBC_2.4 __stack_chk_fail F
+GLIBC_2.4 __stpncpy_chk F
+GLIBC_2.4 __swprintf_chk F
+GLIBC_2.4 __syslog_chk F
+GLIBC_2.4 __ttyname_r_chk F
+GLIBC_2.4 __vfwprintf_chk F
+GLIBC_2.4 __vswprintf_chk F
+GLIBC_2.4 __vsyslog_chk F
+GLIBC_2.4 __vwprintf_chk F
+GLIBC_2.4 __wcpcpy_chk F
+GLIBC_2.4 __wcpncpy_chk F
+GLIBC_2.4 __wcrtomb_chk F
+GLIBC_2.4 __wcscat_chk F
+GLIBC_2.4 __wcscpy_chk F
+GLIBC_2.4 __wcsncat_chk F
+GLIBC_2.4 __wcsncpy_chk F
+GLIBC_2.4 __wcsnrtombs_chk F
+GLIBC_2.4 __wcsrtombs_chk F
+GLIBC_2.4 __wcstombs_chk F
+GLIBC_2.4 __wctomb_chk F
+GLIBC_2.4 __wmemcpy_chk F
+GLIBC_2.4 __wmemmove_chk F
+GLIBC_2.4 __wmempcpy_chk F
+GLIBC_2.4 __wmemset_chk F
+GLIBC_2.4 __wprintf_chk F
+GLIBC_2.4 __xmknodat F
+GLIBC_2.4 _sys_errlist D 0x430
+GLIBC_2.4 _sys_nerr D 0x4
+GLIBC_2.4 eaccess F
+GLIBC_2.4 faccessat F
+GLIBC_2.4 fchmodat F
+GLIBC_2.4 fchownat F
+GLIBC_2.4 fdopendir F
+GLIBC_2.4 futimesat F
+GLIBC_2.4 inotify_add_watch F
+GLIBC_2.4 inotify_init F
+GLIBC_2.4 inotify_rm_watch F
+GLIBC_2.4 linkat F
+GLIBC_2.4 mkdirat F
+GLIBC_2.4 mkfifoat F
+GLIBC_2.4 open_wmemstream F
+GLIBC_2.4 openat F
+GLIBC_2.4 openat64 F
+GLIBC_2.4 ppoll F
+GLIBC_2.4 readlinkat F
+GLIBC_2.4 renameat F
+GLIBC_2.4 symlinkat F
+GLIBC_2.4 sys_errlist D 0x430
+GLIBC_2.4 sys_nerr D 0x4
+GLIBC_2.4 unlinkat F
+GLIBC_2.4 unshare F
+GLIBC_2.5 GLIBC_2.5 A
+GLIBC_2.5 __readlinkat_chk F
+GLIBC_2.5 inet6_opt_append F
+GLIBC_2.5 inet6_opt_find F
+GLIBC_2.5 inet6_opt_finish F
+GLIBC_2.5 inet6_opt_get_val F
+GLIBC_2.5 inet6_opt_init F
+GLIBC_2.5 inet6_opt_next F
+GLIBC_2.5 inet6_opt_set_val F
+GLIBC_2.5 inet6_rth_add F
+GLIBC_2.5 inet6_rth_getaddr F
+GLIBC_2.5 inet6_rth_init F
+GLIBC_2.5 inet6_rth_reverse F
+GLIBC_2.5 inet6_rth_segments F
+GLIBC_2.5 inet6_rth_space F
+GLIBC_2.5 splice F
+GLIBC_2.5 tee F
+GLIBC_2.5 vmsplice F
+GLIBC_2.6 GLIBC_2.6 A
+GLIBC_2.6 __sched_cpucount F
+GLIBC_2.6 epoll_pwait F
+GLIBC_2.6 futimens F
+GLIBC_2.6 sched_getcpu F
+GLIBC_2.6 strerror_l F
+GLIBC_2.6 sync_file_range F
+GLIBC_2.6 utimensat F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __fread_chk F
+GLIBC_2.7 __fread_unlocked_chk F
+GLIBC_2.7 __isoc99_fscanf F
+GLIBC_2.7 __isoc99_fwscanf F
+GLIBC_2.7 __isoc99_scanf F
+GLIBC_2.7 __isoc99_sscanf F
+GLIBC_2.7 __isoc99_swscanf F
+GLIBC_2.7 __isoc99_vfscanf F
+GLIBC_2.7 __isoc99_vfwscanf F
+GLIBC_2.7 __isoc99_vscanf F
+GLIBC_2.7 __isoc99_vsscanf F
+GLIBC_2.7 __isoc99_vswscanf F
+GLIBC_2.7 __isoc99_vwscanf F
+GLIBC_2.7 __isoc99_wscanf F
+GLIBC_2.7 __open64_2 F
+GLIBC_2.7 __open_2 F
+GLIBC_2.7 __openat64_2 F
+GLIBC_2.7 __openat_2 F
+GLIBC_2.7 __sched_cpualloc F
+GLIBC_2.7 __sched_cpufree F
+GLIBC_2.7 eventfd F
+GLIBC_2.7 eventfd_read F
+GLIBC_2.7 eventfd_write F
+GLIBC_2.7 mkostemp F
+GLIBC_2.7 mkostemp64 F
+GLIBC_2.7 signalfd F
+GLIBC_2.8 GLIBC_2.8 A
+GLIBC_2.8 __asprintf_chk F
+GLIBC_2.8 __dprintf_chk F
+GLIBC_2.8 __obstack_printf_chk F
+GLIBC_2.8 __obstack_vprintf_chk F
+GLIBC_2.8 __vasprintf_chk F
+GLIBC_2.8 __vdprintf_chk F
+GLIBC_2.8 qsort_r F
+GLIBC_2.8 timerfd_create F
+GLIBC_2.8 timerfd_gettime F
+GLIBC_2.8 timerfd_settime F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 dup3 F
+GLIBC_2.9 epoll_create1 F
+GLIBC_2.9 inotify_init1 F
+GLIBC_2.9 pipe2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist
new file mode 100644
index 0000000000..4db2639336
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libcrypt.abilist
@@ -0,0 +1,8 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 crypt F
+GLIBC_2.0 crypt_r F
+GLIBC_2.0 encrypt F
+GLIBC_2.0 encrypt_r F
+GLIBC_2.0 fcrypt F
+GLIBC_2.0 setkey F
+GLIBC_2.0 setkey_r F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
new file mode 100644
index 0000000000..5536f6e0a9
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libdl.abilist
@@ -0,0 +1,14 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 dladdr F
+GLIBC_2.0 dlclose F
+GLIBC_2.0 dlerror F
+GLIBC_2.0 dlopen F
+GLIBC_2.0 dlsym F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 dlopen F
+GLIBC_2.1 dlvsym F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 dladdr1 F
+GLIBC_2.3.3 dlinfo F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 dlmopen F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
new file mode 100644
index 0000000000..d071835880
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -0,0 +1,464 @@
+GLIBC_2.15 GLIBC_2.15 A
+GLIBC_2.15 __acos_finite F
+GLIBC_2.15 __acosf_finite F
+GLIBC_2.15 __acosh_finite F
+GLIBC_2.15 __acoshf_finite F
+GLIBC_2.15 __acoshl_finite F
+GLIBC_2.15 __acosl_finite F
+GLIBC_2.15 __asin_finite F
+GLIBC_2.15 __asinf_finite F
+GLIBC_2.15 __asinl_finite F
+GLIBC_2.15 __atan2_finite F
+GLIBC_2.15 __atan2f_finite F
+GLIBC_2.15 __atan2l_finite F
+GLIBC_2.15 __atanh_finite F
+GLIBC_2.15 __atanhf_finite F
+GLIBC_2.15 __atanhl_finite F
+GLIBC_2.15 __cosh_finite F
+GLIBC_2.15 __coshf_finite F
+GLIBC_2.15 __coshl_finite F
+GLIBC_2.15 __exp10_finite F
+GLIBC_2.15 __exp10f_finite F
+GLIBC_2.15 __exp10l_finite F
+GLIBC_2.15 __exp2_finite F
+GLIBC_2.15 __exp2f_finite F
+GLIBC_2.15 __exp2l_finite F
+GLIBC_2.15 __exp_finite F
+GLIBC_2.15 __expf_finite F
+GLIBC_2.15 __expl_finite F
+GLIBC_2.15 __fmod_finite F
+GLIBC_2.15 __fmodf_finite F
+GLIBC_2.15 __fmodl_finite F
+GLIBC_2.15 __gamma_r_finite F
+GLIBC_2.15 __gammaf_r_finite F
+GLIBC_2.15 __gammal_r_finite F
+GLIBC_2.15 __hypot_finite F
+GLIBC_2.15 __hypotf_finite F
+GLIBC_2.15 __hypotl_finite F
+GLIBC_2.15 __j0_finite F
+GLIBC_2.15 __j0f_finite F
+GLIBC_2.15 __j0l_finite F
+GLIBC_2.15 __j1_finite F
+GLIBC_2.15 __j1f_finite F
+GLIBC_2.15 __j1l_finite F
+GLIBC_2.15 __jn_finite F
+GLIBC_2.15 __jnf_finite F
+GLIBC_2.15 __jnl_finite F
+GLIBC_2.15 __lgamma_r_finite F
+GLIBC_2.15 __lgammaf_r_finite F
+GLIBC_2.15 __lgammal_r_finite F
+GLIBC_2.15 __log10_finite F
+GLIBC_2.15 __log10f_finite F
+GLIBC_2.15 __log10l_finite F
+GLIBC_2.15 __log2_finite F
+GLIBC_2.15 __log2f_finite F
+GLIBC_2.15 __log2l_finite F
+GLIBC_2.15 __log_finite F
+GLIBC_2.15 __logf_finite F
+GLIBC_2.15 __logl_finite F
+GLIBC_2.15 __pow_finite F
+GLIBC_2.15 __powf_finite F
+GLIBC_2.15 __powl_finite F
+GLIBC_2.15 __remainder_finite F
+GLIBC_2.15 __remainderf_finite F
+GLIBC_2.15 __remainderl_finite F
+GLIBC_2.15 __scalb_finite F
+GLIBC_2.15 __scalbf_finite F
+GLIBC_2.15 __scalbl_finite F
+GLIBC_2.15 __sinh_finite F
+GLIBC_2.15 __sinhf_finite F
+GLIBC_2.15 __sinhl_finite F
+GLIBC_2.15 __sqrt_finite F
+GLIBC_2.15 __sqrtf_finite F
+GLIBC_2.15 __sqrtl_finite F
+GLIBC_2.15 __y0_finite F
+GLIBC_2.15 __y0f_finite F
+GLIBC_2.15 __y0l_finite F
+GLIBC_2.15 __y1_finite F
+GLIBC_2.15 __y1f_finite F
+GLIBC_2.15 __y1l_finite F
+GLIBC_2.15 __yn_finite F
+GLIBC_2.15 __ynf_finite F
+GLIBC_2.15 __ynl_finite F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 __issignaling F
+GLIBC_2.18 __issignalingf F
+GLIBC_2.18 __issignalingl F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _LIB_VERSION D 0x4
+GLIBC_2.2 __clog10 F
+GLIBC_2.2 __clog10f F
+GLIBC_2.2 __clog10l F
+GLIBC_2.2 __finite F
+GLIBC_2.2 __finitef F
+GLIBC_2.2 __finitel F
+GLIBC_2.2 __fpclassify F
+GLIBC_2.2 __fpclassifyf F
+GLIBC_2.2 __fpclassifyl F
+GLIBC_2.2 __signbit F
+GLIBC_2.2 __signbitf F
+GLIBC_2.2 __signbitl F
+GLIBC_2.2 acos F
+GLIBC_2.2 acosf F
+GLIBC_2.2 acosh F
+GLIBC_2.2 acoshf F
+GLIBC_2.2 acoshl F
+GLIBC_2.2 acosl F
+GLIBC_2.2 asin F
+GLIBC_2.2 asinf F
+GLIBC_2.2 asinh F
+GLIBC_2.2 asinhf F
+GLIBC_2.2 asinhl F
+GLIBC_2.2 asinl F
+GLIBC_2.2 atan F
+GLIBC_2.2 atan2 F
+GLIBC_2.2 atan2f F
+GLIBC_2.2 atan2l F
+GLIBC_2.2 atanf F
+GLIBC_2.2 atanh F
+GLIBC_2.2 atanhf F
+GLIBC_2.2 atanhl F
+GLIBC_2.2 atanl F
+GLIBC_2.2 cabs F
+GLIBC_2.2 cabsf F
+GLIBC_2.2 cabsl F
+GLIBC_2.2 cacos F
+GLIBC_2.2 cacosf F
+GLIBC_2.2 cacosh F
+GLIBC_2.2 cacoshf F
+GLIBC_2.2 cacoshl F
+GLIBC_2.2 cacosl F
+GLIBC_2.2 carg F
+GLIBC_2.2 cargf F
+GLIBC_2.2 cargl F
+GLIBC_2.2 casin F
+GLIBC_2.2 casinf F
+GLIBC_2.2 casinh F
+GLIBC_2.2 casinhf F
+GLIBC_2.2 casinhl F
+GLIBC_2.2 casinl F
+GLIBC_2.2 catan F
+GLIBC_2.2 catanf F
+GLIBC_2.2 catanh F
+GLIBC_2.2 catanhf F
+GLIBC_2.2 catanhl F
+GLIBC_2.2 catanl F
+GLIBC_2.2 cbrt F
+GLIBC_2.2 cbrtf F
+GLIBC_2.2 cbrtl F
+GLIBC_2.2 ccos F
+GLIBC_2.2 ccosf F
+GLIBC_2.2 ccosh F
+GLIBC_2.2 ccoshf F
+GLIBC_2.2 ccoshl F
+GLIBC_2.2 ccosl F
+GLIBC_2.2 ceil F
+GLIBC_2.2 ceilf F
+GLIBC_2.2 ceill F
+GLIBC_2.2 cexp F
+GLIBC_2.2 cexpf F
+GLIBC_2.2 cexpl F
+GLIBC_2.2 cimag F
+GLIBC_2.2 cimagf F
+GLIBC_2.2 cimagl F
+GLIBC_2.2 clog F
+GLIBC_2.2 clog10 F
+GLIBC_2.2 clog10f F
+GLIBC_2.2 clog10l F
+GLIBC_2.2 clogf F
+GLIBC_2.2 clogl F
+GLIBC_2.2 conj F
+GLIBC_2.2 conjf F
+GLIBC_2.2 conjl F
+GLIBC_2.2 copysign F
+GLIBC_2.2 copysignf F
+GLIBC_2.2 copysignl F
+GLIBC_2.2 cos F
+GLIBC_2.2 cosf F
+GLIBC_2.2 cosh F
+GLIBC_2.2 coshf F
+GLIBC_2.2 coshl F
+GLIBC_2.2 cosl F
+GLIBC_2.2 cpow F
+GLIBC_2.2 cpowf F
+GLIBC_2.2 cpowl F
+GLIBC_2.2 cproj F
+GLIBC_2.2 cprojf F
+GLIBC_2.2 cprojl F
+GLIBC_2.2 creal F
+GLIBC_2.2 crealf F
+GLIBC_2.2 creall F
+GLIBC_2.2 csin F
+GLIBC_2.2 csinf F
+GLIBC_2.2 csinh F
+GLIBC_2.2 csinhf F
+GLIBC_2.2 csinhl F
+GLIBC_2.2 csinl F
+GLIBC_2.2 csqrt F
+GLIBC_2.2 csqrtf F
+GLIBC_2.2 csqrtl F
+GLIBC_2.2 ctan F
+GLIBC_2.2 ctanf F
+GLIBC_2.2 ctanh F
+GLIBC_2.2 ctanhf F
+GLIBC_2.2 ctanhl F
+GLIBC_2.2 ctanl F
+GLIBC_2.2 drem F
+GLIBC_2.2 dremf F
+GLIBC_2.2 dreml F
+GLIBC_2.2 erf F
+GLIBC_2.2 erfc F
+GLIBC_2.2 erfcf F
+GLIBC_2.2 erfcl F
+GLIBC_2.2 erff F
+GLIBC_2.2 erfl F
+GLIBC_2.2 exp F
+GLIBC_2.2 exp10 F
+GLIBC_2.2 exp10f F
+GLIBC_2.2 exp10l F
+GLIBC_2.2 exp2 F
+GLIBC_2.2 exp2f F
+GLIBC_2.2 exp2l F
+GLIBC_2.2 expf F
+GLIBC_2.2 expl F
+GLIBC_2.2 expm1 F
+GLIBC_2.2 expm1f F
+GLIBC_2.2 expm1l F
+GLIBC_2.2 fabs F
+GLIBC_2.2 fabsf F
+GLIBC_2.2 fabsl F
+GLIBC_2.2 fdim F
+GLIBC_2.2 fdimf F
+GLIBC_2.2 fdiml F
+GLIBC_2.2 feclearexcept F
+GLIBC_2.2 fedisableexcept F
+GLIBC_2.2 feenableexcept F
+GLIBC_2.2 fegetenv F
+GLIBC_2.2 fegetexcept F
+GLIBC_2.2 fegetexceptflag F
+GLIBC_2.2 fegetround F
+GLIBC_2.2 feholdexcept F
+GLIBC_2.2 feraiseexcept F
+GLIBC_2.2 fesetenv F
+GLIBC_2.2 fesetexceptflag F
+GLIBC_2.2 fesetround F
+GLIBC_2.2 fetestexcept F
+GLIBC_2.2 feupdateenv F
+GLIBC_2.2 finite F
+GLIBC_2.2 finitef F
+GLIBC_2.2 finitel F
+GLIBC_2.2 floor F
+GLIBC_2.2 floorf F
+GLIBC_2.2 floorl F
+GLIBC_2.2 fma F
+GLIBC_2.2 fmaf F
+GLIBC_2.2 fmal F
+GLIBC_2.2 fmax F
+GLIBC_2.2 fmaxf F
+GLIBC_2.2 fmaxl F
+GLIBC_2.2 fmin F
+GLIBC_2.2 fminf F
+GLIBC_2.2 fminl F
+GLIBC_2.2 fmod F
+GLIBC_2.2 fmodf F
+GLIBC_2.2 fmodl F
+GLIBC_2.2 frexp F
+GLIBC_2.2 frexpf F
+GLIBC_2.2 frexpl F
+GLIBC_2.2 gamma F
+GLIBC_2.2 gammaf F
+GLIBC_2.2 gammal F
+GLIBC_2.2 hypot F
+GLIBC_2.2 hypotf F
+GLIBC_2.2 hypotl F
+GLIBC_2.2 ilogb F
+GLIBC_2.2 ilogbf F
+GLIBC_2.2 ilogbl F
+GLIBC_2.2 j0 F
+GLIBC_2.2 j0f F
+GLIBC_2.2 j0l F
+GLIBC_2.2 j1 F
+GLIBC_2.2 j1f F
+GLIBC_2.2 j1l F
+GLIBC_2.2 jn F
+GLIBC_2.2 jnf F
+GLIBC_2.2 jnl F
+GLIBC_2.2 ldexp F
+GLIBC_2.2 ldexpf F
+GLIBC_2.2 ldexpl F
+GLIBC_2.2 lgamma F
+GLIBC_2.2 lgamma_r F
+GLIBC_2.2 lgammaf F
+GLIBC_2.2 lgammaf_r F
+GLIBC_2.2 lgammal F
+GLIBC_2.2 lgammal_r F
+GLIBC_2.2 llrint F
+GLIBC_2.2 llrintf F
+GLIBC_2.2 llrintl F
+GLIBC_2.2 llround F
+GLIBC_2.2 llroundf F
+GLIBC_2.2 llroundl F
+GLIBC_2.2 log F
+GLIBC_2.2 log10 F
+GLIBC_2.2 log10f F
+GLIBC_2.2 log10l F
+GLIBC_2.2 log1p F
+GLIBC_2.2 log1pf F
+GLIBC_2.2 log1pl F
+GLIBC_2.2 log2 F
+GLIBC_2.2 log2f F
+GLIBC_2.2 log2l F
+GLIBC_2.2 logb F
+GLIBC_2.2 logbf F
+GLIBC_2.2 logbl F
+GLIBC_2.2 logf F
+GLIBC_2.2 logl F
+GLIBC_2.2 lrint F
+GLIBC_2.2 lrintf F
+GLIBC_2.2 lrintl F
+GLIBC_2.2 lround F
+GLIBC_2.2 lroundf F
+GLIBC_2.2 lroundl F
+GLIBC_2.2 matherr F
+GLIBC_2.2 modf F
+GLIBC_2.2 modff F
+GLIBC_2.2 modfl F
+GLIBC_2.2 nan F
+GLIBC_2.2 nanf F
+GLIBC_2.2 nanl F
+GLIBC_2.2 nearbyint F
+GLIBC_2.2 nearbyintf F
+GLIBC_2.2 nearbyintl F
+GLIBC_2.2 nextafter F
+GLIBC_2.2 nextafterf F
+GLIBC_2.2 nextafterl F
+GLIBC_2.2 nexttoward F
+GLIBC_2.2 nexttowardf F
+GLIBC_2.2 nexttowardl F
+GLIBC_2.2 pow F
+GLIBC_2.2 pow10 F
+GLIBC_2.2 pow10f F
+GLIBC_2.2 pow10l F
+GLIBC_2.2 powf F
+GLIBC_2.2 powl F
+GLIBC_2.2 remainder F
+GLIBC_2.2 remainderf F
+GLIBC_2.2 remainderl F
+GLIBC_2.2 remquo F
+GLIBC_2.2 remquof F
+GLIBC_2.2 remquol F
+GLIBC_2.2 rint F
+GLIBC_2.2 rintf F
+GLIBC_2.2 rintl F
+GLIBC_2.2 round F
+GLIBC_2.2 roundf F
+GLIBC_2.2 roundl F
+GLIBC_2.2 scalb F
+GLIBC_2.2 scalbf F
+GLIBC_2.2 scalbl F
+GLIBC_2.2 scalbln F
+GLIBC_2.2 scalblnf F
+GLIBC_2.2 scalblnl F
+GLIBC_2.2 scalbn F
+GLIBC_2.2 scalbnf F
+GLIBC_2.2 scalbnl F
+GLIBC_2.2 signgam D 0x4
+GLIBC_2.2 significand F
+GLIBC_2.2 significandf F
+GLIBC_2.2 significandl F
+GLIBC_2.2 sin F
+GLIBC_2.2 sincos F
+GLIBC_2.2 sincosf F
+GLIBC_2.2 sincosl F
+GLIBC_2.2 sinf F
+GLIBC_2.2 sinh F
+GLIBC_2.2 sinhf F
+GLIBC_2.2 sinhl F
+GLIBC_2.2 sinl F
+GLIBC_2.2 sqrt F
+GLIBC_2.2 sqrtf F
+GLIBC_2.2 sqrtl F
+GLIBC_2.2 tan F
+GLIBC_2.2 tanf F
+GLIBC_2.2 tanh F
+GLIBC_2.2 tanhf F
+GLIBC_2.2 tanhl F
+GLIBC_2.2 tanl F
+GLIBC_2.2 tgamma F
+GLIBC_2.2 tgammaf F
+GLIBC_2.2 tgammal F
+GLIBC_2.2 trunc F
+GLIBC_2.2 truncf F
+GLIBC_2.2 truncl F
+GLIBC_2.2 y0 F
+GLIBC_2.2 y0f F
+GLIBC_2.2 y0l F
+GLIBC_2.2 y1 F
+GLIBC_2.2 y1f F
+GLIBC_2.2 y1l F
+GLIBC_2.2 yn F
+GLIBC_2.2 ynf F
+GLIBC_2.2 ynl 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
+GLIBC_2.4 GLIBC_2.4 A
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist
new file mode 100644
index 0000000000..a23db2aeaf
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libnsl.abilist
@@ -0,0 +1,124 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __yp_check F
+GLIBC_2.0 xdr_domainname F
+GLIBC_2.0 xdr_keydat F
+GLIBC_2.0 xdr_mapname F
+GLIBC_2.0 xdr_peername F
+GLIBC_2.0 xdr_valdat F
+GLIBC_2.0 xdr_yp_buf F
+GLIBC_2.0 xdr_ypbind_binding F
+GLIBC_2.0 xdr_ypbind_resp F
+GLIBC_2.0 xdr_ypbind_resptype F
+GLIBC_2.0 xdr_ypbind_setdom F
+GLIBC_2.0 xdr_ypdelete_args F
+GLIBC_2.0 xdr_ypmap_parms F
+GLIBC_2.0 xdr_ypmaplist F
+GLIBC_2.0 xdr_yppush_status F
+GLIBC_2.0 xdr_yppushresp_xfr F
+GLIBC_2.0 xdr_ypreq_key F
+GLIBC_2.0 xdr_ypreq_nokey F
+GLIBC_2.0 xdr_ypreq_xfr F
+GLIBC_2.0 xdr_ypresp_all F
+GLIBC_2.0 xdr_ypresp_key_val F
+GLIBC_2.0 xdr_ypresp_maplist F
+GLIBC_2.0 xdr_ypresp_master F
+GLIBC_2.0 xdr_ypresp_order F
+GLIBC_2.0 xdr_ypresp_val F
+GLIBC_2.0 xdr_ypresp_xfr F
+GLIBC_2.0 xdr_ypstat F
+GLIBC_2.0 xdr_ypupdate_args F
+GLIBC_2.0 xdr_ypxfrstat F
+GLIBC_2.0 yp_all F
+GLIBC_2.0 yp_bind F
+GLIBC_2.0 yp_first F
+GLIBC_2.0 yp_get_default_domain F
+GLIBC_2.0 yp_maplist F
+GLIBC_2.0 yp_master F
+GLIBC_2.0 yp_match F
+GLIBC_2.0 yp_next F
+GLIBC_2.0 yp_order F
+GLIBC_2.0 yp_unbind F
+GLIBC_2.0 yp_update F
+GLIBC_2.0 ypbinderr_string F
+GLIBC_2.0 yperr_string F
+GLIBC_2.0 ypprot_err F
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 __free_fdresult F
+GLIBC_2.1 __nis_default_access F
+GLIBC_2.1 __nis_default_group F
+GLIBC_2.1 __nis_default_owner F
+GLIBC_2.1 __nis_default_ttl F
+GLIBC_2.1 __nis_finddirectory F
+GLIBC_2.1 __nis_hash F
+GLIBC_2.1 __nisbind_connect F
+GLIBC_2.1 __nisbind_create F
+GLIBC_2.1 __nisbind_destroy F
+GLIBC_2.1 __nisbind_next F
+GLIBC_2.1 nis_add F
+GLIBC_2.1 nis_add_entry F
+GLIBC_2.1 nis_addmember F
+GLIBC_2.1 nis_checkpoint F
+GLIBC_2.1 nis_clone_directory F
+GLIBC_2.1 nis_clone_object F
+GLIBC_2.1 nis_clone_result F
+GLIBC_2.1 nis_creategroup F
+GLIBC_2.1 nis_destroy_object F
+GLIBC_2.1 nis_destroygroup F
+GLIBC_2.1 nis_dir_cmp F
+GLIBC_2.1 nis_domain_of F
+GLIBC_2.1 nis_domain_of_r F
+GLIBC_2.1 nis_first_entry F
+GLIBC_2.1 nis_free_directory F
+GLIBC_2.1 nis_free_object F
+GLIBC_2.1 nis_free_request F
+GLIBC_2.1 nis_freenames F
+GLIBC_2.1 nis_freeresult F
+GLIBC_2.1 nis_freeservlist F
+GLIBC_2.1 nis_freetags F
+GLIBC_2.1 nis_getnames F
+GLIBC_2.1 nis_getservlist F
+GLIBC_2.1 nis_ismember F
+GLIBC_2.1 nis_leaf_of F
+GLIBC_2.1 nis_leaf_of_r F
+GLIBC_2.1 nis_lerror F
+GLIBC_2.1 nis_list F
+GLIBC_2.1 nis_local_directory F
+GLIBC_2.1 nis_local_group F
+GLIBC_2.1 nis_local_host F
+GLIBC_2.1 nis_local_principal F
+GLIBC_2.1 nis_lookup F
+GLIBC_2.1 nis_mkdir F
+GLIBC_2.1 nis_modify F
+GLIBC_2.1 nis_modify_entry F
+GLIBC_2.1 nis_name_of F
+GLIBC_2.1 nis_name_of_r F
+GLIBC_2.1 nis_next_entry F
+GLIBC_2.1 nis_perror F
+GLIBC_2.1 nis_ping F
+GLIBC_2.1 nis_print_directory F
+GLIBC_2.1 nis_print_entry F
+GLIBC_2.1 nis_print_group F
+GLIBC_2.1 nis_print_group_entry F
+GLIBC_2.1 nis_print_link F
+GLIBC_2.1 nis_print_object F
+GLIBC_2.1 nis_print_result F
+GLIBC_2.1 nis_print_rights F
+GLIBC_2.1 nis_print_table F
+GLIBC_2.1 nis_read_obj F
+GLIBC_2.1 nis_remove F
+GLIBC_2.1 nis_remove_entry F
+GLIBC_2.1 nis_removemember F
+GLIBC_2.1 nis_rmdir F
+GLIBC_2.1 nis_servstate F
+GLIBC_2.1 nis_sperrno F
+GLIBC_2.1 nis_sperror F
+GLIBC_2.1 nis_sperror_r F
+GLIBC_2.1 nis_stats F
+GLIBC_2.1 nis_verifygroup F
+GLIBC_2.1 nis_write_obj F
+GLIBC_2.1 readColdStartFile F
+GLIBC_2.1 writeColdStartFile F
+GLIBC_2.1 xdr_cback_data F
+GLIBC_2.1 xdr_obj_p F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 xdr_ypall F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
new file mode 100644
index 0000000000..d4c8dedd6c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -0,0 +1,247 @@
+GLIBC_2.11 GLIBC_2.11 A
+GLIBC_2.11 pthread_sigqueue F
+GLIBC_2.12 GLIBC_2.12 A
+GLIBC_2.12 pthread_getname_np F
+GLIBC_2.12 pthread_mutex_consistent F
+GLIBC_2.12 pthread_mutexattr_getrobust F
+GLIBC_2.12 pthread_mutexattr_setrobust F
+GLIBC_2.12 pthread_setname_np F
+GLIBC_2.18 GLIBC_2.18 A
+GLIBC_2.18 pthread_getattr_default_np F
+GLIBC_2.18 pthread_setattr_default_np F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 _IO_flockfile F
+GLIBC_2.2 _IO_ftrylockfile F
+GLIBC_2.2 _IO_funlockfile F
+GLIBC_2.2 __close F
+GLIBC_2.2 __connect F
+GLIBC_2.2 __errno_location F
+GLIBC_2.2 __fcntl F
+GLIBC_2.2 __fork F
+GLIBC_2.2 __h_errno_location F
+GLIBC_2.2 __libc_allocate_rtsig F
+GLIBC_2.2 __libc_current_sigrtmax F
+GLIBC_2.2 __libc_current_sigrtmin F
+GLIBC_2.2 __lseek F
+GLIBC_2.2 __open F
+GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pthread_getspecific F
+GLIBC_2.2 __pthread_key_create F
+GLIBC_2.2 __pthread_mutex_destroy F
+GLIBC_2.2 __pthread_mutex_init F
+GLIBC_2.2 __pthread_mutex_lock F
+GLIBC_2.2 __pthread_mutex_trylock F
+GLIBC_2.2 __pthread_mutex_unlock F
+GLIBC_2.2 __pthread_mutexattr_destroy F
+GLIBC_2.2 __pthread_mutexattr_init F
+GLIBC_2.2 __pthread_mutexattr_settype F
+GLIBC_2.2 __pthread_once F
+GLIBC_2.2 __pthread_rwlock_destroy F
+GLIBC_2.2 __pthread_rwlock_init F
+GLIBC_2.2 __pthread_rwlock_rdlock F
+GLIBC_2.2 __pthread_rwlock_tryrdlock F
+GLIBC_2.2 __pthread_rwlock_trywrlock F
+GLIBC_2.2 __pthread_rwlock_unlock F
+GLIBC_2.2 __pthread_rwlock_wrlock F
+GLIBC_2.2 __pthread_setspecific F
+GLIBC_2.2 __pwrite64 F
+GLIBC_2.2 __read F
+GLIBC_2.2 __res_state F
+GLIBC_2.2 __send F
+GLIBC_2.2 __sigaction F
+GLIBC_2.2 __vfork F
+GLIBC_2.2 __wait F
+GLIBC_2.2 __write F
+GLIBC_2.2 _pthread_cleanup_pop F
+GLIBC_2.2 _pthread_cleanup_pop_restore F
+GLIBC_2.2 _pthread_cleanup_push F
+GLIBC_2.2 _pthread_cleanup_push_defer F
+GLIBC_2.2 accept F
+GLIBC_2.2 close F
+GLIBC_2.2 connect F
+GLIBC_2.2 fcntl F
+GLIBC_2.2 flockfile F
+GLIBC_2.2 fork F
+GLIBC_2.2 fsync F
+GLIBC_2.2 ftrylockfile F
+GLIBC_2.2 funlockfile F
+GLIBC_2.2 longjmp F
+GLIBC_2.2 lseek F
+GLIBC_2.2 lseek64 F
+GLIBC_2.2 msync F
+GLIBC_2.2 nanosleep F
+GLIBC_2.2 open F
+GLIBC_2.2 open64 F
+GLIBC_2.2 pause F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
+GLIBC_2.2 pthread_atfork F
+GLIBC_2.2 pthread_attr_destroy F
+GLIBC_2.2 pthread_attr_getdetachstate F
+GLIBC_2.2 pthread_attr_getguardsize F
+GLIBC_2.2 pthread_attr_getinheritsched F
+GLIBC_2.2 pthread_attr_getschedparam F
+GLIBC_2.2 pthread_attr_getschedpolicy F
+GLIBC_2.2 pthread_attr_getscope F
+GLIBC_2.2 pthread_attr_getstack F
+GLIBC_2.2 pthread_attr_getstackaddr F
+GLIBC_2.2 pthread_attr_getstacksize F
+GLIBC_2.2 pthread_attr_init F
+GLIBC_2.2 pthread_attr_setdetachstate F
+GLIBC_2.2 pthread_attr_setguardsize F
+GLIBC_2.2 pthread_attr_setinheritsched F
+GLIBC_2.2 pthread_attr_setschedparam F
+GLIBC_2.2 pthread_attr_setschedpolicy F
+GLIBC_2.2 pthread_attr_setscope F
+GLIBC_2.2 pthread_attr_setstack F
+GLIBC_2.2 pthread_attr_setstackaddr F
+GLIBC_2.2 pthread_attr_setstacksize F
+GLIBC_2.2 pthread_barrier_destroy F
+GLIBC_2.2 pthread_barrier_init F
+GLIBC_2.2 pthread_barrier_wait F
+GLIBC_2.2 pthread_barrierattr_destroy F
+GLIBC_2.2 pthread_barrierattr_init F
+GLIBC_2.2 pthread_barrierattr_setpshared F
+GLIBC_2.2 pthread_cancel F
+GLIBC_2.2 pthread_cond_broadcast F
+GLIBC_2.2 pthread_cond_destroy F
+GLIBC_2.2 pthread_cond_init F
+GLIBC_2.2 pthread_cond_signal F
+GLIBC_2.2 pthread_cond_timedwait F
+GLIBC_2.2 pthread_cond_wait F
+GLIBC_2.2 pthread_condattr_destroy F
+GLIBC_2.2 pthread_condattr_getpshared F
+GLIBC_2.2 pthread_condattr_init F
+GLIBC_2.2 pthread_condattr_setpshared F
+GLIBC_2.2 pthread_create F
+GLIBC_2.2 pthread_detach F
+GLIBC_2.2 pthread_equal F
+GLIBC_2.2 pthread_exit F
+GLIBC_2.2 pthread_getconcurrency F
+GLIBC_2.2 pthread_getcpuclockid F
+GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_getspecific F
+GLIBC_2.2 pthread_join F
+GLIBC_2.2 pthread_key_create F
+GLIBC_2.2 pthread_key_delete F
+GLIBC_2.2 pthread_kill F
+GLIBC_2.2 pthread_kill_other_threads_np F
+GLIBC_2.2 pthread_mutex_destroy F
+GLIBC_2.2 pthread_mutex_init F
+GLIBC_2.2 pthread_mutex_lock F
+GLIBC_2.2 pthread_mutex_timedlock F
+GLIBC_2.2 pthread_mutex_trylock F
+GLIBC_2.2 pthread_mutex_unlock F
+GLIBC_2.2 pthread_mutexattr_destroy F
+GLIBC_2.2 pthread_mutexattr_getkind_np F
+GLIBC_2.2 pthread_mutexattr_getpshared F
+GLIBC_2.2 pthread_mutexattr_gettype F
+GLIBC_2.2 pthread_mutexattr_init F
+GLIBC_2.2 pthread_mutexattr_setkind_np F
+GLIBC_2.2 pthread_mutexattr_setpshared F
+GLIBC_2.2 pthread_mutexattr_settype F
+GLIBC_2.2 pthread_once F
+GLIBC_2.2 pthread_rwlock_destroy F
+GLIBC_2.2 pthread_rwlock_init F
+GLIBC_2.2 pthread_rwlock_rdlock F
+GLIBC_2.2 pthread_rwlock_timedrdlock F
+GLIBC_2.2 pthread_rwlock_timedwrlock F
+GLIBC_2.2 pthread_rwlock_tryrdlock F
+GLIBC_2.2 pthread_rwlock_trywrlock F
+GLIBC_2.2 pthread_rwlock_unlock F
+GLIBC_2.2 pthread_rwlock_wrlock F
+GLIBC_2.2 pthread_rwlockattr_destroy F
+GLIBC_2.2 pthread_rwlockattr_getkind_np F
+GLIBC_2.2 pthread_rwlockattr_getpshared F
+GLIBC_2.2 pthread_rwlockattr_init F
+GLIBC_2.2 pthread_rwlockattr_setkind_np F
+GLIBC_2.2 pthread_rwlockattr_setpshared F
+GLIBC_2.2 pthread_self F
+GLIBC_2.2 pthread_setcancelstate F
+GLIBC_2.2 pthread_setcanceltype F
+GLIBC_2.2 pthread_setconcurrency F
+GLIBC_2.2 pthread_setschedparam F
+GLIBC_2.2 pthread_setspecific F
+GLIBC_2.2 pthread_sigmask F
+GLIBC_2.2 pthread_spin_destroy F
+GLIBC_2.2 pthread_spin_init F
+GLIBC_2.2 pthread_spin_lock F
+GLIBC_2.2 pthread_spin_trylock F
+GLIBC_2.2 pthread_spin_unlock F
+GLIBC_2.2 pthread_testcancel F
+GLIBC_2.2 pthread_yield F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
+GLIBC_2.2 raise F
+GLIBC_2.2 read F
+GLIBC_2.2 recv F
+GLIBC_2.2 recvfrom F
+GLIBC_2.2 recvmsg F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_destroy F
+GLIBC_2.2 sem_getvalue F
+GLIBC_2.2 sem_init F
+GLIBC_2.2 sem_open F
+GLIBC_2.2 sem_post F
+GLIBC_2.2 sem_timedwait F
+GLIBC_2.2 sem_trywait F
+GLIBC_2.2 sem_unlink F
+GLIBC_2.2 sem_wait F
+GLIBC_2.2 send F
+GLIBC_2.2 sendmsg F
+GLIBC_2.2 sendto F
+GLIBC_2.2 sigaction F
+GLIBC_2.2 siglongjmp F
+GLIBC_2.2 sigwait F
+GLIBC_2.2 system F
+GLIBC_2.2 tcdrain F
+GLIBC_2.2 vfork F
+GLIBC_2.2 wait F
+GLIBC_2.2 waitpid F
+GLIBC_2.2 write F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 pthread_getattr_np F
+GLIBC_2.2.6 GLIBC_2.2.6 A
+GLIBC_2.2.6 __nanosleep F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 pthread_cond_broadcast F
+GLIBC_2.3.2 pthread_cond_destroy F
+GLIBC_2.3.2 pthread_cond_init F
+GLIBC_2.3.2 pthread_cond_signal F
+GLIBC_2.3.2 pthread_cond_timedwait F
+GLIBC_2.3.2 pthread_cond_wait F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 __pthread_cleanup_routine F
+GLIBC_2.3.3 __pthread_register_cancel F
+GLIBC_2.3.3 __pthread_register_cancel_defer F
+GLIBC_2.3.3 __pthread_unregister_cancel F
+GLIBC_2.3.3 __pthread_unregister_cancel_restore F
+GLIBC_2.3.3 __pthread_unwind_next F
+GLIBC_2.3.3 pthread_attr_getaffinity_np F
+GLIBC_2.3.3 pthread_attr_setaffinity_np F
+GLIBC_2.3.3 pthread_attr_setstack F
+GLIBC_2.3.3 pthread_attr_setstacksize F
+GLIBC_2.3.3 pthread_barrierattr_getpshared F
+GLIBC_2.3.3 pthread_condattr_getclock F
+GLIBC_2.3.3 pthread_condattr_setclock F
+GLIBC_2.3.3 pthread_getaffinity_np F
+GLIBC_2.3.3 pthread_setaffinity_np F
+GLIBC_2.3.3 pthread_timedjoin_np F
+GLIBC_2.3.3 pthread_tryjoin_np F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 pthread_attr_getaffinity_np F
+GLIBC_2.3.4 pthread_attr_setaffinity_np F
+GLIBC_2.3.4 pthread_getaffinity_np F
+GLIBC_2.3.4 pthread_setaffinity_np F
+GLIBC_2.3.4 pthread_setschedprio F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 pthread_mutex_consistent_np F
+GLIBC_2.4 pthread_mutex_getprioceiling F
+GLIBC_2.4 pthread_mutex_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprioceiling F
+GLIBC_2.4 pthread_mutexattr_getprotocol F
+GLIBC_2.4 pthread_mutexattr_getrobust_np F
+GLIBC_2.4 pthread_mutexattr_setprioceiling F
+GLIBC_2.4 pthread_mutexattr_setprotocol F
+GLIBC_2.4 pthread_mutexattr_setrobust_np F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
new file mode 100644
index 0000000000..2d92a35e81
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libresolv.abilist
@@ -0,0 +1,100 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 __b64_ntop F
+GLIBC_2.0 __b64_pton F
+GLIBC_2.0 __dn_comp F
+GLIBC_2.0 __dn_count_labels F
+GLIBC_2.0 __dn_skipname F
+GLIBC_2.0 __fp_nquery F
+GLIBC_2.0 __fp_query F
+GLIBC_2.0 __fp_resstat F
+GLIBC_2.0 __hostalias F
+GLIBC_2.0 __loc_aton F
+GLIBC_2.0 __loc_ntoa F
+GLIBC_2.0 __p_cdname F
+GLIBC_2.0 __p_cdnname F
+GLIBC_2.0 __p_class F
+GLIBC_2.0 __p_class_syms D 0xa8
+GLIBC_2.0 __p_fqname F
+GLIBC_2.0 __p_fqnname F
+GLIBC_2.0 __p_option F
+GLIBC_2.0 __p_query F
+GLIBC_2.0 __p_secstodate F
+GLIBC_2.0 __p_time F
+GLIBC_2.0 __p_type F
+GLIBC_2.0 __p_type_syms D 0x450
+GLIBC_2.0 __putlong F
+GLIBC_2.0 __putshort F
+GLIBC_2.0 __res_close F
+GLIBC_2.0 __res_dnok F
+GLIBC_2.0 __res_hnok F
+GLIBC_2.0 __res_isourserver F
+GLIBC_2.0 __res_mailok F
+GLIBC_2.0 __res_nameinquery F
+GLIBC_2.0 __res_ownok F
+GLIBC_2.0 __res_queriesmatch F
+GLIBC_2.0 __res_send F
+GLIBC_2.0 __sym_ntop F
+GLIBC_2.0 __sym_ntos F
+GLIBC_2.0 __sym_ston F
+GLIBC_2.0 _gethtbyaddr F
+GLIBC_2.0 _gethtbyname F
+GLIBC_2.0 _gethtbyname2 F
+GLIBC_2.0 _gethtent F
+GLIBC_2.0 _getlong F
+GLIBC_2.0 _getshort F
+GLIBC_2.0 _res_opcodes D 0x80
+GLIBC_2.0 _sethtent F
+GLIBC_2.0 dn_expand F
+GLIBC_2.0 inet_net_ntop F
+GLIBC_2.0 inet_net_pton F
+GLIBC_2.0 inet_neta F
+GLIBC_2.0 res_gethostbyaddr F
+GLIBC_2.0 res_gethostbyname F
+GLIBC_2.0 res_gethostbyname2 F
+GLIBC_2.0 res_mkquery F
+GLIBC_2.0 res_query F
+GLIBC_2.0 res_querydomain F
+GLIBC_2.0 res_search F
+GLIBC_2.0 res_send_setqhook F
+GLIBC_2.0 res_send_setrhook F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 __dn_expand F
+GLIBC_2.2 __res_hostalias F
+GLIBC_2.2 __res_mkquery F
+GLIBC_2.2 __res_nmkquery F
+GLIBC_2.2 __res_nquery F
+GLIBC_2.2 __res_nquerydomain F
+GLIBC_2.2 __res_nsearch F
+GLIBC_2.2 __res_nsend F
+GLIBC_2.2 __res_query F
+GLIBC_2.2 __res_querydomain F
+GLIBC_2.2 __res_search F
+GLIBC_2.3.2 GLIBC_2.3.2 A
+GLIBC_2.3.2 __p_rcode F
+GLIBC_2.9 GLIBC_2.9 A
+GLIBC_2.9 ns_datetosecs F
+GLIBC_2.9 ns_format_ttl F
+GLIBC_2.9 ns_get16 F
+GLIBC_2.9 ns_get32 F
+GLIBC_2.9 ns_initparse F
+GLIBC_2.9 ns_makecanon F
+GLIBC_2.9 ns_msg_getflag F
+GLIBC_2.9 ns_name_compress F
+GLIBC_2.9 ns_name_ntol F
+GLIBC_2.9 ns_name_ntop F
+GLIBC_2.9 ns_name_pack F
+GLIBC_2.9 ns_name_pton F
+GLIBC_2.9 ns_name_rollback F
+GLIBC_2.9 ns_name_skip F
+GLIBC_2.9 ns_name_uncompress F
+GLIBC_2.9 ns_name_unpack F
+GLIBC_2.9 ns_parse_ttl F
+GLIBC_2.9 ns_parserr F
+GLIBC_2.9 ns_put16 F
+GLIBC_2.9 ns_put32 F
+GLIBC_2.9 ns_samedomain F
+GLIBC_2.9 ns_samename F
+GLIBC_2.9 ns_skiprr F
+GLIBC_2.9 ns_sprintrr F
+GLIBC_2.9 ns_sprintrrf F
+GLIBC_2.9 ns_subdomain F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
new file mode 100644
index 0000000000..8699f6ccc4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -0,0 +1,56 @@
+GLIBC_2.1 GLIBC_2.1 A
+GLIBC_2.1 aio_cancel F
+GLIBC_2.1 aio_cancel64 F
+GLIBC_2.1 aio_error F
+GLIBC_2.1 aio_error64 F
+GLIBC_2.1 aio_fsync F
+GLIBC_2.1 aio_fsync64 F
+GLIBC_2.1 aio_init F
+GLIBC_2.1 aio_read F
+GLIBC_2.1 aio_read64 F
+GLIBC_2.1 aio_return F
+GLIBC_2.1 aio_return64 F
+GLIBC_2.1 aio_suspend F
+GLIBC_2.1 aio_suspend64 F
+GLIBC_2.1 aio_write F
+GLIBC_2.1 aio_write64 F
+GLIBC_2.1 lio_listio F
+GLIBC_2.1 lio_listio64 F
+GLIBC_2.2 GLIBC_2.2 A
+GLIBC_2.2 clock_getcpuclockid F
+GLIBC_2.2 clock_getres F
+GLIBC_2.2 clock_gettime F
+GLIBC_2.2 clock_nanosleep F
+GLIBC_2.2 clock_settime F
+GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
+GLIBC_2.2 timer_create F
+GLIBC_2.2 timer_delete F
+GLIBC_2.2 timer_getoverrun F
+GLIBC_2.2 timer_gettime F
+GLIBC_2.2 timer_settime F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 aio_cancel F
+GLIBC_2.3 aio_cancel64 F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 timer_create F
+GLIBC_2.3.3 timer_delete F
+GLIBC_2.3.3 timer_getoverrun F
+GLIBC_2.3.3 timer_gettime F
+GLIBC_2.3.3 timer_settime F
+GLIBC_2.3.4 GLIBC_2.3.4 A
+GLIBC_2.3.4 mq_close F
+GLIBC_2.3.4 mq_getattr F
+GLIBC_2.3.4 mq_notify F
+GLIBC_2.3.4 mq_open F
+GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
+GLIBC_2.3.4 mq_setattr F
+GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
+GLIBC_2.3.4 mq_unlink F
+GLIBC_2.4 GLIBC_2.4 A
+GLIBC_2.4 lio_listio F
+GLIBC_2.4 lio_listio64 F
+GLIBC_2.7 GLIBC_2.7 A
+GLIBC_2.7 __mq_open_2 F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist
new file mode 100644
index 0000000000..a8a8c2c68d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libthread_db.abilist
@@ -0,0 +1,44 @@
+GLIBC_2.1.3 GLIBC_2.1.3 A
+GLIBC_2.1.3 td_init F
+GLIBC_2.1.3 td_log F
+GLIBC_2.1.3 td_ta_clear_event F
+GLIBC_2.1.3 td_ta_delete F
+GLIBC_2.1.3 td_ta_enable_stats F
+GLIBC_2.1.3 td_ta_event_addr F
+GLIBC_2.1.3 td_ta_event_getmsg F
+GLIBC_2.1.3 td_ta_get_nthreads F
+GLIBC_2.1.3 td_ta_get_ph F
+GLIBC_2.1.3 td_ta_get_stats F
+GLIBC_2.1.3 td_ta_map_id2thr F
+GLIBC_2.1.3 td_ta_map_lwp2thr F
+GLIBC_2.1.3 td_ta_new F
+GLIBC_2.1.3 td_ta_reset_stats F
+GLIBC_2.1.3 td_ta_set_event F
+GLIBC_2.1.3 td_ta_setconcurrency F
+GLIBC_2.1.3 td_ta_thr_iter F
+GLIBC_2.1.3 td_ta_tsd_iter F
+GLIBC_2.1.3 td_thr_clear_event F
+GLIBC_2.1.3 td_thr_dbresume F
+GLIBC_2.1.3 td_thr_dbsuspend F
+GLIBC_2.1.3 td_thr_event_enable F
+GLIBC_2.1.3 td_thr_event_getmsg F
+GLIBC_2.1.3 td_thr_get_info F
+GLIBC_2.1.3 td_thr_getfpregs F
+GLIBC_2.1.3 td_thr_getgregs F
+GLIBC_2.1.3 td_thr_getxregs F
+GLIBC_2.1.3 td_thr_getxregsize F
+GLIBC_2.1.3 td_thr_set_event F
+GLIBC_2.1.3 td_thr_setfpregs F
+GLIBC_2.1.3 td_thr_setgregs F
+GLIBC_2.1.3 td_thr_setprio F
+GLIBC_2.1.3 td_thr_setsigpending F
+GLIBC_2.1.3 td_thr_setxregs F
+GLIBC_2.1.3 td_thr_sigsetmask F
+GLIBC_2.1.3 td_thr_tsd F
+GLIBC_2.1.3 td_thr_validate F
+GLIBC_2.2.3 GLIBC_2.2.3 A
+GLIBC_2.2.3 td_symbol_list F
+GLIBC_2.3 GLIBC_2.3 A
+GLIBC_2.3 td_thr_tls_get_addr F
+GLIBC_2.3.3 GLIBC_2.3.3 A
+GLIBC_2.3.3 td_thr_tlsbase F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
new file mode 100644
index 0000000000..89c67755c4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/libutil.abilist
@@ -0,0 +1,7 @@
+GLIBC_2.0 GLIBC_2.0 A
+GLIBC_2.0 forkpty F
+GLIBC_2.0 login F
+GLIBC_2.0 login_tty F
+GLIBC_2.0 logout F
+GLIBC_2.0 logwtmp F
+GLIBC_2.0 openpty F
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data
new file mode 100644
index 0000000000..912bd1a16e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data
@@ -0,0 +1,29 @@
+libc.so: _Qp_add ?
+libc.so: _Qp_cmp ?
+libc.so: _Qp_div ?
+libc.so: _Qp_feq ?
+libc.so: _Qp_fge ?
+libc.so: _Qp_fle ?
+libc.so: _Qp_flt ?
+libc.so: _Qp_fne ?
+libc.so: _Qp_itoq ?
+libc.so: _Qp_mul ?
+libc.so: _Qp_qtod ?
+libc.so: _Qp_sub ?
+libc.so: _Qp_xtoq ?
+libc.so: _Unwind_Find_FDE
+libc.so: calloc
+libc.so: free
+libc.so: malloc
+libc.so: memalign
+libc.so: realloc
+libm.so: matherr
+# 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/sparc/sparc64/longjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
new file mode 100644
index 0000000000..770e4def41
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S
@@ -0,0 +1,51 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* longjmp is implemented in terms of the setcontext trap on Linux/Sparc64.  */
+
+#include <sysdep.h>
+
+/* Offsets into the jmp_buf structure.  */
+
+#define O_mask_was_saved	512
+#define O_gregs			32
+#define O_g1			(O_gregs + 4*8)
+
+
+/* void longjmp (sigjmp_buf env, int val) */
+
+ENTRY(__libc_siglongjmp)
+
+	/* Modify the context with the value we want to return.  */
+	movre	%o1, 1, %o1
+	stx	%o1, [%o0 + O_g1]
+
+	/* Let setcontext know if we want to modify the current sigmask. */
+	ld	[%o0 + O_mask_was_saved], %o1
+
+	/* And bamf back to where we belong!  */
+	ta	0x6f
+
+END(__libc_siglongjmp)
+
+strong_alias(__libc_siglongjmp, __longjmp)
+strong_alias(__libc_siglongjmp, __libc_longjmp)
+libc_hidden_def (__libc_longjmp)
+weak_alias (__libc_siglongjmp, longjmp)
+weak_alias (__libc_siglongjmp, _longjmp)
+weak_alias (__libc_siglongjmp, siglongjmp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c
new file mode 100644
index 0000000000..7f1e98e433
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/lxstat.c
@@ -0,0 +1 @@
+#include "../../i386/lxstat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
new file mode 100644
index 0000000000..ca174d01c1
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/makecontext.c
@@ -0,0 +1,57 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ucontext.h>
+
+extern void __start_context (struct ucontext *ucp);
+
+void
+__makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...)
+{
+  extern void __makecontext_ret (void);
+  unsigned long *sp, *topsp;
+  va_list ap;
+  int i;
+
+  sp = (unsigned long *) ((long) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size);
+  sp -= (argc > 6 ? argc : 6) + 32;
+  sp = (unsigned long *) (((long) sp) & -16L);
+  topsp = sp + (argc > 6 ? argc : 6) + 16;
+
+  ucp->uc_mcontext.mc_gregs[MC_PC] = (long) func;
+  ucp->uc_mcontext.mc_gregs[MC_NPC] = ((long) func) + 4;
+  ucp->uc_mcontext.mc_gregs[MC_O6] = ((long) sp) - 0x7ff;
+  ucp->uc_mcontext.mc_gregs[MC_O7] = ((long) __start_context) - 8;
+  ucp->uc_mcontext.mc_fp = ((long) topsp) - 0x7ff;
+  ucp->uc_mcontext.mc_i7 = 0;
+  topsp[14] = 0;
+  topsp[15] = 0;
+  sp[8] = (long) ucp->uc_link;
+  va_start (ap, argc);
+  for (i = 0; i < argc; ++i)
+    if (i < 6)
+      ucp->uc_mcontext.mc_gregs[MC_O0 + i] = va_arg (ap, long);
+    else
+      sp[16 + i] = va_arg (ap, long);
+  va_end (ap);
+}
+
+weak_alias (__makecontext, makecontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/personality.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/personality.c
new file mode 100644
index 0000000000..250e501d91
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/personality.c
@@ -0,0 +1,3 @@
+/* Work around sign extension bug in the kernel.  */
+#define PERSONALITY_TRUNCATE_ARGUMENT
+#include <sysdeps/unix/sysv/linux/personality.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
new file mode 100644
index 0000000000..83394cd3d0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S
@@ -0,0 +1,40 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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
+
+	.globl	__syscall_error
+ENTRY(__libc_pipe)
+	mov	%o0, %o2		/* Save PIPEDES. */
+	LOADSYSCALL(pipe)
+	ta	0x6d
+	bcc,pt	%xcc, 1f
+	 mov	%o7, %g1
+	call	__syscall_error
+	 mov	%g1, %o7
+1:	st	%o0, [%o2]		/* PIPEDES[0] = %o0; */
+	st	%o1, [%o2 + 4]		/* PIPEDES[1] = %o1; */
+	retl
+	 clr	%o0
+END(__libc_pipe)
+
+weak_alias (__libc_pipe, __pipe)
+libc_hidden_def (__pipe)
+weak_alias (__libc_pipe, pipe)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
new file mode 100644
index 0000000000..e68083b63d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h
@@ -0,0 +1,28 @@
+/* Low-level statistical profiling support function.  Linux/Sparc64 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/>.  */
+
+#include <signal.h>
+
+void
+__profil_counter (int signo, struct sigcontext *si)
+{
+  profil_count ((void *) si->sigc_regs.tpc);
+}
+#ifndef __profil_counter
+weak_alias (__profil_counter, profil_counter)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
new file mode 100644
index 0000000000..7f1d85471e
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
@@ -0,0 +1,256 @@
+/* Dump registers.
+   Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sys/uio.h>
+#include <_itoa.h>
+
+/* We will print the register dump in this format:
+
+ TSTATE: XXXXXXXXXXXXXXXX TPC: XXXXXXXXXXXXXXXX TNPC: XXXXXXXXXXXXXXXX
+ Y: XXXXXXXX
+ g0: 0000000000000000  g1: XXXXXXXXXXXXXXXX  g2: XXXXXXXXXXXXXXXX
+ g3: XXXXXXXXXXXXXXXX  g4: XXXXXXXXXXXXXXXX  g5: XXXXXXXXXXXXXXXX
+ g6: XXXXXXXXXXXXXXXX  g7: XXXXXXXXXXXXXXXX
+ o0: XXXXXXXXXXXXXXXX  o1: XXXXXXXXXXXXXXXX  o2: XXXXXXXXXXXXXXXX
+ o3: XXXXXXXXXXXXXXXX  o4: XXXXXXXXXXXXXXXX  o5: XXXXXXXXXXXXXXXX
+ sp: XXXXXXXXXXXXXXXX  o7: XXXXXXXXXXXXXXXX
+ l0: XXXXXXXXXXXXXXXX  l1: XXXXXXXXXXXXXXXX  l2: XXXXXXXXXXXXXXXX
+ l3: XXXXXXXXXXXXXXXX  l4: XXXXXXXXXXXXXXXX  l5: XXXXXXXXXXXXXXXX
+ l6: XXXXXXXXXXXXXXXX  l7: XXXXXXXXXXXXXXXX
+ i0: XXXXXXXXXXXXXXXX  i1: XXXXXXXXXXXXXXXX  i2: XXXXXXXXXXXXXXXX
+ i3: XXXXXXXXXXXXXXXX  i4: XXXXXXXXXXXXXXXX  i5: XXXXXXXXXXXXXXXX
+ fp: XXXXXXXXXXXXXXXX  i7: XXXXXXXXXXXXXXXX
+
+ Mask: XXXXXXXXXXXXXXXX XFSR: XXXXXXXXXXXXXXXX GSR: XX FPRS: X
+  f0: XXXXXXXXXXXXXXXX   f2: XXXXXXXXXXXXXXXX   f4: XXXXXXXXXXXXXXXX
+  f6: XXXXXXXXXXXXXXXX   f8: XXXXXXXXXXXXXXXX  f10: XXXXXXXXXXXXXXXX
+ f12: XXXXXXXXXXXXXXXX  f14: XXXXXXXXXXXXXXXX  f16: XXXXXXXXXXXXXXXX
+ f18: XXXXXXXXXXXXXXXX  f20: XXXXXXXXXXXXXXXX  f22: XXXXXXXXXXXXXXXX
+ f24: XXXXXXXXXXXXXXXX  f26: XXXXXXXXXXXXXXXX  f28: XXXXXXXXXXXXXXXX
+ f30: XXXXXXXXXXXXXXXX  f32: XXXXXXXXXXXXXXXX  f34: XXXXXXXXXXXXXXXX
+ f36: XXXXXXXXXXXXXXXX  f38: XXXXXXXXXXXXXXXX  f40: XXXXXXXXXXXXXXXX
+ f42: XXXXXXXXXXXXXXXX  f44: XXXXXXXXXXXXXXXX  f46: XXXXXXXXXXXXXXXX
+ f48: XXXXXXXXXXXXXXXX  f50: XXXXXXXXXXXXXXXX  f52: XXXXXXXXXXXXXXXX
+ f54: XXXXXXXXXXXXXXXX  f56: XXXXXXXXXXXXXXXX  f58: XXXXXXXXXXXXXXXX
+ f60: XXXXXXXXXXXXXXXX  f62: XXXXXXXXXXXXXXXX
+
+ */
+
+static void
+hexvalue (unsigned long int value, char *buf, size_t len)
+{
+  char *cp = _itoa_word (value, buf + len, 16, 0);
+  while (cp > buf)
+    *--cp = '0';
+}
+
+static void
+register_dump (int fd, SIGCONTEXT ctx)
+{
+  char regs[36][16];
+  char fregs[68][8];
+  struct iovec iov[150];
+  size_t nr = 0;
+  int i;
+  unsigned long *r = (unsigned long *)
+    (ctx->sigc_regs.u_regs[14] + STACK_BIAS);
+  __siginfo_fpu_t *f;
+
+#define ADD_STRING(str) \
+  iov[nr].iov_base = (char *) str;					      \
+  iov[nr].iov_len = strlen (str);					      \
+  ++nr
+#define ADD_MEM(str, len) \
+  iov[nr].iov_base = str;						      \
+  iov[nr].iov_len = len;						      \
+  ++nr
+
+  /* Generate strings of register contents.  */
+  hexvalue (ctx->sigc_regs.tstate,	regs[0], 16);
+  hexvalue (ctx->sigc_regs.tpc,		regs[1], 16);
+  hexvalue (ctx->sigc_regs.tnpc,	regs[2], 16);
+  hexvalue (ctx->sigc_regs.y,		regs[3], 8);
+  for (i = 1; i <= 15; i++)
+    hexvalue (ctx->sigc_regs.u_regs[i], regs[3+i], 16);
+  for (i = 0; i <= 15; i++)
+    hexvalue (r[i],			regs[19+i], 16);
+  hexvalue (ctx->sigc_mask,		regs[35], 16);
+
+  /* Generate the output.  */
+  ADD_STRING ("Register dump:\n\n TSTATE: ");
+  ADD_MEM (regs[0], 16);
+  ADD_STRING (" TPC: ");
+  ADD_MEM (regs[1], 16);
+  ADD_STRING (" TNPC: ");
+  ADD_MEM (regs[2], 16);
+  ADD_STRING ("\n Y: ");
+  ADD_MEM (regs[3], 8);
+  ADD_STRING ("\n  g0: 0000000000000000   g1: ");
+  ADD_MEM (regs[4], 16);
+  ADD_STRING ("  g2: ");
+  ADD_MEM (regs[5], 16);
+  ADD_STRING ("\n g3: ");
+  ADD_MEM (regs[6], 16);
+  ADD_STRING ("  g4: ");
+  ADD_MEM (regs[7], 16);
+  ADD_STRING ("  g5: ");
+  ADD_MEM (regs[8], 16);
+  ADD_STRING ("\n g6: ");
+  ADD_MEM (regs[9], 16);
+  ADD_STRING ("  g7: ");
+  ADD_MEM (regs[10], 16);
+  ADD_STRING ("\n o0: ");
+  ADD_MEM (regs[11], 16);
+  ADD_STRING ("  o1: ");
+  ADD_MEM (regs[12], 16);
+  ADD_STRING ("  o2: ");
+  ADD_MEM (regs[13], 16);
+  ADD_STRING ("\n o3: ");
+  ADD_MEM (regs[14], 16);
+  ADD_STRING ("  o4: ");
+  ADD_MEM (regs[15], 16);
+  ADD_STRING ("  o5: ");
+  ADD_MEM (regs[16], 16);
+  ADD_STRING ("\n sp: ");
+  ADD_MEM (regs[17], 16);
+  ADD_STRING ("  o7: ");
+  ADD_MEM (regs[18], 16);
+  ADD_STRING ("\n l0: ");
+  ADD_MEM (regs[19], 16);
+  ADD_STRING ("  l1: ");
+  ADD_MEM (regs[20], 16);
+  ADD_STRING ("  l2: ");
+  ADD_MEM (regs[21], 16);
+  ADD_STRING ("\n l3: ");
+  ADD_MEM (regs[22], 16);
+  ADD_STRING ("  l4: ");
+  ADD_MEM (regs[23], 16);
+  ADD_STRING ("  l5: ");
+  ADD_MEM (regs[24], 16);
+  ADD_STRING ("\n l6: ");
+  ADD_MEM (regs[25], 16);
+  ADD_STRING ("  l7: ");
+  ADD_MEM (regs[26], 16);
+  ADD_STRING ("\n i0: ");
+  ADD_MEM (regs[27], 16);
+  ADD_STRING ("  i1: ");
+  ADD_MEM (regs[28], 16);
+  ADD_STRING ("  i2: ");
+  ADD_MEM (regs[29], 16);
+  ADD_STRING ("\n i3: ");
+  ADD_MEM (regs[30], 16);
+  ADD_STRING ("  i4: ");
+  ADD_MEM (regs[31], 16);
+  ADD_STRING ("  i5: ");
+  ADD_MEM (regs[32], 16);
+  ADD_STRING ("\n fp: ");
+  ADD_MEM (regs[33], 16);
+  ADD_STRING ("  i7: ");
+  ADD_MEM (regs[34], 16);
+  ADD_STRING ("\n\n Mask: ");
+  ADD_MEM (regs[35], 16);
+
+  f = ctx->sigc_fpu_save;
+  if (f != NULL)
+    {
+      for (i = 0; i < 64; i++)
+	hexvalue (f->si_float_regs[i], fregs[i], 8);
+      hexvalue (f->si_fsr, fregs[64], 16);
+      hexvalue (f->si_gsr, fregs[66], 2);
+      hexvalue (f->si_fprs, fregs[67], 1);
+      ADD_STRING (" XFSR: ");
+      ADD_MEM (fregs[64], 16);
+      ADD_STRING (" GSR: ");
+      ADD_MEM (fregs[66], 2);
+      ADD_STRING (" FPRS: ");
+      ADD_MEM (fregs[67], 1);
+      ADD_STRING ("\n  f0: ");
+      ADD_MEM (fregs[0], 16);
+      ADD_STRING ("   f2: ");
+      ADD_MEM (fregs[2], 16);
+      ADD_STRING ("   f4: ");
+      ADD_MEM (fregs[4], 16);
+      ADD_STRING ("\n  f6: ");
+      ADD_MEM (fregs[6], 16);
+      ADD_STRING ("   f8: ");
+      ADD_MEM (fregs[8], 16);
+      ADD_STRING ("  f10: ");
+      ADD_MEM (fregs[10], 16);
+      ADD_STRING ("\n f12: ");
+      ADD_MEM (fregs[12], 16);
+      ADD_STRING ("  f14: ");
+      ADD_MEM (fregs[14], 16);
+      ADD_STRING ("  f16: ");
+      ADD_MEM (fregs[16], 16);
+      ADD_STRING ("\n f18: ");
+      ADD_MEM (fregs[18], 16);
+      ADD_STRING ("  f20: ");
+      ADD_MEM (fregs[20], 16);
+      ADD_STRING ("  f22: ");
+      ADD_MEM (fregs[22], 16);
+      ADD_STRING ("\n f24: ");
+      ADD_MEM (fregs[24], 16);
+      ADD_STRING ("  f26: ");
+      ADD_MEM (fregs[26], 16);
+      ADD_STRING ("  f28: ");
+      ADD_MEM (fregs[28], 16);
+      ADD_STRING ("\n f30: ");
+      ADD_MEM (fregs[30], 16);
+      ADD_STRING ("  f32: ");
+      ADD_MEM (fregs[32], 16);
+      ADD_STRING ("  f34: ");
+      ADD_MEM (fregs[34], 16);
+      ADD_STRING ("\n f36: ");
+      ADD_MEM (fregs[36], 16);
+      ADD_STRING ("  f38: ");
+      ADD_MEM (fregs[38], 16);
+      ADD_STRING ("  f40: ");
+      ADD_MEM (fregs[40], 16);
+      ADD_STRING ("\n f42: ");
+      ADD_MEM (fregs[42], 16);
+      ADD_STRING ("  f44: ");
+      ADD_MEM (fregs[44], 16);
+      ADD_STRING ("  f46: ");
+      ADD_MEM (fregs[46], 16);
+      ADD_STRING ("\n f48: ");
+      ADD_MEM (fregs[48], 16);
+      ADD_STRING ("  f50: ");
+      ADD_MEM (fregs[50], 16);
+      ADD_STRING ("  f52: ");
+      ADD_MEM (fregs[52], 16);
+      ADD_STRING ("\n f54: ");
+      ADD_MEM (fregs[54], 16);
+      ADD_STRING ("  f56: ");
+      ADD_MEM (fregs[56], 16);
+      ADD_STRING ("  f58: ");
+      ADD_MEM (fregs[58], 16);
+      ADD_STRING ("\n f60: ");
+      ADD_MEM (fregs[60], 16);
+      ADD_STRING ("  f62: ");
+      ADD_MEM (fregs[62], 16);
+    }
+
+  ADD_STRING ("\n");
+
+  /* Write the stuff out.  */
+  writev (fd, iov, nr);
+}
+
+
+#define REGISTER_DUMP register_dump (fd, ctx)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
new file mode 100644
index 0000000000..085db5c0ee
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setcontext.S
@@ -0,0 +1,38 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include "ucontext_i.h"
+
+/* int setcontext(ucontext_t *ctx); */
+.weak setcontext
+ENTRY(setcontext)
+
+	ba,pt	%xcc, 1f
+	 mov	1, %o1
+
+END(setcontext)
+
+/* int __setcontext(ucontext_t *ctx, int restoremask); */
+ENTRY(__setcontext)
+
+1:	ldx	[%o0 + UC_SIGMASK], %o2
+	stx	%o2, [%o0 + __UC_SIGMASK]
+	ta	0x6f
+
+END(__setcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S
new file mode 100644
index 0000000000..ba32db9c93
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S
@@ -0,0 +1,67 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson (rth@tamu.edu).
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* __sigsetjmp is implemented in terms of the getcontext trap on
+   Linux/Sparc64.  */
+
+#include <sysdep.h>
+
+/* Offsets into the jmp_buf structure.  */
+
+#define O_mask_was_saved	512
+#define O_gregs			32
+#define O_g1			(O_gregs + 4*8)
+
+/* int _setjmp(jmp_buf) */
+
+ENTRY(_setjmp)
+	ba	__sigsetjmp_local
+	 set	0, %o1
+END(_setjmp)
+libc_hidden_def (_setjmp)
+
+/* int setjmp(jmp_buf) */
+
+ENTRY(setjmp)
+	ba,pt	%xcc, __sigsetjmp_local
+	 set	1, %o1
+END(setjmp)
+
+/* int __sigsetjmp(jmp_buf, savemask)  */
+
+ENTRY(__sigsetjmp)
+__sigsetjmp_local:
+
+	/* Record whether the user is intending to save the sigmask.  */
+	st	%o1, [%o0 + O_mask_was_saved]
+
+	/* Load up our return value, as longjmp is going to override
+	   the jmp_buf on its way back.  */
+	mov	%g0, %g1
+
+	/* And call getcontext!  */
+	ta	0x6e
+
+	retl
+	 mov	%g1, %o0
+
+END(__sigsetjmp)
+hidden_def (__sigsetjmp)
+
+weak_extern(_setjmp)
+weak_extern(setjmp)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions
new file mode 100644
index 0000000000..9333bbd7a3
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/shlib-versions
@@ -0,0 +1,5 @@
+libm=6			GLIBC_2.2
+libc=6			GLIBC_2.2
+ld=ld-linux.so.2	GLIBC_2.2
+libBrokenLocale=1	GLIBC_2.2
+libpthread=0		GLIBC_2.2
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
new file mode 100644
index 0000000000..78f8a18907
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c
@@ -0,0 +1,78 @@
+/* POSIX.1 sigaction call for Linux/SPARC64.
+   Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Miguel de Icaza <miguel@nuclecu.unam.mx> and
+		  Jakub Jelinek <jj@ultra.linux.cz>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <string.h>
+#include <syscall.h>
+#include <sysdep.h>
+#include <sys/signal.h>
+#include <errno.h>
+
+#include <kernel_sigaction.h>
+
+/* SPARC 64bit userland requires a kernel that has rt signals anyway. */
+
+static void __rt_sigreturn_stub (void);
+
+int
+__libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
+{
+  int ret;
+  struct kernel_sigaction kact, koact;
+  unsigned long stub = ((unsigned long) &__rt_sigreturn_stub) - 8;
+
+  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;
+      kact.sa_restorer = NULL;
+    }
+
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  ret = INLINE_SYSCALL (rt_sigaction, 5, sig,
+			act ? &kact : 0,
+			oact ? &koact : 0, stub, _NSIG / 8);
+
+  if (oact && ret >= 0)
+    {
+      oact->sa_handler = koact.k_sa_handler;
+      memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));
+      oact->sa_flags = koact.sa_flags;
+      oact->sa_restorer = koact.sa_restorer;
+    }
+
+  return ret;
+}
+libc_hidden_def (__libc_sigaction)
+
+#include <nptl/sigaction.c>
+
+
+static
+inhibit_stack_protector
+void
+__rt_sigreturn_stub (void)
+{
+  __asm__ ("mov %0, %%g1\n\t"
+	   "ta	0x6d\n\t"
+	   : /* no outputs */
+	   : "i" (__NR_rt_sigreturn));
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
new file mode 100644
index 0000000000..ba53b4a6e2
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigcontextinfo.h
@@ -0,0 +1,31 @@
+/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 STACK_BIAS
+#define STACK_BIAS 2047
+#endif
+#define SIGCONTEXT struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS
+#define GET_PC(__ctx)	((void *) ((__ctx)->sigc_regs.tpc))
+#define ADVANCE_STACK_FRAME(__next) \
+	((void *) (((unsigned long *) (((unsigned long int) (__next))     \
+					   + STACK_BIAS))+14))
+#define GET_STACK(__ctx)	((void *) ((__ctx)->sigc_regs.u_regs[14]))
+#define GET_FRAME(__ctx)	ADVANCE_STACK_FRAME (GET_STACK (__ctx))
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigjmp.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigjmp.S
new file mode 100644
index 0000000000..940ccbcf68
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigjmp.S
@@ -0,0 +1 @@
+/* There is no need for __sigjmp_save what with getcontext.  */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
new file mode 100644
index 0000000000..7e82927435
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c
@@ -0,0 +1,33 @@
+/* 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 <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Change the set of blocked signals to SET,
+   wait until a signal arrives, and restore the set of blocked signals.  */
+int
+sigpending (sigset_t *set)
+{
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8);
+}
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
new file mode 100644
index 0000000000..c2205d0044
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c
@@ -0,0 +1,33 @@
+/* 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 <unistd.h>
+
+#include <sysdep.h>
+#include <sys/syscall.h>
+
+/* Get and/or change the set of blocked signals.  */
+int
+__sigprocmask (int how, const sigset_t *set, sigset_t *oset)
+{
+  /* XXX The size argument hopefully will have to be changed to the
+     real size of the user-level sigset_t.  */
+  return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8);
+}
+weak_alias (__sigprocmask, sigprocmask)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h
new file mode 100644
index 0000000000..24915f6cfb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sizes.h
@@ -0,0 +1,23 @@
+/* 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/>.  */
+
+#ifndef _SIZES_H
+#define _SIZES_H	1
+
+#define PTR_SIZE_STR "8"
+
+#endif /* sizes.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c
new file mode 100644
index 0000000000..e871ea3d12
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/swapcontext.c
@@ -0,0 +1,47 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <ucontext.h>
+
+extern int __getcontext (ucontext_t *ucp);
+extern int __setcontext (const ucontext_t *ucp, int restoremask);
+
+int
+__swapcontext (ucontext_t *oucp, const ucontext_t *ucp)
+{
+  extern void __swapcontext_ret (void);
+  /* Save the current machine context to oucp.  */
+  __getcontext (oucp);
+  /* Modify oucp to skip the __setcontext call on reactivation.  */
+  oucp->uc_mcontext.mc_gregs[MC_PC] = (long) __swapcontext_ret;
+  oucp->uc_mcontext.mc_gregs[MC_NPC] = ((long) __swapcontext_ret) + 4;
+  /* Restore the machine context in ucp.  */
+  __setcontext (ucp, 1);
+  return 0;
+}
+
+asm ("							\n\
+	.text						\n\
+	.type	__swapcontext_ret, #function		\n\
+__swapcontext_ret:					\n\
+	return	%i7 + 8					\n\
+	 clr	%o0					\n\
+	.size	__swapcontext_ret, .-__swapcontext_ret	\n\
+     ");
+
+weak_alias (__swapcontext, swapcontext)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
new file mode 100644
index 0000000000..ac14a7e7de
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S
@@ -0,0 +1,39 @@
+/* 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 <sysdep.h>
+	.text
+
+	.globl	__syscall_error
+ENTRY(syscall)
+	mov	%o0,%g1
+	mov	%o1,%o0
+	mov	%o2,%o1
+	mov	%o3,%o2
+	mov	%o4,%o3
+	mov	%o5,%o4
+	ldx	[%sp + STACK_BIAS + 176],%o5
+
+	ta	0x6d
+
+	bcc,pt	%xcc, 1f
+	 mov	%o7, %g1
+	call	__syscall_error
+	 mov	%g1, %o7
+1:	retl
+	 nop
+END(syscall)
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
new file mode 100644
index 0000000000..33082f31eb
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
@@ -0,0 +1,10 @@
+# File name	Caller	Syscall name	# args	Strong name	Weak names
+
+bind		-	bind		3	__bind		bind
+getpeername	-	getpeername	3	__getpeername	getpeername
+getsockname	-	getsockname	3	__getsockname	getsockname
+getsockopt	-	getsockopt	5	__getsockopt	getsockopt
+listen		-	listen		2	__listen	listen
+setsockopt	-	setsockopt	5	__setsockopt	setsockopt
+shutdown	-	shutdown	2	__shutdown	shutdown
+socketpair	-	socketpair	4	__socketpair	socketpair
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
new file mode 100644
index 0000000000..45fbd737e0
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
@@ -0,0 +1,109 @@
+/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2002.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if IS_IN (libc) || IS_IN (libpthread) || IS_IN (librt)
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)	\
+	.text;					\
+	.globl		__syscall_error;	\
+ENTRY(name)					\
+	ld [%g7 + MULTIPLE_THREADS_OFFSET], %g1;\
+	brnz,pn %g1, 1f;			\
+.type	__##syscall_name##_nocancel,@function;	\
+.globl	__##syscall_name##_nocancel;		\
+__##syscall_name##_nocancel:			\
+	 mov SYS_ify(syscall_name), %g1;	\
+	ta 0x6d;				\
+	bcc,pt %xcc, 8f;			\
+	 mov %o7, %g1;				\
+	call __syscall_error;			\
+	 mov %g1, %o7;				\
+8:	jmpl %o7 + 8, %g0;			\
+	 nop;					\
+.size	__##syscall_name##_nocancel,.-__##syscall_name##_nocancel;\
+1:	save %sp, -192, %sp;			\
+	cfi_def_cfa_register(%fp);		\
+	cfi_window_save;			\
+	cfi_register(%o7, %i7);			\
+	CENABLE;				\
+	 nop;					\
+	mov %o0, %l0;				\
+	COPY_ARGS_##args			\
+	mov SYS_ify(syscall_name), %g1;		\
+	ta 0x6d;				\
+	bcc,pt %xcc, 1f;			\
+	 mov %o0, %l1;				\
+	CDISABLE;				\
+	 mov %l0, %o0;				\
+	call __syscall_error;			\
+	 mov %l1, %o0;				\
+	ba,pt %xcc, 2f;				\
+	 mov -1, %l1;				\
+1:	CDISABLE;				\
+	 mov %l0, %o0;				\
+2:	jmpl %i7 + 8, %g0;			\
+	 restore %g0, %l1, %o0;
+
+# if IS_IN (libpthread)
+#  define CENABLE	call __pthread_enable_asynccancel
+#  define CDISABLE	call __pthread_disable_asynccancel
+# elif IS_IN (libc)
+#  define CENABLE	call __libc_enable_asynccancel
+#  define CDISABLE	call __libc_disable_asynccancel
+# elif IS_IN (librt)
+#  define CENABLE	call __librt_enable_asynccancel
+#  define CDISABLE	call __librt_disable_asynccancel
+# else
+#  error Unsupported library
+# endif
+
+#define COPY_ARGS_0	/* Nothing */
+#define COPY_ARGS_1	COPY_ARGS_0 mov %i0, %o0;
+#define COPY_ARGS_2	COPY_ARGS_1 mov %i1, %o1;
+#define COPY_ARGS_3	COPY_ARGS_2 mov %i2, %o2;
+#define COPY_ARGS_4	COPY_ARGS_3 mov %i3, %o3;
+#define COPY_ARGS_5	COPY_ARGS_4 mov %i4, %o4;
+#define COPY_ARGS_6	COPY_ARGS_5 mov %i5, %o5;
+
+# ifndef __ASSEMBLER__
+#  define SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,				      \
+				   header.multiple_threads) == 0, 1)
+# else
+#  define SINGLE_THREAD_P ld [%g7 + MULTIPLE_THREADS_OFFSET], %g1
+# endif
+
+#elif !defined __ASSEMBLER__
+
+# define SINGLE_THREAD_P (1)
+# define NO_CANCELLATION 1
+
+#endif
+
+#ifndef __ASSEMBLER__
+# define RTLD_SINGLE_THREAD_P \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF, \
+				   header.multiple_threads) == 0, 1)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
new file mode 100644
index 0000000000..ea6bf5146a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
@@ -0,0 +1,162 @@
+/* Copyright (C) 1997-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Richard Henderson <richard@gnu.ai.mit.edu>, 1997.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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_SPARC64_SYSDEP_H
+#define _LINUX_SPARC64_SYSDEP_H 1
+
+#include <sysdeps/unix/sysv/linux/sparc/sysdep.h>
+
+#if IS_IN (rtld)
+# include <dl-sysdep.h>		/* Defines RTLD_PRIVATE_ERRNO.  */
+#endif
+#include <tls.h>
+
+#undef SYS_ify
+#define SYS_ify(syscall_name) __NR_##syscall_name
+
+/* This is a kludge to make syscalls.list find these under the names
+   pread and pwrite, since some kernel headers define those names
+   and some define the *64 names for the same system calls.  */
+#if !defined __NR_pread && defined __NR_pread64
+# define __NR_pread __NR_pread64
+#endif
+#if !defined __NR_pwrite && defined __NR_pwrite64
+# define __NR_pwrite __NR_pwrite64
+#endif
+
+#ifdef __ASSEMBLER__
+
+#define LOADSYSCALL(x) mov __NR_##x, %g1
+
+#undef PSEUDO
+#define PSEUDO(name, syscall_name, args)	\
+	.text;					\
+ENTRY(name);					\
+	LOADSYSCALL(syscall_name);		\
+	ta		0x6d;			\
+	bcc,pt		%xcc, 1f;		\
+	 nop;					\
+	SYSCALL_ERROR_HANDLER			\
+1:
+
+#undef PSEUDO_NOERRNO
+#define	PSEUDO_NOERRNO(name, syscall_name, args)\
+	.text;					\
+ENTRY(name);					\
+	LOADSYSCALL(syscall_name);		\
+	ta		0x6d;
+
+#undef PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args) \
+	.text;					\
+ENTRY(name);					\
+	LOADSYSCALL(syscall_name);		\
+	ta		0x6d;
+
+#undef PSEUDO_END
+#define PSEUDO_END(name)			\
+	END(name)
+
+#ifndef PIC
+# define SYSCALL_ERROR_HANDLER			\
+	mov	%o7, %g1;			\
+	call	__syscall_error;		\
+	 mov	%g1, %o7;
+#else
+# if RTLD_PRIVATE_ERRNO
+#  define SYSCALL_ERROR_HANDLER			\
+0:	SETUP_PIC_REG_LEAF(o2,g1)		\
+	sethi	%gdop_hix22(rtld_errno), %g1;	\
+	xor	%g1, %gdop_lox10(rtld_errno), %g1;\
+	ldx	[%o2 + %g1], %g1, %gdop(rtld_errno); \
+	st	%o0, [%g1];			\
+	jmp	%o7 + 8;			\
+	 mov	-1, %o0;
+# elif defined _LIBC_REENTRANT
+
+#  if IS_IN (libc)
+#   define SYSCALL_ERROR_ERRNO __libc_errno
+#  else
+#   define SYSCALL_ERROR_ERRNO errno
+#  endif
+#  define SYSCALL_ERROR_HANDLER					\
+0:	SETUP_PIC_REG_LEAF(o2,g1)				\
+	sethi	%tie_hi22(SYSCALL_ERROR_ERRNO), %g1;		\
+	add	%g1, %tie_lo10(SYSCALL_ERROR_ERRNO), %g1;	\
+	ldx	[%o2 + %g1], %g1, %tie_ldx(SYSCALL_ERROR_ERRNO);\
+	st	%o0, [%g7 + %g1];				\
+	jmp	%o7 + 8;					\
+	 mov	-1, %o0;
+# else
+#  define SYSCALL_ERROR_HANDLER		\
+0:	SETUP_PIC_REG_LEAF(o2,g1)	\
+	sethi	%gdop_hix22(errno), %g1;\
+	xor	%g1, %gdop_lox10(errno), %g1;\
+	ldx	[%o2 + %g1], %g1, %gdop(errno);\
+	st	%o0, [%g1];		\
+	jmp	%o7 + 8;		\
+	 mov	-1, %o0;
+# endif	/* _LIBC_REENTRANT */
+#endif	/* PIC */
+
+#else  /* __ASSEMBLER__ */
+
+#define __SYSCALL_STRING						\
+	"ta	0x6d;"							\
+	"bcc,pt	%%xcc, 1f;"						\
+	" mov	0, %%g1;"						\
+	"sub	%%g0, %%o0, %%o0;"					\
+	"mov	1, %%g1;"						\
+	"1:"
+
+#define __SYSCALL_CLOBBERS						\
+	"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",			\
+	"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",		\
+	"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",		\
+	"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",		\
+	"f32", "f34", "f36", "f38", "f40", "f42", "f44", "f46",		\
+	"f48", "f50", "f52", "f54", "f56", "f58", "f60", "f62",		\
+	"cc", "memory"
+
+#endif	/* __ASSEMBLER__ */
+
+/* This is the offset from the %sp to the backing store above the
+   register windows.  So if you poke stack memory directly you add this.  */
+#define STACK_BIAS	2047
+
+/* Pointer mangling support.  */
+#if IS_IN (rtld)
+/* We cannot use the thread descriptor because in ld.so we use setjmp
+   earlier than the descriptor is initialized.  */
+#else
+# ifdef __ASSEMBLER__
+#  define PTR_MANGLE(dreg, reg, tmpreg) \
+  ldx	[%g7 + POINTER_GUARD], tmpreg; \
+  xor	reg, tmpreg, dreg
+#  define PTR_DEMANGLE(dreg, reg, tmpreg) PTR_MANGLE (dreg, reg, tmpreg)
+#  define PTR_MANGLE2(dreg, reg, tmpreg) \
+  xor	reg, tmpreg, dreg
+#  define PTR_DEMANGLE2(dreg, reg, tmpreg) PTR_MANGLE2 (dreg, reg, tmpreg)
+# else
+#  define PTR_MANGLE(var) \
+  (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())
+#  define PTR_DEMANGLE(var)     PTR_MANGLE (var)
+# endif
+#endif
+
+#endif /* linux/sparc64/sysdep.h */
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/time.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/time.c
new file mode 100644
index 0000000000..509b580c55
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/time.c
@@ -0,0 +1 @@
+#include <sysdeps/posix/time.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
new file mode 100644
index 0000000000..d307135003
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/x86_64/timer_create.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
new file mode 100644
index 0000000000..2dd94f5c7a
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/x86_64/timer_delete.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
new file mode 100644
index 0000000000..22eaff5cda
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/x86_64/timer_getoverr.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
new file mode 100644
index 0000000000..cea524bae5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/x86_64/timer_gettime.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
new file mode 100644
index 0000000000..fa231149d5
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/x86_64/timer_settime.c>
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h
new file mode 100644
index 0000000000..bd6599ed02
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/ucontext_i.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2001-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+     Contributed by Jakub Jelinek <jakub@redhat.com>.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+/* Constants shared between setcontext() and getcontext().  Don't
+   install this header file.  */
+
+#define UC_LINK		0
+#define __UC_SIGMASK	16
+#define UC_M_PC		40
+#define UC_M_NPC	48
+#define UC_SIGMASK	536
+#define SIGMASK_WORDS	16
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S
new file mode 100644
index 0000000000..5ff1cca898
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S
@@ -0,0 +1,41 @@
+/* Copyright (C) 2004-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have 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 <tcb-offsets.h>
+
+	.text
+	.globl	__syscall_error
+ENTRY(__libc_vfork)
+	LOADSYSCALL(vfork)
+	ta	0x6d
+	bcc,pt	%xcc, 2f
+	 mov	%o7, %g1
+	call	__syscall_error
+	 mov	%g1, %o7
+2:	sub	%o1, 1, %o1
+	andcc	%o0, %o1, %o0
+1:	retl
+	 nop
+END(__libc_vfork)
+
+#if IS_IN (libc)
+weak_alias (__libc_vfork, vfork)
+strong_alias (__libc_vfork, __vfork)
+libc_hidden_def (__vfork)
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
new file mode 100644
index 0000000000..45178d106d
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/wordexp.c
@@ -0,0 +1,59 @@
+/* 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 <shlib-compat.h>
+
+/* For Linux/Alpha we have to make the wordexp symbols versioned.  */
+#define wordexp(words, pwordexp, flags) \
+  __new_wordexp (words, pwordexp, flags)
+
+#include <posix/wordexp.c>
+
+versioned_symbol (libc, __new_wordexp, wordexp, GLIBC_2_2_2);
+
+
+#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2_2)
+/* The old, incorrect wordexp_t definition.  */
+typedef struct
+  {
+    int we_wordc;              /* Count of words matched.  */
+    char **we_wordv;           /* List of expanded words.  */
+    int we_offs;               /* Slots to reserve in `we_wordv'.  */
+  } old_wordexp_t;
+
+
+int
+attribute_compat_text_section
+__old_wordexp (const char *words, old_wordexp_t *pwordexp, int flags)
+{
+  wordexp_t we;
+  int result;
+
+  we.we_wordc = pwordexp->we_wordc;
+  we.we_wordv = pwordexp->we_wordv;
+  we.we_offs = pwordexp->we_offs;
+
+  result = __new_wordexp (words, &we, flags);
+
+  pwordexp->we_wordc = we.we_wordc;
+  pwordexp->we_wordv = we.we_wordv;
+  pwordexp->we_offs = we.we_offs;
+
+  return result;
+}
+compat_symbol (libc, __old_wordexp, wordexp, GLIBC_2_1);
+#endif
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c
new file mode 100644
index 0000000000..c3b00cb1d4
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstat.c
@@ -0,0 +1 @@
+#include "../../i386/xstat.c"
diff --git a/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c
new file mode 100644
index 0000000000..8bc62b815c
--- /dev/null
+++ b/REORG.TODO/sysdeps/unix/sysv/linux/sparc/sparc64/xstatconv.c
@@ -0,0 +1,124 @@
+/* Convert between the kernel's `struct stat' format, and libc's.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <kernel_stat.h>
+#include <string.h>
+
+int
+__xstat_conv (int vers, struct kernel_stat *kbuf, void *ubuf)
+{
+  switch (vers)
+    {
+    case _STAT_VER_KERNEL:
+      /* Nothing to do.  The struct is in the form the kernel expects.
+         We should have short-circuted before we got here, but for
+         completeness... */
+      *(struct kernel_stat *) ubuf = *kbuf;
+      break;
+
+    case _STAT_VER_LINUX:
+      {
+	struct stat *buf = ubuf;
+
+	/* Convert to current kernel version of `struct stat'.  */
+	buf->st_dev = kbuf->st_dev;
+	buf->__pad1 = 0;
+	buf->st_ino = kbuf->st_ino;
+	buf->st_mode = kbuf->st_mode;
+	buf->st_nlink = kbuf->st_nlink;
+	buf->st_uid = kbuf->st_uid;
+	buf->st_gid = kbuf->st_gid;
+	buf->st_rdev = kbuf->st_rdev;
+	buf->__pad2 = 0;
+	buf->st_size = kbuf->st_size;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+	buf->st_atim.tv_sec = kbuf->st_atime_sec;
+	buf->st_atim.tv_nsec = 0;
+	buf->st_mtim.tv_sec = kbuf->st_mtime_sec;
+	buf->st_mtim.tv_nsec = 0;
+	buf->st_ctim.tv_sec = kbuf->st_ctime_sec;
+	buf->st_ctim.tv_nsec = 0;
+	buf->__glibc_reserved4 = 0;
+	buf->__glibc_reserved5 = 0;
+      }
+      break;
+
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}
+
+int
+__xstat32_conv (int vers, struct stat64 *sbuf, struct stat *buf)
+{
+  struct kernel_stat64 *kbuf;
+
+  /* *stat64 syscalls on sparc64 really fill in struct kernel_stat64,
+     rather than struct stat64.  But it is the same size as
+     struct kernel_stat64, so use this hack so that we can reuse
+     i386 {,f,l}xstat{,at}.c routines.  */
+  __asm ("" : "=r" (kbuf) : "0" (sbuf));
+  assert (sizeof (struct stat) == sizeof (struct stat64));
+  assert (sizeof (struct stat64) >= sizeof (struct kernel_stat64));
+
+  switch (vers)
+    {
+    case _STAT_VER_LINUX:
+      {
+	/* Convert current kernel version of `struct stat64' to
+           `struct stat'.  */
+	buf->st_dev = kbuf->st_dev;
+	buf->__pad1 = 0;
+	buf->st_ino = kbuf->st_ino;
+	buf->st_mode = kbuf->st_mode;
+	buf->st_nlink = kbuf->st_nlink;
+	buf->st_uid = kbuf->st_uid;
+	buf->st_gid = kbuf->st_gid;
+	buf->st_rdev = kbuf->st_rdev;
+	buf->__pad2 = 0;
+	buf->st_size = kbuf->st_size;
+	buf->st_blksize = kbuf->st_blksize;
+	buf->st_blocks = kbuf->st_blocks;
+	buf->st_atim.tv_sec = kbuf->st_atime_sec;
+	buf->st_atim.tv_nsec = kbuf->st_atime_nsec;
+	buf->st_mtim.tv_sec = kbuf->st_mtime_sec;
+	buf->st_mtim.tv_nsec = kbuf->st_mtime_nsec;
+	buf->st_ctim.tv_sec = kbuf->st_ctime_sec;
+	buf->st_ctim.tv_nsec = kbuf->st_ctime_nsec;
+	buf->__glibc_reserved4 = 0;
+	buf->__glibc_reserved5 = 0;
+      }
+      break;
+
+      /* If struct stat64 is different from struct stat then
+	 _STAT_VER_KERNEL does not make sense.  */
+    case _STAT_VER_KERNEL:
+    default:
+      __set_errno (EINVAL);
+      return -1;
+    }
+
+  return 0;
+}